diff --git a/ChangeLog b/ChangeLog
index 4b624f5..c058c1e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,17 +1,478 @@
-=== release 1.8.2 ===
+=== release 1.9.1 ===
 
-2016-06-09  Sebastian Dröge <slomo@coaxion.net>
+2016-07-06  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.8.2
+	  releasing 1.9.1
 
-2016-06-09 10:05:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+2016-07-06 10:18:00 +0300  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
 
+2016-06-30 16:36:27 +0200  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Take stream lock one time only on drain
+	  When the drain is triggered from the chain function the lock is already
+	  taken so there is no need to take it one more time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767641
+
+2016-07-04 11:16:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: fix criticals fixating a non existent field
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766970
+
+2016-07-04 11:12:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: Protect samples_in/bytes_out and audio info with object lock
+	  It might cause invalid calculations during the CONVERT query otherwise.
+
+2016-07-04 11:07:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	  audioencoder: Protect samples_in/bytes_out and audio info with object lock
+	  It might cause invalid calculations during the CONVERT query otherwise.
+
+2016-07-04 11:00:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	* gst-libs/gst/audio/gstaudioutilsprivate.c:
+	* gst-libs/gst/audio/gstaudioutilsprivate.h:
+	  audioencoder/decoder: Move encoded audio conversion function to a common place
+	  No need to duplicate this non-trivial function.
+
+2016-07-04 09:15:03 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: fix criticals fixating a non existent field
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766970
+
+2016-07-04 10:55:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Use the object lock to protect bytes/time tracking
+	  And especially don't use the stream lock for that, as otherwise non-serialized
+	  queries (CONVERT) will cause the stream lock to be taken and easily causes the
+	  application to deadlock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768361
+
+2016-07-04 10:52:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder: Use the object lock to protect bytes/time tracking
+
+2016-07-04 10:47:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	* gst-libs/gst/video/gstvideoutilsprivate.c:
+	* gst-libs/gst/video/gstvideoutilsprivate.h:
+	  videoencoder/decoder: Move conversion utility functions to a common header and use consistently in encoder/decoder
+
+2016-03-17 00:19:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/app/gstappsrc.c:
+	  appsrc: If do-timestamp=TRUE, capture the time when the buffer was pushed to the source
+	  ... instead of the time when it was pushed further downstream.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763630
+
+2016-04-29 00:59:42 -0700  Zaheer Abbas Merali <zaheermerali@gmail.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  basertpdepayload: create valid segment when given non-time segment
+	  This will become an error in 1.10.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765796
+
+2016-06-30 18:53:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: fix handling of very short files in push mode
+	  By default we'll wait for a certain amount of data before
+	  attempting typefinding. However, if the stream is fairly
+	  short, we might get EOS before we ever attempted any
+	  typefinding, so at this point we should force typefinding
+	  and output any pending data if we manage to detect the
+	  type.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=768178
+
+2016-06-30 17:30:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: fix erroring out if we reach EOS without detecting type
+	  In 0.10 the source pad was a dynamic pad that was only added once
+	  the type had been detected, but in 1.x it's an always source pad,
+	  so checking whether it's still NULL won't work to detect if the
+	  type has been detected.
+	  Makes tagdemux error out when we get EOS but haven't managed to
+	  identify the format of the data after the tag.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=768178
+
+2016-06-30 17:26:56 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/playback/gstparsebin.c:
+	  parsebin: Fix authors and description
+
+2016-06-30 17:26:14 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/playback/Makefile.am:
+	* gst/playback/gstplayback.c:
+	* gst/playback/gstplayback.h:
+	* gst/playback/gsturidecodebin3.c:
+	  playback: Remove uridecodebin3
+	  This was committed by mistake. The solution forward is to use the
+	  appropriate combination of urisourcebin and decodebin3
+
+2016-06-29 18:14:51 +0200  Edward Hervey <edward@centricular.com>
+
+	* configure.ac:
+	* gst/playback/Makefile.am:
+	* gst/playback/gstdecodebin3-parse.c:
+	* gst/playback/gstdecodebin3.c:
+	* gst/playback/gstparsebin.c:
+	* gst/playback/gstplayback.c:
+	* gst/playback/gstplayback.h:
+	* gst/playback/gstplaybin3.c:
+	* gst/playback/gsturidecodebin3.c:
+	* gst/playback/gsturisourcebin.c:
+	* tests/examples/Makefile.am:
+	* tests/examples/decodebin_next/.gitignore:
+	* tests/examples/decodebin_next/Makefile.am:
+	* tests/examples/decodebin_next/decodebin3.c:
+	* tests/examples/decodebin_next/playbin-test.c:
+	  playback: New elements
+	  With contributions from Jan Schmidt <jan@centricular.com>
+	  * decodebin3 and playbin3 have the same purpose as the decodebin and
+	  playbin elements, except make usage of more 1.x features and the new
+	  GstStream API. This allows them to be more memory/cpu efficient.
+	  * parsebin is a new element that demuxers/depayloads/parses an incoming
+	  stream and exposes elementary streams. It is used by decodebin3.
+	  It also automatically creates GstStream and GstStreamCollection for
+	  elements that don't natively create them and sends the corresponding
+	  events and messages
+	  * Any application using playbin can use playbin3 by setting the env
+	  variable USE_PLAYBIN3=1 without reconfiguration/recompilation.
+
+2016-06-29 18:14:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/audio-channels.c:
+	* gst/audioconvert/gstaudioconvert.c:
+	  audioconvert: Handle fallback channel mask for mono correctly
+	  It's 0 and no mask should be set for mono at all.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=757472
+
+2016-06-27 20:53:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Don't send another step event to the audio-sink if we got step-done from there
+	  Otherwise we would end up with a deadlock as the audio-sink emits step-done
+	  from its streaming thread.
+
+2016-06-27 20:49:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Force STEP events on the video-sink for GST_FORMAT_BUFFERS
+	  It does not make much sense for audio sinks.
+
+2016-06-24 01:56:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* configure.ac:
+	  configure: Need to add -DGST_STATIC_COMPILATION when building only statically
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767463
+
+2016-06-23 10:22:35 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: demote an expected error to debug
+	  Dropping a buffer because we have a seek pending is normal,
+	  and will now happen when we trigger a seek while going through
+	  the packets in a page. So this should not be an error.
+
+2016-06-22 16:02:37 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/video-converter.c:
+	* gst-libs/gst/video/video-resampler.c:
+	* gst-libs/gst/video/video-resampler.h:
+	* gst-libs/gst/video/video-scaler.c:
+	  video-converter: fix interlaced scaling some more
+	  Fix problem with the line cache where it would forget the first line in
+	  the cache in some cases.
+	  Keep as much backlog as we have taps. This generally works better and we
+	  could do even better by calculating the overlap in all taps.
+	  Allocated enough lines for the line cache.
+	  Use only half the number of taps for the interlaced lines because we
+	  only have half the number of lines.
+	  The pixel shift should be relative to the new output pixel size so scale
+	  it.
+	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=767921
+
+2016-06-21 14:53:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
+	  plugin-doc: Minor re-order
+
+2016-06-21 14:40:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-base-plugins-sections.txt:
+	* docs/plugins/gst-plugins-base-plugins.signals:
+	* docs/plugins/inspect/plugin-pango.xml:
+	* docs/plugins/inspect/plugin-videoconvert.xml:
+	* docs/plugins/inspect/plugin-videoscale.xml:
+	* docs/plugins/inspect/plugin-videotestsrc.xml:
+	  Automatic update of plugins doc files
+
+2016-06-21 18:04:23 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/discoverer.c:
+	  tests: discoverer: handle missing ogg/codec plugins gracefully
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767859
+
+2016-06-21 11:45:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From ac2f647 to f363b32
+
+2016-06-20 12:42:28 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusdec.c:
+	* ext/opus/gstopusdec.h:
+	  opusdec: handle missing buffers with no duration
+	  If buffer duration is missing, it is parsed from the packet data.
+	  This is not foolproof, since Opus can change durations on the
+	  fly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767826
+
+2016-06-17 15:11:20 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: preserve duration when skipping a tag at the beginning of a buffer
+	  gst_buffer_copy_region() does not copy the duration if it doesn't start
+	  with the first byte. We just skip the tag here, so the duration is still
+	  valid.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767791
+
+2016-06-21 10:24:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/gstdiscoverer.c:
+	* tests/check/libs/discoverer.c:
+	  discoverer: Only allow serializing OK discoverer infos to GVariants
+	  They will be incomplete otherwise and we can't generate the full serialized
+	  information, and instead will crash somewhere on the way.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767859
+
+2016-04-14 14:02:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: fix audio glitches with low bitrate vorbis
+	  A low bitrate stream which can pack more than 2 seconds of audio
+	  in a page would cause the stream's position to be updated not
+	  often enough, and would trigger a spurious "jump" via a GAP
+	  event. Instead, we update the stream position after calculating
+	  the new overall segment position.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764966
+
+2016-06-16 10:55:52 +0100  Mikhail Fludkov <misha@pexip.com>
+
+	* tests/check/elements/opus.c:
+	  opusdec: test for PLC timestamp when FEC is enabled.
+
+2016-04-05 12:41:45 +0200  Mikhail Fludkov <misha@pexip.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* tests/check/libs/audiodecoder.c:
+	  audiodecoder: fix invalid timestamps when PLC and delay
+	  Elements inherited from GstAudioDecoder, supporting PLC and introducing
+	  delay produce invalid timestamps. Good example is opusdec with in-band FEC
+	  enabled. After receiving GAP event it delays the audio concealment until
+	  the next buffer arrives. The next buffer will have DISCONT flag set which
+	  will make GstAudioDecoder to reset it's internal state, thus forgetting
+	  the timestamp of GAP event. As a result the concealed audio will have the
+	  timestamp of the next buffer (with DISCONT flag) but not the timestamp
+	  from the event.
+
+2016-06-11 17:11:30 +0200  Paulo Neves <pneves@airborneprojects.com>
+
+	* gst-libs/gst/tag/gstexiftag.c:
+	* tests/check/libs/tag.c:
+	  exiftag: Increase serialized geo precision
+	  The serialization of double typed geographical
+	  coordinates to DMS system supported by the exif
+	  standards was previously truncated without need.
+	  The previous code truncated the seconds part of
+	  the coordinate to a fraction with denominator
+	  equal to 1 causing a bug on the deserialization
+	  when the test for the coordinate to be serialized
+	  was more precise.
+	  This patch applies a 10E6 multiplier to the numerator
+	  equal to the denominator of the rational number.
+	  Eg. Latitude = 89.5688643 Serialization
+	  DMS Old code = 89/1 deg, 34/1 min, 7/1 sec
+	  DMS New code = 89/1 deg, 34/1 min, 79114800UL/10000000UL
+	  Deserialization
+	  DMS Old code = 89.5686111111
+	  DMS New code = 89.5688643
+	  The new test tries to serialize a higher precision
+	  coordinate.
+	  The types of the coordinates are also guint32 instead
+	  of gint like previously. guint32 is the type of the
+	  fraction components in the exif.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767537
+
+2016-06-10 22:36:32 -0400  Thomas Jones <thomas.jones@utoronto.ca>
+
+	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
+	  audiovisualizer: Fix calculations for bytes<->samples conversions
+	  Use bpf instead of channels * sizeof(gint16).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767505
+
+2016-06-10 14:04:36 -0400  Thomas Jones <thomas.jones@utoronto.ca>
+
+	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
+	  audiovisualizer: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767506
+
+2016-06-10 22:50:41 -0400  Thomas Jones <thomas.jones@utoronto.ca>
+
+	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
+	  audiovisualizer: fix timestamp calculation for audio channels > 1
+	  We have to use bps*channels instead of just bps, which is exactly what bpf is for.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767507
+
+2015-04-09 19:09:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: handle buffer's flags at offset
+	  For reverse playback it is important to handle correctly the frame sync
+	  points, which is set when the input buffer doesn't have the DELTA_UNIT flag.
+	  This is handled correctly when decoder is packetized, but when it is not the
+	  frame's sync point is not copied, and the reverse playback never decodes frame
+	  batches.
+	  The current patch adds the buffer's flags to the Timestamp list, where the
+	  timestamp and duration of the input buffers are hold.
+
+2015-04-09 19:18:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: squash two message logs into one
+	  There were two consecutive log messages in gst_video_decoder_decode_frame().
+	  Given the information they provide, it is more efficient to squash them into a
+	  single one.
+
+2015-04-09 19:16:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: playback rate is in input_segment
+	  The playback rate is hold in the input_segment member variable, not in the
+	  output_segment, and the parse_gather list was never filled because of that.
+	  This patch changes the comparison with input_segment.
+
+2016-06-09 19:02:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Use input segment rate instead of output segment rate to decide whether the drain on keyframes
+	  The output segment is only set up after data is output, which might be far in
+	  the future for reverse playback. Also we are here interested in the state at
+	  the current *input* frame (which is the keyframe), not any possible output.
+
+2016-06-09 18:53:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Only drain in KEY_UNITS trick mode after a keyframe in forwards playback mode
+	  For reverse playback the same behaviour was already implemented in
+	  flush_parse().
+	  For reverse playback, chain_forward() is only used to gather frames and not
+	  for decoding, and it is actually called by the draining logic, causing an
+	  infinite recursion.
+
+2016-06-07 09:48:35 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Don't push late frames
+	  While it's a bit tricky to discard frames *before* decoding (because
+	  we might not be sure which data is needed or not by the decoder), we
+	  can discard them after decoding if they are too late anyway.
+	  Any following basetransform based element or similar would drop the frame too.
+
+2016-06-07 10:31:59 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Avoid recursive drain/flush calls
+	  _chain_forward() can also be called with reverse playback. Blindly
+	  calling drain_out() on DISCONT buffers would end up in a recursive
+	  call.
+
+2016-06-04 09:51:17 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Drain out keyframes in TRICK_MODE_KEY_UNITS
+	  When asked to just decode keyframe, if we got a keyframe drain out
+	  the decoder straight away.
+	  This avoids having to wait for the next frame and reduces delay even
+	  more.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767232
+
+2016-06-04 09:49:00 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Drain decoder on DISCONT buffers
+	  This ensures the decoder is properly drained out when receiving a
+	  DISCONT buffer. The optimal way of doing this would have been to
+	  receive a GAP event before hand but it is not always possible.
+	  Fixes big delays with some decoders (ex gst-libav) that will not
+	  drain out data when only decoding keyframes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767232
+
+2016-06-01 11:02:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: preserve timestamp when skipping a tag at the beginning of a buffer
+	  gst_buffer_copy_region() does not copy the timestamp if it doesn't start
+	  with the first byte. We just skip the tag here, so the timestamp is still
+	  valid.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767173
+
 2016-05-10 13:56:13 +0200  Stian Selnes <stian@pexip.com>
 
 	* gst-libs/gst/video/video-color.c:
@@ -21,6 +482,100 @@
 	  actual table causing IS_UNKNOWN() to sometimes fail.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=767163
 
+2016-06-02 13:07:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/opus/gstopusenc.c:
+	* gst/playback/gstsubtitleoverlay.c:
+	  opusenc, subtitleoverlay: use MAY_BE_LEAKED flag
+	  Flag caps that are cached locally and will never be freed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767155
+
+2016-06-01 16:56:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: Create a new decode element with the parser/convert capsfilter if there is a multiqueue after the parser
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767102
+
+2016-05-23 15:11:53 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Make sure the DISCONT flag is set on the outgoing buffer
+	  The base class was setting the DISCONT flag before checking whether the buffer
+	  would be in segment or not.
+	  Fix issues with DISCONT flags not being properly propagated downstream when
+	  decoders buffers were out of segment.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766800
+
+2016-06-01 15:31:52 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>
+
+	* docs/design/part-mediatype-video-raw.txt:
+	  docs: design: add IYU2 raw video format description
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763026
+
+2016-06-01 12:36:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/pango/gstbasetextoverlay.c:
+	  textoverlay: enable shaded background drawing for new IYU2 format
+
+2016-05-30 16:40:26 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>
+
+	* gst-libs/gst/video/video-converter.c:
+	* gst-libs/gst/video/video-format.c:
+	* gst-libs/gst/video/video-format.h:
+	* gst-libs/gst/video/video-info.c:
+	* gst-libs/gst/video/video-scaler.c:
+	* tests/check/libs/video.c:
+	  video: add IYU2 format
+	  This existed in 0.10 and is needed by dc1394src.
+	  IYU2 format is a YUV fully-sampled packed format similar to v308
+	  but with different component order (U-Y-V instead of Y-U-V).
+	  http://www.fourcc.org/yuv.php#IYU2
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763026#c5
+
+2016-03-17 23:47:48 +0530  Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
+
+	* ext/libvisual/visual.c:
+	  libvisual: Factor out endian-order RGB formats
+	  MSVC seems to ignore preprocessor conditionals inside static
+	  pad templates. Also remove unnecessary quotes inside caps strings.
+
+2016-05-24 00:44:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/allocators/Makefile.am:
+	* gst-libs/gst/app/Makefile.am:
+	* gst-libs/gst/audio/Makefile.am:
+	* gst-libs/gst/fft/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/sdp/Makefile.am:
+	* gst-libs/gst/tag/Makefile.am:
+	* gst-libs/gst/video/Makefile.am:
+	  g-i: pass compiler env to g-ir-scanner
+	  It's what introspection.mak does as well. Should
+	  fix spurious build failures on gnome-continuous.
+
+2016-05-23 19:28:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	* ext/opus/gstopusenc.c:
+	  opus: use default error messages in some more cases
+
+2016-05-23 15:35:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: use default error message strings in more cases
+	  Details should go into the debug message. We should probably
+	  make up new codes for encoder/decoder lib init failures too.
+
+2016-05-19 12:26:05 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* ext/opus/gstopusdec.c:
+	* ext/opus/gstopusenc.c:
+	  opus: Post error message on GST_FLOW_ERROR
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766265
+
 2016-05-14 14:41:28 +0200  Olivier Crête <olivier.crete@collabora.com>
 
 	* ext/opus/gstopusdec.c:
@@ -49,37 +604,168 @@
 	  Fix a leak with the 'test_suburi_error_wrongproto' test.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=766515
 
+2016-05-16 09:52:35 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/playbin.c:
+	  tests: playbin: add test for new "element-setup" signal
+	  https://bugzilla.gnome.org/show_bug.cgi?id=578933
+
+2016-05-14 11:28:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/playback/gstplaybin2.c:
+	  playbin: add "element-setup" signal
+	  Allows configuration of plugged elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=578933
+
+2016-05-15 14:43:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	* gst-libs/gst/app/.gitignore:
+	* gst-libs/gst/app/gstapp-marshal.list:
+	  app: remove marshaller files from git
+
+2016-05-15 14:37:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/app/Makefile.am:
+	* gst-libs/gst/app/gstappsink.c:
+	* gst-libs/gst/app/gstappsrc.c:
+	  app: use generic marshallers
+
+2016-05-15 12:01:17 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: Reset keyframe_granule when needed
+	  This avoids ending up with bogus values when doing flushing seeks
+	  in push-mode.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766467
+
+2016-05-15 13:31:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* docs/plugins/gst-plugins-base-plugins.args:
+	* docs/plugins/inspect/plugin-adder.xml:
+	* docs/plugins/inspect/plugin-alsa.xml:
+	* docs/plugins/inspect/plugin-app.xml:
+	* docs/plugins/inspect/plugin-audioconvert.xml:
+	* docs/plugins/inspect/plugin-audiorate.xml:
+	* docs/plugins/inspect/plugin-audioresample.xml:
+	* docs/plugins/inspect/plugin-audiotestsrc.xml:
+	* docs/plugins/inspect/plugin-cdparanoia.xml:
+	* docs/plugins/inspect/plugin-encoding.xml:
+	* docs/plugins/inspect/plugin-gio.xml:
+	* docs/plugins/inspect/plugin-libvisual.xml:
+	* docs/plugins/inspect/plugin-ogg.xml:
+	* docs/plugins/inspect/plugin-opus.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:
+	  docs: Update for git master
+
+2016-05-14 15:43:24 +0300  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
+	  video/affinetransformationmeta: define the coordinate space used
+	  Based on the expected output from the already existing usage by androidmedia
+	  and the opengl plugins.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764667
+
+2015-12-17 19:38:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/pbutils/descriptions.c:
+	  pbutils: add description for WebVTT
+
+2015-09-30 17:55:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/playsink.c:
+	  tests: playsink: add minimal test for playsink element
+	  Attempt to reproduce leak.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=755867
+
+2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/vorbistag.c:
+	  vorbistag: fix buffer leaks in tests
+	  It internally uses gst_check_chain_func() so we
+	  should call gst_check_drop_buffers() when tearing down tests to free
+	  the buffers which have been exchanged through the pipeline.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766226
+
+2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/appsrc.c:
+	  appsrc: fix buffer leaks in tests
+	  It internally uses gst_check_chain_func() so we
+	  should call gst_check_drop_buffers() when tearing down tests to free
+	  the buffers which have been exchanged through the pipeline.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766226
+
+2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/audiorate.c:
+	  audiorate: fix buffer leaks in tests
+	  It internally uses gst_check_chain_func() so we
+	  should call gst_check_drop_buffers() when tearing down tests to free
+	  the buffers which have been exchanged through the pipeline.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766226
+
 2016-05-10 21:34:53 +0900  Hyunjun Ko <zzoon@igalia.com>
 
 	* gst-libs/gst/sdp/gstsdpmessage.c:
 	  sdp: parse sdp attributes in case that sdp message doesn't contain mikey message
 	  https://bugzilla.gnome.org/show_bug.cgi?id=766204
 
-2016-04-29 11:06:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+2016-05-10 16:44:04 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	* gst-libs/gst/pbutils/encoding-profile.c:
-	  encoding-profile: Fix caps memory leak
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/app/gstappsrc.c:
+	* gst-libs/gst/app/gstappsrc.h:
+	* win32/common/libgstapp.def:
+	  appsrc: Add duration property for providing a duration in TIME format
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766229
 
-2016-04-28 11:18:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+2016-05-10 10:01:12 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	* gst-libs/gst/pbutils/encoding-profile.c:
-	  encoding-profile: Fail to create encoding profile from discoverer info if no streams could be added
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765708
+	* gst-libs/gst/video/gstvideodecoder.h:
+	* gst-libs/gst/video/gstvideoencoder.h:
+	  videodecoder/encoder: Correct GST_IS_*CODER_CLASS macros
+	  They are currently not used, but would result in a compiler error due to wrong
+	  variable name usage.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766203
 
-2016-04-28 11:21:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+2016-05-05 13:16:57 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	* gst-libs/gst/pbutils/encoding-profile.c:
-	  encoding-profile: Recurse into nested container profiles and only add the final audio/video streams
-	  If we e.g. have AVI with DV container with video/audio inside the DV
-	  container, we can't handle this at this point with an encoding profile.
-	  Instead of erroring out, flatten the container hierarchy.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765708
+	* gst/tcp/gstmultihandlesink.c:
+	  multihandlesink: Warn if trying to change the state from the streaming thread
+	  Instead of silently returning GST_STATE_CHANGE_FAILURE.
 
-2016-04-28 11:15:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+2016-05-04 11:33:50 +1000  Alessandro Decina <alessandro.d@gmail.com>
 
-	* gst-libs/gst/pbutils/encoding-profile.c:
-	  encoding-profile: Move adding of each stream to a helper function
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765708
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: an element can negotiate before we block it
+	  When we initialize an element in decodebin, we 1) set it to PAUSED and
+	  push sticky events on its sinkpad to trigger negotiation 2) block its
+	  src pad(s) to detect CAPS events. We can't block before 1) as that
+	  would lead to a deadlock.
+	  It's possible (and common) tho that an element configures its srcpad
+	  during 1) and before 2). Therefore before this change we would
+	  typically block and expose an element's pad only once the element
+	  output its first buffer, triggering sticky events to be resent. One
+	  consequence of this behaviour is that it sometimes broke
+	  renegotiation.
+	  With this change now we consider a pad ready to be exposed when it's
+	  ->blocked or has fixed caps (which were set before we could block it).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765456
 
 2016-05-02 14:21:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
@@ -118,6 +804,52 @@
 	* tests/check/elements/opus.c:
 	  tests: opus: remove apparently useless macro in tests
 
+2016-04-29 11:06:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/encoding-profile.c:
+	  encoding-profile: Fix caps memory leak
+
+2016-04-28 11:21:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/encoding-profile.c:
+	  encoding-profile: Recurse into nested container profiles and only add the final audio/video streams
+	  If we e.g. have AVI with DV container with video/audio inside the DV
+	  container, we can't handle this at this point with an encoding profile.
+	  Instead of erroring out, flatten the container hierarchy.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765708
+
+2016-04-28 11:18:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/encoding-profile.c:
+	  encoding-profile: Fail to create encoding profile from discoverer info if no streams could be added
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765708
+
+2016-04-28 11:15:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/encoding-profile.c:
+	  encoding-profile: Move adding of each stream to a helper function
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765708
+
+2015-08-21 10:40:33 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* gst-libs/gst/tag/gstexiftag.c:
+	* tests/check/libs/tag.c:
+	  exiftag: handle GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag
+	  This tag match the EXIF_TAG_FOCAL_LENGTH_IN_35_MM_FILM exif tag and is
+	  stored on a short. Hence there is a precision loss compared to the
+	  GstTag which is a double value.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753930
+
+2015-08-21 10:39:36 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* gst-libs/gst/tag/tag.h:
+	* gst-libs/gst/tag/tags.c:
+	  tag: add GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag
+	  It is the 35 mm equivalent focal length of the lens, mainly used in
+	  photography. Tag value is stored in a double value to be consistent with
+	  GST_TAG_CAPTURING_FOCAL_LENGTH.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753930
+
 2016-04-28 09:59:25 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
 
 	* ext/opus/gstopusdec.c:
@@ -125,6 +857,29 @@
 	  The caps returned by gst_pad_get_allowed_caps() was leaked.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=765706
 
+2016-04-27 18:08:46 +0900  Kipp Cannon <kipp.cannon@ligo.org>
+
+	* gst-libs/gst/audio/audio.c:
+	* gst-libs/gst/audio/audio.h:
+	  audio: Add const to segment parameter of gst_audio_buffer_clip()
+	  e.g., allows this to be used with the reference retrieved by
+	  gst_event_parse_segment().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765663
+
+2016-04-21 08:45:40 +0200  Jakub Adam <jakub.adam@ktknet.cz>
+
+	* sys/ximage/ximagesink.c:
+	  ximagesink: generate reconfigure on window handle change
+	  When ximagesink is given a new window handle, it should check
+	  its geometry and if the size of the new window differs from
+	  the previous one, create reconfigure event in order to get
+	  a chance to negotiate a more suitable image resolution with
+	  the upstream elements.
+	  We can't rely on receiving Expose or ConfigureNotify from
+	  the X server for the newly assigned window, which would also
+	  generate reconfigure.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765424
+
 2016-04-25 17:16:04 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* gst/encoding/gstsmartencoder.c:
@@ -133,13 +888,6 @@
 	  event before EOS
 	  https://bugzilla.gnome.org/show_bug.cgi?id=765541
 
-2016-04-25 16:47:00 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst-libs/gst/pbutils/codec-utils.c:
-	  codec-utils: H264 level idc 0 is not valid
-	  Don't put level=0 into the caps, it confuses other elements.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765538
-
 2016-04-25 16:48:36 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* gst-libs/gst/pbutils/codec-utils.c:
@@ -147,6 +895,13 @@
 	  Don't put level=0 into the caps, it confuses other elements.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=765538
 
+2016-04-25 16:47:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/codec-utils.c:
+	  codec-utils: H264 level idc 0 is not valid
+	  Don't put level=0 into the caps, it confuses other elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765538
+
 2016-04-25 16:06:39 +0300  Sebastian Dröge <sebastian@centricular.com>
 
 	* gst-libs/gst/pbutils/encoding-profile.c:
@@ -162,96 +917,15 @@
 	  encoding-profile: Don't put G_BEGIN_DECLS around #include statements
 	  It should only be around our own declarations.
 
-=== release 1.8.1 ===
+2016-04-22 15:07:10 +0200  Wim Taymans <wtaymans@redhat.com>
 
-2016-04-20 18:15:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-adder.xml:
-	* docs/plugins/inspect/plugin-alsa.xml:
-	* docs/plugins/inspect/plugin-app.xml:
-	* docs/plugins/inspect/plugin-audioconvert.xml:
-	* docs/plugins/inspect/plugin-audiorate.xml:
-	* docs/plugins/inspect/plugin-audioresample.xml:
-	* docs/plugins/inspect/plugin-audiotestsrc.xml:
-	* docs/plugins/inspect/plugin-cdparanoia.xml:
-	* docs/plugins/inspect/plugin-encoding.xml:
-	* docs/plugins/inspect/plugin-gio.xml:
-	* docs/plugins/inspect/plugin-libvisual.xml:
-	* docs/plugins/inspect/plugin-ogg.xml:
-	* docs/plugins/inspect/plugin-opus.xml:
-	* docs/plugins/inspect/plugin-pango.xml:
-	* docs/plugins/inspect/plugin-playback.xml:
-	* docs/plugins/inspect/plugin-subparse.xml:
-	* docs/plugins/inspect/plugin-tcp.xml:
-	* docs/plugins/inspect/plugin-theora.xml:
-	* docs/plugins/inspect/plugin-typefindfunctions.xml:
-	* docs/plugins/inspect/plugin-videoconvert.xml:
-	* docs/plugins/inspect/plugin-videorate.xml:
-	* docs/plugins/inspect/plugin-videoscale.xml:
-	* docs/plugins/inspect/plugin-videotestsrc.xml:
-	* docs/plugins/inspect/plugin-volume.xml:
-	* docs/plugins/inspect/plugin-vorbis.xml:
-	* docs/plugins/inspect/plugin-ximagesink.xml:
-	* docs/plugins/inspect/plugin-xvimagesink.xml:
-	* gst-plugins-base.doap:
-	* win32/common/_stdint.h:
-	* win32/common/config.h:
-	  Release 1.8.1
-
-2016-04-20 18:02:22 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.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
-
-2016-04-15 17:48:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstsdp.def:
-	  win32: update .def for new API
-
-2016-04-20 15:30:04 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/da.po:
-	  po: Update translations
+	* gst-libs/gst/video/video-converter.c:
+	* gst-libs/gst/video/video-orc-dist.c:
+	* gst-libs/gst/video/video-orc-dist.h:
+	* gst-libs/gst/video/video-orc.orc:
+	  video-converter: add more fastpaths for I420 -> RGB
+	  Use the I420->BGRA and a new I420->ARGB to speed up any I420 to RGB
+	  operation.
 
 2016-04-19 17:36:20 +0200  Josep Torra <n770galaxy@gmail.com>
 
@@ -260,6 +934,42 @@
 	  sdp: update since markers to 1.8.1 for some new APIs
 	  As we decided to backport some fixes we update the since markers.
 
+2016-04-17 16:21:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/pipelines/vorbisenc.c:
+	  tests: vorbisenc: fix with CK_FORK=no
+
+2016-04-12 16:32:20 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: Always add a multiqueue in single-stream use-buffering pipelines
+	  If we are configured to use buffering and there is no demuxer in the chain, we
+	  still want a multiqueue, otherwise we will ignore the use-buffering property.
+	  In that case, we will insert a multiqueue after the parser or decoder - not
+	  elsewhere, otherwise we won't have timestamps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764948
+
+2016-04-18 17:39:02 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tools/gst-play.c:
+	  gst-play: call gst_deinit()
+	  So we can use gst-play to track memory leaks.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765216
+
+2016-04-15 17:48:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstsdp.def:
+	  win32: update .def for new API
+
+2016-04-16 02:11:59 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioringbuffer.c:
+	  Revert "audioringbuffer: start ringbuffer if needed upon commit"
+	  This reverts commit 13ee94ef1091f8a8a90dbd395b39876c26c5188e.
+	  Causes audio glitches at startup by starting to output segments
+	  from the ringbuffer before it has been filled / fully prerolled.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=657076
+
 2016-04-15 00:18:50 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>
 
 	* gst-libs/gst/sdp/gstsdpmessage.c:
@@ -277,14 +987,19 @@
 	* gst-libs/gst/sdp/gstsdpmessage.c:
 	  mikey: add new function gst_mikey_message_to_caps
 
-2016-04-16 02:11:59 +1000  Jan Schmidt <jan@centricular.com>
+2016-04-15 12:54:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
 
-	* gst-libs/gst/audio/gstaudioringbuffer.c:
-	  Revert "audioringbuffer: start ringbuffer if needed upon commit"
-	  This reverts commit 13ee94ef1091f8a8a90dbd395b39876c26c5188e.
-	  Causes audio glitches at startup by starting to output segments
-	  from the ringbuffer before it has been filled / fully prerolled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657076
+	* gst/subparse/gstsubparse.c:
+	  subparse: fix build with GCC 4.6.3
+	  gstsubparse.c: In function ‘parse_subrip’:
+	  gstsubparse.c:988:7: error: ignoring return value of ‘strtol’, declared with attribute warn_unused_result [-Werror=unused-result]
+	  cc1: all warnings being treated as errors
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765042
+
+2016-04-15 13:08:38 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* tests/icles/.gitignore:
+	  .gitignore: add test-resample binary
 
 2016-04-14 17:26:54 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>
 
@@ -296,6 +1011,112 @@
 	  both are given srtp parametres will be preferred.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=765027
 
+2016-04-14 10:00:06 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* README:
+	* common:
+	  Automatic update of common submodule
+	  From 6f2d209 to ac2f647
+
+2016-04-13 10:07:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideometa.c:
+	* gst-libs/gst/video/video-multiview.c:
+	* gst-libs/gst/video/video-overlay-composition.c:
+	  videometa: Initialize all fields of all metas with default values
+	  The metas are not allocated with all fields initialized to zeroes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764902
+
+2016-04-11 15:28:00 +0000  Arjen Veenhuizen <arjen.veenhuizen@tno.nl>
+
+	* gst-libs/gst/video/gstvideometa.c:
+	  videometa: Explicitly initialize GstVideoCropMeta on init
+	  It is not allocated with all fields initialized to 0.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764902
+
+2016-03-21 16:34:37 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/alsa/gstalsa.c:
+	  alsa: properly convert position-less channels from ALSA
+	  The only way for ALSA to expose a position-less multi channels is to
+	  return an array full of SND_CHMAP_MONO. Converting this to a
+	  GST_AUDIO_CHANNEL_POSITION_MONO array would be invalid as
+	  GST_AUDIO_CHANNEL_POSITION_MONO is meant to be used only with one
+	  channel.
+	  Fix this by using GST_AUDIO_CHANNEL_POSITION_NONE which is meant to be
+	  used for position-less channels.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763799
+
+2016-03-21 16:29:39 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/audio/gstaudioringbuffer.c:
+	  audioringbuffer: don't attempt to reorder position-less channels
+	  As said in its doc GST_AUDIO_CHANNEL_POSITION_NONE is meant to be used
+	  for "position-less channels, e.g. from a sound card that records 1024
+	  channels; mutually exclusive with any other channel position".
+	  But at the moment using such positions would raise a
+	  'g_return_if_reached' warning as gst_audio_get_channel_reorder_map()
+	  would reject it.
+	  Fix this by preventing any attempt to reorder in such case as that's not
+	  what we want anyway.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763799
+
+2016-03-21 07:26:50 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/audio/gstaudioringbuffer.c:
+	  audio: add debug output if channels mapping does not match
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763985
+
+2016-03-21 11:58:13 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/alsa/gstalsa.c:
+	  alsa: add some debugging output to alsa_detect_channels_mapping()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763985
+
+2016-03-21 11:46:45 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/audio/audio-channels.c:
+	* gst-libs/gst/audio/audio-channels.h:
+	* win32/common/libgstaudio.def:
+	  gst-audio: add gst_audio_channel_positions_to_string()
+	  We currently don't log much about channel positions making debugging
+	  harder as it should be. This is the first step in my attempt to improve
+	  this.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763985
+
+2016-03-21 05:09:10 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/alsa/gstalsa.c:
+	* ext/alsa/gstalsa.h:
+	* ext/alsa/gstalsasink.c:
+	* ext/alsa/gstalsasrc.c:
+	  alsa: factor out alsa_detect_channels_mapping()
+	  This code was duplicated in alsasrc and alsasink.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763985
+
+2016-03-21 05:06:18 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/alsa/gstalsa.h:
+	  alsa: coding style fix
+	  Was using tabs instead of spaces.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763985
+
+2016-04-12 16:34:00 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* gst-libs/gst/allocators/gstfdmemory.c:
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	  fdmemory, rtpbasedepayload: Ran gst-indent
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764948
+
+2016-04-12 16:25:12 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: Rename misleading variable is_parser_converter into is_parser
+	  In that place, the variable isn't checking whether the element is a
+	  converter, only if it is a parser.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764948
+
 2016-04-11 11:28:09 +0200  Fabrice Bellet <fabrice@bellet.info>
 
 	* gst-libs/gst/audio/gstaudiosink.c:
@@ -307,6 +1128,736 @@
 	  g_thread_self().
 	  https://bugzilla.gnome.org/show_bug.cgi?id=764865
 
+2016-04-06 17:57:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/gstlibscpp.cc:
+	  tests: libscpp: test RTP/RTCP buffer init macros with C++ compiler
+
+2016-04-06 21:03:19 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/playback/gstsubtitleoverlay.c:
+	  subtitleoverlay: Don't complain when stream-start is the first event.
+	  When blocking the subtitle pad, it's expected that stream-start
+	  is the first event, and that it can precede caps arriving on the
+	  peer pad - in fact the caps can only have arrived on the peer
+	  pad when it was pre-primed with sticky events previously.
+	  Instead, just pass the stream-start and don't block, because
+	  stream-start is sticky anyway.
+
+2016-04-06 21:00:10 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/subparse/gstsubparse.c:
+	  subparse: WebVTT Cue identifiers are optional
+	  Don't require a cue identifier preceding the time range line
+	  when parsing WebVTT. We could also store the CueID, but it's
+	  not using anywhere, so just ignore it for now.
+
+2016-04-05 14:26:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* win32/common/libgstaudio.def:
+	  win32: Add new libgstaudio symbols
+
+2016-04-01 12:25:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudiodecoder.h:
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	* gst-libs/gst/audio/gstaudioencoder.h:
+	  libs: audio: split allocation query caps and pad caps
+	  Since the allocation query caps contains memory size and the pad's caps
+	  contains the display size, an audio encoder or decoder might need to allocate
+	  a different buffer size than the size negotiated in the caps.
+	  This patch splits this logic distinction for audiodecoder and audioencoder.
+	  Thus the user, if needs a different allocation caps, should set it through
+	  gst_audio_{encoder,decoder}_set_allocation_cap() before calling the negotiate()
+	  vmethod. Otherwise the allocation_caps will be the same as the caps in the
+	  src pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764421
+
+2016-03-31 15:31:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	* gst-libs/gst/video/gstvideoutils.c:
+	* gst-libs/gst/video/gstvideoutils.h:
+	  libs: video: split allocation query caos and pad caps
+	  Since the allocation query caps contains memory size and the pad's caps
+	  contains the display size, a video encoder or decoder might need to allocate
+	  a different frame size than the size negotiated in the caps.
+	  This patch splits this logic distinction for videodecoder and videoencoder.
+	  The user if needs a different allocation caps, should set the allocation_caps
+	  in the GstVideoCodecState before calling negotiate() vmethod. Otherwise the
+	  allocation_caps will be the same as the caps set in the src pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764421
+
+2016-04-04 16:39:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	  audioencoder: fix gtk-doc comment format
+
+2016-04-02 10:37:55 +0200  Mikhail Fludkov <misha@pexip.com>
+
+	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
+	* tests/check/libs/rtpbasedepayload.c:
+	  rtpbasedepayload: look at ssrc before sequence numbers
+	  Doing so prevents us dropping buffers in the rare, but possible, situations,
+	  when the stream changes SSRC and new sequence numbers does not differ
+	  much from the last sequence number from previous SSRC. For example:
+	  ssrc - 0xaaaa 101,102,103,104 ssrc - 0xbbbb 102, 103, 104, 105...
+	  In the scenario above we don't want to drop the first 3 packets of
+	  0xbbbb stream.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764459
+
+2016-04-03 11:40:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videorate/gstvideorate.c:
+	  videorate: Don't fill up the segment with duplicate buffers if drop_only==TRUE
+
+2016-04-03 11:38:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videorate/gstvideorate.c:
+	  videorate: Remove dead code
+	  We never get into this code path at all if drop_only==TRUE.
+
+2016-03-29 17:19:41 +0200  Frédéric Bertolus <frederic.bertolus@parrot.com>
+
+	* gst/videorate/gstvideorate.c:
+	  videorate: avoid useless buffer copy in drop-only mode
+	  Make writable the buffer before pushing it lead to a buffer copy. It's
+	  because a reference is keep for the previous buffer.
+	  The previous buffer reference is only need to duplicate the buffer. In
+	  drop-only mode, the previous buffer is release just after pushing the
+	  buffer so a copy is done but it's useless.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764319
+
+2016-04-02 15:19:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/video-frame.c:
+	  video: fix example code in gst_video_frame_map() docs
+	  GST_VIDEO_FRAME_PLANE_PSTRIDE() does not exist.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764414
+
+2016-04-02 10:09:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
+	  discoverer: copy over result and seekable fields when copying a discoverer info
+	  The function gst_discoverer_info_copy doesn't copy the data members seekable
+	  and result of the source GstDiscovererInfo.
+	  In the case of copying a GstDiscovererInfo for later use, the seekbale will be
+	  undefined, which in practice usually will be false, even though the seekable of
+	  the original GstDiscovererInfo is true.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762710
+
+2016-03-31 13:32:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/video/video-format.h:
+	  video-format: Fix macro documentation
+	  The parameter type was wrongly documenting that a GstVideoInfo structure
+	  pointer was needed, while it needs a GstVideoFormatInfo structure
+	  pointer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764414
+
+2016-03-26 20:53:08 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/subparse.c:
+	* tests/check/libs/rtp.c:
+	  test: fix indentation
+
+2016-03-26 20:52:16 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtcpbuffer.c:
+	  rtp: rtcpbuffer: fix indentation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761944
+
+2016-03-26 20:50:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/rtp/gstrtcpbuffer.c:
+	  rtp: rtpcbuffer: fix Since markers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761944
+
+2016-03-30 11:16:49 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: disable neon on arm64
+	  Fix the build on arm64 by using HAVE_ARM_NEON instead of __ARM_NEON__.
+
+2016-03-29 22:16:38 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/subparse/gstsubparse.c:
+	  subparse: Add more parsing guards
+	  Insert extra checks for the validity of the incoming
+	  data when parsing subrip/webvtt content and debug log
+	  output for invalid content.
+	  Should fix Coverity warnings.
+
+2016-03-29 10:23:08 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/subparse/gstsubparse.c:
+	  subparse: add missing break between formats
+	  A break is missing at the end of case GST_SUB_PARSE_FORMAT_LRC or it will
+	  fallthrough to WebVTT. This fixes commit fd2a14144a7a.
+
+2016-03-29 12:11:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	  audio-resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x) in more places
+
+2016-03-29 11:25:15 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* win32/common/video-enumtypes.c:
+	  win32: Update exports for new video formats
+	  Update win32 exports for P010_10BE and P010_10LE
+	  video formats.
+
+2016-03-29 11:16:42 +0300  Scott D Phillips <scott.d.phillips@intel.com>
+
+	* gst-libs/gst/video/video-converter.c:
+	* gst-libs/gst/video/video-format.c:
+	* gst-libs/gst/video/video-format.h:
+	* gst-libs/gst/video/video-info.c:
+	  video: add P010 format support
+	  P010 is a YUV420 format with an interleaved U-V plane and 2-bytes per
+	  component with the the color value stored in the 10 most significant
+	  bits.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761607
+	  ---
+	  Changes since v2:
+	  - Set bits=16 in DPTH10_10_10_HI
+	  Changes since v1:
+	  - Fixed x-offset calculation in uv.
+	  - Added 6-bit shifts to FormatInfo.
+
+2016-03-29 10:15:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	  resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x)
+	  The latter is only available on x86-64 for some reason.
+
+2016-03-29 08:21:54 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/audio/Makefile.am:
+	  audio: Fix distcheck
+	  Don't forget to dist the needed files (which don't need to be installed)
+
+2016-03-28 15:37:36 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: estimate memory usage in auto mode
+	  Estimate the memory usage and use this to decide between full or
+	  interpolated filter.
+
+2016-03-28 12:51:26 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/audioresample/Makefile.am:
+	* gst/audioresample/README:
+	* gst/audioresample/gstaudioresample.c:
+	  audioresample: remove last ORC remains
+
+2016-03-16 12:55:56 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: small optimizations
+
+2016-03-04 17:15:44 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	  audio-resampler: improve non-interleaved flags
+	  Make it possible to have different interleaving on input and output
+	  because we can quite trivially do that.
+
+2016-03-02 11:40:15 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: unroll some more loops
+	  Unroll some loops.
+
+2016-03-01 16:31:18 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	  audio-resampler: keep precision
+	  Transpose and add before applying the cubic interpolation to avoid
+	  overflows when using full precision.
+
+2016-03-01 16:26:15 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: small cleanups
+
+2016-02-25 15:38:46 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: optimize no resampling
+	  Switch to the faster nearest resample method when are doing no rate
+	  conversion.
+
+2016-02-25 14:09:44 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	  audio-resampler: add VARIABLE_RATE flag
+	  Add a VARIABLE rate flag that selects an interpolating filter.
+	  Move some function setup code in the _new function.
+
+2016-02-23 04:46:55 -0500  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	  audio-resampler: more neon optimizations
+
+2016-02-24 12:57:26 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	  audio-resampler: avoid overflow in cubic interpolation
+	  Shift out an extra bit to have some more headroom when doing cubic
+	  interpolation.
+
+2016-02-24 12:56:39 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: overread only 8 taps
+	  We only need 8 taps of zeroes as headroom for the SIMD optimized
+	  functions.
+
+2016-02-24 12:55:28 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	  audio-converter: use helper to check intermediate format
+
+2016-02-23 15:37:37 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: fix phase
+
+2016-02-22 11:16:28 -0500  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	  audio-resampler: fix neon assembler
+
+2016-02-22 13:19:02 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: avoid some format conversion
+	  Store the filter in the desired sample format so that we can simply do a
+	  linear or cubic interpolation to get the new filter instead of having to
+	  go through gdouble and then convert.
+
+2016-02-22 03:28:21 -0500  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	  audio-resampler: fix neon linear float interpolation
+
+2016-02-19 16:39:43 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: reorder filter coefficients for more speed
+	  Reorder the filter coefficients to make it easier to use SIMD for
+	  interpolation.
+	  Fix orc flags a little.
+	  Add specialized nearest resampling function.
+
+2016-02-19 10:40:03 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: remove stereo optimizations
+	  The stereo optimizations don't give enough benefit.
+	  Rename none to full to make it clear that we use a full filter instead
+	  of an interpolated one
+
+2016-02-18 12:48:45 -0500  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	  audio-resample: remove neon double stubs
+	  NEON does not have double types.
+
+2016-02-18 12:38:49 -0500  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	  audio-resampler: add more neon optimizations
+
+2016-02-18 11:05:18 -0500  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	  audio-resampler: add more neon optimizations
+
+2016-02-17 11:20:06 -0500  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-neon.h:
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: add neon optimizations
+	  Unroll some more loops in the fallback code that seems to work fine
+	  for ARM.
+	  Add some simple ARM optimizations taken from speex.
+
+2016-02-17 13:12:31 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: give better hints about the precision
+	  Give better hints to the compiler about the precision we expect from
+	  the multiplications.
+
+2016-02-17 12:05:58 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resample: small optimizations
+	  Remove some inline functions that are called in the slow path.
+	  Unroll C fallback functions a little.
+
+2016-02-16 09:18:13 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: Use n_phases when calculating taps offset
+	  Tweak linear interpolation oversampling.
+	  Clear filter cache on rate changes when using a full filter.
+
+2016-02-15 18:06:19 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst/audioresample/gstaudioresample.c:
+	* gst/audioresample/gstaudioresample.h:
+	  audio-resampler: improve filter construction
+	  Remove some unused variables from the inner product functions.
+	  Make filter coefficients by interpolating if required.
+	  Rename some fields.
+	  Try hard to not recalculate filters when just chaging the rate.
+	  Add more proprties to audioresample.
+
+2016-02-12 10:00:22 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: avoid overflow in fraction calculation
+
+2016-02-11 19:42:31 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: increase precision
+
+2016-02-11 17:40:56 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	  audio-resampler: add more optimizations
+
+2016-02-11 13:23:07 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resample: fix taps conversion
+	  We do taps conversion in place so make sure we don't overwrite the
+	  input with temporary data.
+	  Optimize some more gint16 functions.
+
+2016-02-11 11:57:26 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: Improve taps memory layout
+	  Rearrange the oversampled taps in memory to make it easier to use
+	  SIMD instructions on them. this simplifies some sse code.
+	  Add some more optimizations
+
+2016-02-10 17:28:24 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: add cubic interpolation
+
+2016-02-10 13:31:11 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* win32/common/libgstaudio.def:
+	  audio-resampler: add more functions
+	  Use some macros to generate more functions
+
+2016-02-10 12:04:12 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	  audio-resampler: add linear interpolation method
+	  Make more functions into macros.
+	  Add linear interpolation of filter coefficients.
+
+2016-02-04 15:22:39 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* tests/icles/Makefile.am:
+	* tests/icles/test-resample.c:
+	  tests: add resample test
+
+2016-02-04 15:21:40 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	  audio-resampler: add max-phase-error config
+
+2016-02-04 15:19:53 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: improve tap calculation
+	  Return the taps from make_taps, this makes it possible to not actually
+	  have to cache the taps when we want to.
+	  Fix overflow in phase calculation.
+
+2016-02-02 12:06:44 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	  audio-resampler: fix guint -> gint
+
+2016-02-02 11:48:16 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: improve phase error
+	  Accept a phase error of maximum 10%, which turns out to be inaudible.
+
+2016-02-01 17:18:32 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: improve phase calculation
+	  Also calculate the GCD with the current phase so that we can accurately
+	  represent the current phase with the new resample rates.
+
+2016-01-26 22:53:33 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: fix history after buffer resize
+	  When we resize the temp buffer, move the history in its new place.
+
+2016-01-26 16:42:16 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	* gst/audioresample/gstaudioresample.c:
+	* win32/common/libgstaudio.def:
+	  audio-resampler: add reset function
+	  Add a function to reset the audio-resampler.
+	  Use new function in audio-converter
+	  Use the new functions in gstaudioresample and fixup drain functions.
+
+2016-01-26 16:40:57 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: Small fixes
+	  Fix the phase.
+	  Reset the new sample buffer with 0.
+	  Move samples around when we change the filter size.
+
+2016-01-26 16:38:50 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: Rework make_taps
+	  Make it return a pointer to the generated taps. That way we can later
+	  decide to actually cache it or not.
+
+2016-01-26 09:57:03 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst/audioresample/gstaudioresample.c:
+	  audio-resampler: handle filter length changes
+	  Update the buffer with history samples when the filter length changes
+	  because of an update of the parameters or sample rates.
+
+2016-01-22 17:34:39 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: fix samples_avail
+	  We only know the taps after we calculate them.
+
+2016-01-22 16:45:28 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: work on dynamically changing the samplerate
+	  Calculate the new phase for the new sample rate.
+	  Fix some docs.
+
+2016-01-22 10:28:13 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: small cleanups
+
+2016-01-21 10:38:17 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: add fallback to mono function
+	  Remove stereo implementations. Implement fall back to mono functions
+	  when the stereo function is missing.
+
+2016-01-18 12:52:41 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: add float stereo SSE function
+
+2016-01-15 12:45:47 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* configure.ac:
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	  audio-resampler: Fix compilation of intrinsics
+	  Only compile intrinsics when we are building for the selected
+	  architecture.
+	  Add sse4.1 optimized int32 resampler code.
+
+2016-01-15 11:43:13 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	  audioconvert: only resample on supported formats
+
+2016-01-15 11:20:29 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst/audioresample/gstaudioresample.c:
+	  audio-converter: make some optimized functions
+	  Make an optimized function that just calls the resampler when possible.
+	  Optimize the resampler transform_size function a little.
+
+2016-01-15 10:26:02 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: remove mirror function
+	  We don't need to mirror the input, just assume 0 samples.
+	  Always move the processed samples to the start of the buffer.
+	  Add some G_LIKELY
+
+2016-01-13 17:50:38 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	  audio-resampler: also enable sse when sse2 is available
+
+2016-01-13 17:44:39 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: optimizations
+	  Improve int16 resampling by using pmaddwd
+	  Use intrinsics to scale and pack int16 samples
+	  Align the coefficients so that we can use aligned loads
+	  Add padding to taps and samples so that we don't have to use partial
+	  loads for the remainder of the loops.
+	  Remove copy_n, we can reuse the plain copy function with some new
+	  parameters.
+	  Align and pad the sample array.
+
+2016-01-12 18:55:19 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-core.h:
+	* gst-libs/gst/audio/audio-resampler-x86.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: make pluggable optimized functions
+	  Add support for x86 specialized functions and select them at runtime.
+
+2016-01-12 10:23:53 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-resampler-core.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	  audio-resampler: combine functions
+
+2016-01-11 16:25:02 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* win32/common/libgstaudio.def:
+	  defs: update
+
+2016-01-05 16:06:22 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-converter.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	* gst/audioresample/gstaudioresample.c:
+	  audio-converter: simplify API
+	  Remove the consumed/produced output fields from the resampler and
+	  converter. Let the caler specify the right number of input/output
+	  samples so we can be more optimal.
+	  Use just one function to update the converter configuration.
+	  Simplify some things internally.
+	  Make it possible to use writable input as temp space in audioconvert.
+
+2016-01-04 18:28:38 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-converter.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	* gst/audioresample/gstaudioresample.c:
+	* gst/audioresample/gstaudioresample.h:
+	  audio-converter: more work on resampling
+	  - Fix the resampler in the audio converter
+	  - fix memory leaks
+
+2015-11-13 15:32:29 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/audio/Makefile.am:
+	* gst-libs/gst/audio/audio-converter.c:
+	* gst-libs/gst/audio/audio-converter.h:
+	* gst-libs/gst/audio/audio-resampler-core.h:
+	* gst-libs/gst/audio/audio-resampler.c:
+	* gst-libs/gst/audio/audio-resampler.h:
+	* gst-libs/gst/audio/audio.h:
+	* gst-libs/gst/audio/dbesi0.c:
+	* gst/audioresample/Makefile.am:
+	* gst/audioresample/arch.h:
+	* gst/audioresample/fixed_arm4.h:
+	* gst/audioresample/fixed_arm5e.h:
+	* gst/audioresample/fixed_bfin.h:
+	* gst/audioresample/fixed_debug.h:
+	* gst/audioresample/fixed_generic.h:
+	* gst/audioresample/gstaudioresample.c:
+	* gst/audioresample/gstaudioresample.h:
+	* gst/audioresample/resample.c:
+	* gst/audioresample/resample_neon.h:
+	* gst/audioresample/resample_sse.h:
+	* gst/audioresample/speex_resampler.h:
+	* gst/audioresample/speex_resampler_double.c:
+	* gst/audioresample/speex_resampler_float.c:
+	* gst/audioresample/speex_resampler_int.c:
+	* gst/audioresample/speex_resampler_wrapper.h:
+	  audio-converter: add resampler
+	  Add a resampler to the processing chain when needed.
+	  port the audio resampler to the new audioconverter library
+
+2016-03-25 01:13:54 +1100  Jan Schmidt <jan@centricular.com>
+
+	* win32/common/libgstpbutils.def:
+	* win32/common/libgstrtp.def:
+	  win32: update win32 exports for new API
+
+2016-03-07 23:29:43 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/subparse/gstsubparse.c:
+	* gst/subparse/gstsubparse.h:
+	* tests/check/elements/subparse.c:
+	  subparse: WebVTT parsing support
+	  WebVTT is a new subtitle format for HTML5 video. In this first
+	  version of the parser the cue settings are parsed but only stored in
+	  the internal parser state structure. Later on these settings could be
+	  part of the GstBuffer metadata.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=629764
+
+2016-02-26 02:58:26 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefind: Add a typefinder for WebVTT files
+
+2016-02-26 02:56:15 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefind: Reduce URI typefinder from MAX to LIKELY
+	  Don't claim maximum likelihood for anything that starts
+	  with text that looks like a uri, it's too broad.
+
 2016-03-24 14:59:48 +1100  Jan Schmidt <jan@centricular.com>
 
 	* gst/playback/gstdecodebin2.c:
@@ -318,12 +1869,124 @@
 	  in multiqueue.
 	  https://bugzilla.gnome.org/show_bug.cgi?id=764020
 
-2016-02-26 02:56:15 +1100  Jan Schmidt <jan@centricular.com>
+2016-03-08 19:22:18 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* gst/typefind/gsttypefindfunctions.c:
-	  typefind: Reduce URI typefinder from MAX to LIKELY
-	  Don't claim maximum likelihood for anything that starts
-	  with text that looks like a uri, it's too broad.
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: avoid unnecessary gst_pad_has_current_caps() checks
+	  No need to do this for each input buffer, we have the input caps
+	  stored somewhere already.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763337
+
+2016-03-22 11:25:49 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* docs/libs/gst-plugins-base-libs-sections.txt:
+	* gst-libs/gst/pbutils/codec-utils.c:
+	* gst-libs/gst/pbutils/codec-utils.h:
+	* win32/common/libgstpbutils.def:
+	  codec-utils: Add utilities for AAC and the AACHead header
+	  Add utilities about the channels and sample rate for AAC.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749110
+
+2016-03-21 16:06:20 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin: Modify result of seekable in check_upstream_seekable function
+	  In check_upstream_seekable function, it returns FALSE value even though
+	  we already declare about the seekable variable. So, This patch return
+	  result of seekable in check_upstream_seekable function.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763975
+
+2016-03-03 16:46:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* ext/alsa/gstalsamidisrc.c:
+	* ext/alsa/gstalsasink.c:
+	* ext/alsa/gstalsasrc.c:
+	* ext/libvisual/visual.c:
+	* ext/ogg/gstoggaviparse.c:
+	* ext/ogg/gstoggdemux.c:
+	* ext/ogg/gstoggmux.c:
+	* ext/ogg/gstoggparse.c:
+	* ext/ogg/gstogmparse.c:
+	* ext/opus/gstopusdec.c:
+	* ext/opus/gstopusenc.c:
+	* ext/pango/gstbasetextoverlay.c:
+	* ext/pango/gsttextoverlay.c:
+	* ext/pango/gsttextrender.c:
+	* ext/theora/gsttheoradec.c:
+	* ext/theora/gsttheoraenc.c:
+	* ext/theora/gsttheoraparse.c:
+	* ext/vorbis/gstvorbisdec.c:
+	* ext/vorbis/gstvorbisenc.c:
+	* ext/vorbis/gstvorbisparse.c:
+	* gst-libs/gst/app/gstappsink.c:
+	* gst-libs/gst/app/gstappsrc.c:
+	* gst-libs/gst/audio/gstaudiocdsrc.c:
+	* gst-libs/gst/tag/gsttagdemux.c:
+	* gst/adder/gstadder.c:
+	* gst/audioconvert/gstaudioconvert.c:
+	* gst/audiorate/gstaudiorate.c:
+	* gst/audioresample/gstaudioresample.c:
+	* gst/audiotestsrc/gstaudiotestsrc.c:
+	* gst/encoding/gstencodebin.c:
+	* gst/encoding/gstsmartencoder.c:
+	* gst/encoding/gststreamcombiner.c:
+	* gst/encoding/gststreamsplitter.c:
+	* gst/gio/gstgiobasesink.c:
+	* gst/gio/gstgiobasesrc.c:
+	* gst/playback/gstdecodebin2.c:
+	* gst/playback/gstplaysink.c:
+	* gst/playback/gstplaysinkconvertbin.c:
+	* gst/playback/gststreamsynchronizer.c:
+	* gst/playback/gstsubtitleoverlay.c:
+	* gst/playback/gsturidecodebin.c:
+	* gst/subparse/gstssaparse.c:
+	* gst/subparse/gstsubparse.c:
+	* gst/tcp/gstmultihandlesink.c:
+	* gst/tcp/gstsocketsrc.c:
+	* gst/tcp/gsttcpclientsink.c:
+	* gst/tcp/gsttcpclientsrc.c:
+	* gst/tcp/gsttcpserversrc.c:
+	* gst/videoconvert/gstvideoconvert.c:
+	* gst/videorate/gstvideorate.c:
+	* gst/videotestsrc/gstvideotestsrc.c:
+	* sys/ximage/ximagesink.c:
+	* sys/xvimage/xvimagesink.c:
+	* tests/check/elements/audiorate.c:
+	* tests/check/elements/decodebin.c:
+	* tests/check/elements/playbin-complex.c:
+	* tests/check/elements/playbin.c:
+	* tests/check/elements/videoscale.c:
+	* tests/check/libs/audiodecoder.c:
+	* tests/check/libs/audioencoder.c:
+	* tests/check/libs/baseaudiovisualizer.c:
+	* tests/check/libs/rtpbasedepayload.c:
+	* tests/check/libs/rtpbasepayload.c:
+	* tests/check/libs/videodecoder.c:
+	* tests/check/libs/videoencoder.c:
+	  base: use new gst_element_class_add_static_pad_template()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763075
+
+2015-10-06 17:02:03 +0200  Stian Selnes <stian@pexip.com>
+
+	* gst-libs/gst/rtp/gstrtcpbuffer.c:
+	* gst-libs/gst/rtp/gstrtcpbuffer.h:
+	* tests/check/libs/rtp.c:
+	  rtcpbuffer: Add API for APP packets
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761944
+
+2014-07-29 15:37:12 +0200  Haakon Sporsheim <haakon@pexip.com>
+
+	* gst-libs/gst/rtp/gstrtcpbuffer.c:
+	* gst-libs/gst/rtp/gstrtcpbuffer.h:
+	* tests/check/libs/rtp.c:
+	* win32/common/libgstrtp.def:
+	  rtcpbuffer: Add profile-specific extension API.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=761950
+
+2016-03-24 13:32:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
 
 === release 1.8.0 ===
 
diff --git a/Makefile.am b/Makefile.am
index 5fc3e10..fc34e1d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -81,6 +81,8 @@
 	$(top_builddir)/common/shave \
 	$(top_builddir)/common/shave-libtool \
 	$(top_builddir)/gst-libs/gst/audio/testchannels \
+        $(top_builddir)/gst-libs/gst/app/gstapp-marshal.c \
+        $(top_builddir)/gst-libs/gst/app/gstapp-marshal.h \
 	$(top_builddir)/tests/check/elements/gdppay \
 	$(top_builddir)/tests/check/elements/gdpdepay \
 	$(top_builddir)/tests/check/pipelines/streamheader \
diff --git a/Makefile.in b/Makefile.in
index d1e8f1f..a7d6757 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -597,6 +597,8 @@
 	$(top_builddir)/common/shave \
 	$(top_builddir)/common/shave-libtool \
 	$(top_builddir)/gst-libs/gst/audio/testchannels \
+        $(top_builddir)/gst-libs/gst/app/gstapp-marshal.c \
+        $(top_builddir)/gst-libs/gst/app/gstapp-marshal.h \
 	$(top_builddir)/tests/check/elements/gdppay \
 	$(top_builddir)/tests/check/elements/gdpdepay \
 	$(top_builddir)/tests/check/pipelines/streamheader \
diff --git a/NEWS b/NEWS
index f67d1f3..4c3baab 100644
--- a/NEWS
+++ b/NEWS
@@ -1,26 +1 @@
-### 1.8.2
-
-The first 1.8 bug-fix release (1.8.2) was released on 9 June 2016.
-This release only contains bugfixes and it should be safe to update from 1.8.0.
-
-#### Major bugfixes in 1.8.2
-
- - Fix vp8enc and flacenc segmentation faults on Windows
- - Fix Android build failure due to BSD sed on OS X
- - Fix Android build failure with applications targetting API > 20
- - Fix playback of live MS SmoothStreaming streams
- - Fix various issues with vtdec and caopengllayersink on OS X
- - Fix severe performance degradation in various image decoders
- - Fix sample rate negotiation in opusdec
- - Fix regression in typefind, causing deadlocks in some situations
- - Fix mpegtsmux to set PTS on all output buffers again
- - Fix extraction of frame dimensions from SDP in RTP JPEG depayloader
- - Fix failure in v4l2videodec when setting of format fails after starting
- - ... and many, many more!
-
-For a full list of bugfixes see [Bugzilla][buglist-1.8.2]. Note that this is
-not the full list of changes. For the full list of changes please refer to the
-GIT logs or ChangeLogs of the particular modules.
-
-[buglist-1.8.2]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=130196&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.2
-
+This is GStreamer 1.9.1
diff --git a/README b/README
index fa53f95..48e2c9f 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-GStreamer 1.7.x development series
+GStreamer 1.9.x development series
 
 WHAT IT IS
 ----------
diff --git a/RELEASE b/RELEASE
index 2612b60..06ff335 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,16 +1,17 @@
 
-Release notes for GStreamer Base Plugins 1.8.2
+Release notes for GStreamer Base Plugins 1.9.1
 
-The GStreamer team is proud to announce the second bugfix release in the stable
-1.8 release series of your favourite cross-platform multimedia framework!
+The GStreamer team is pleased to announce the first release of the unstable
+1.9 release series. The 1.9 release series is adding new features on top of
+the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.9 release series
+will lead to the stable 1.10 release series in the next weeks. Any newly added
+API can still change until that point.
 
 
-This release only contains bugfixes and it is safe to update from 1.8.1. For a
-full list of bugfixes see Bugzilla.
+Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
 
 
-See /releases/1.8/ for the full release notes.
-
 
 This module contains a set of reference plugins, base classes for other
 plugins, and helper libraries. It also includes essential elements such
@@ -58,17 +59,47 @@
 
 Bugs fixed in this release
      
-      * 765534 : encoding-profile: Remove codec_data and streamheader fields from constraint caps
-      * 765538 : codec-utils: Don't put level=0 into the caps
-      * 765541 : smartencoder: Only accept TIME segments for real
-      * 765684 : opusdec: Won't negotiate sampling rate anymore
-      * 765706 : opusdec: caps leak in gst_opus_dec_negotiate()
-      * 765708 : encoding-profile: Make creation of encoding profile from discoverer info more robust
-      * 766204 : sdp: rtpjpegdepay regression: Does not extract frame dimensions from SDP anymore
-      * 766265 : opusdec with FEC breaks when packet sizes change
-      * 766510 : videosink: test_video_center_rect raise a warning when turning on debug
-      * 766515 : playbin: fix suburidecodebin leak
-      * 767163 : video-color: Fix colorimetry IS_UNKNOWN
+      * 578933 : Need generic " deep-element-added " signal and/or playbin " element-setup " signal
+      * 629764 : subparse: Add WebVTT support
+      * 747574 : videodecoder: reverse playback in non-packetized decoders
+      * 753930 : tag:  add GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM and handle it in exiftag
+      * 761944 : rtcpbuffer: Add API for APP packets
+      * 761950 : rtcpbuffer: Add profile-specific extension API.
+      * 763058 : opusdec: add unit test for PLC timestamp when FEC is enabled
+      * 763075 : base plugins: use new gst_element_class_add_static_pad_template()
+      * 763630 : appsrc: If do-timestamp=true should take the timestamp when queueing the buffer
+      * 763799 : alsasrc: should not always assume that 8 channels implies 7.1 setup
+      * 763975 : decodebin: Modify result of seekable in check_upstream_seekable function
+      * 763985 : audio: add some debug output about channels mapping
+      * 764201 : video: Provide fast path for I420 to BGRA (and/or RGBA) conversion and back
+      * 764319 : videorate : avoid useless buffer copy un drop-only mode
+      * 764459 : GstRTPBasedepayload fail to detect new stream after SSRC change
+      * 764631 : GstAudioDecoder produce invalid timestamps when PLC and delay
+      * 764667 : videoaffinetransformationmeta: doesn't define the coordinate space
+      * 764902 : Explicitly initialize GstVideoCropMeta fields to 0 on init.
+      * 764948 : decodebin: use-buffering property ignored on non-muxed streams
+      * 764966 : oggdemux: Gaps when playing test sine wave VBR file
+      * 765042 : subparse: fix build error with GCC 4.6.3
+      * 765216 : gst-play: call gst_deinit()
+      * 765424 : ximagesink: generate reconfigure on window handle change
+      * 765663 : gst_audio_buffer_clip() needs const on segment
+      * 766226 : base: fix leaks in tests
+      * 766229 : appsrc: Add duration property for providing a duration in TIME format
+      * 766467 : oggdemux: Reset keyframe_granule when needed
+      * 766800 : videodecoder: Make sure the DISCONT flag is set on the outgoing buffer
+      * 767102 : decodebin: hits ASSERT with H264 byte-stream as input
+      * 767155 : base: use MAY_BE_LEAKED flag
+      * 767173 : tagdemux: preserve timestamp when skipping a tag at the  beginning of a buffer
+      * 767232 : videodecoder: Drain data in more situations
+      * 767505 : audiovisualizer: produces wrong timestamps with non-16 bit audio formats
+      * 767506 : audiovisualizer: still uses old GST_BUFFER_TIMESTAMP() macro switch it to GST_BUFFER_PTS()
+      * 767507 : audiovisualizer: Timestamp adjustment calculations wrong for > 1 channel
+      * 767537 : exiftag: Increase serialized geo coordinate precision
+      * 767641 : videodecoder: Missing drain vfunc GST_FIXME flood on Raspberry Pi
+      * 767791 : tagdemux: preserve duration when skipping a tag at the  beginning of a buffer
+      * 767826 : opusdec with plc enabled failing to decode audio
+      * 768361 : videodecoder: Takes stream lock for non-serialized queries
+      * 766203 : videoencoder/decoder: Wrong variable names used in GST_IS_*CODER_CLASS macros
 
 ==== Download ====
 
@@ -105,10 +136,43 @@
         
 Contributors to this release
     
+      * Aleix Conchillo Flaqué
+      * Alessandro Decina
+      * Arjen Veenhuizen
+      * Aurélien Zanelli
+      * Edward Hervey
+      * Fabrice Bellet
+      * Frédéric Bertolus
       * Guillaume Desmottes
+      * Haakon Sporsheim
       * Hyunjun Ko
+      * Jakub Adam
+      * Jan Schmidt
+      * Jimmy Ohn
+      * Joan Pau Beltran
+      * Josep Torra
+      * Julien Isorce
+      * Kipp Cannon
+      * Luis de Bethencourt
+      * Matthew Waters
+      * Michael Olbrich
+      * Mikhail Fludkov
+      * Nicolas Dufresne
+      * Nirbheek Chauhan
       * Olivier Crête
+      * Paulo Neves
+      * Philippe Normand
+      * Scott D Phillips
       * Sebastian Dröge
+      * Sreerenj Balachandran
       * Stian Selnes
       * Thiago Santos
+      * Thomas Jones
+      * Tim-Philipp Müller
+      * Vincent Penquerc'h
+      * Vineeth TM
+      * Vivia Nikolaidou
+      * Víctor Manuel Jáquez Leal
+      * Wim Taymans
+      * Zaheer Abbas Merali
  
\ No newline at end of file
diff --git a/common/gst.supp b/common/gst.supp
index 2740e9a..f85cd69 100644
--- a/common/gst.supp
+++ b/common/gst.supp
@@ -4024,5 +4024,4 @@
    fun:malloc
    ...
    fun:g_quark_init
-   fun:glib_init_ctor
 }
diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak
index fe0977c..4b5dd1b 100644
--- a/common/gtk-doc-plugins.mak
+++ b/common/gtk-doc-plugins.mak
@@ -179,9 +179,13 @@
 		$(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done
 	@for f in $(EXAMPLE_CFILES); do \
 		$(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done
-	@gtkdoc-mkdb \
+	@_source_dir='' ;						\
+	for i in $(DOC_SOURCE_DIR) ; do					\
+	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+	done ;								\
+	gtkdoc-mkdb \
 		--module=$(DOC_MODULE) \
-		--source-dir=$(DOC_SOURCE_DIR) \
+		$${_source_dir} \
 		 --expand-content-files="$(expand_content_files)" \
 		--main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
 		--output-format=xml \
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index 2aab3a9..4beebcf 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -121,7 +121,11 @@
 
 sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(expand_content_files)
 	@echo '  DOC   Building XML'
-	@gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
+	@_source_dir='' ;						\
+	for i in $(DOC_SOURCE_DIR) ; do					\
+	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+	done ;							        \
+	gtkdoc-mkdb --module=$(DOC_MODULE) $$(_source_dir)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
 	@cp ../version.entities xml
 	@touch sgml-build.stamp
 
diff --git a/common/m4/ax_pthread.m4 b/common/m4/ax_pthread.m4
index d383ad5..4c4051e 100644
--- a/common/m4/ax_pthread.m4
+++ b/common/m4/ax_pthread.m4
@@ -19,10 +19,10 @@
 #   is necessary on AIX to use the special cc_r compiler alias.)
 #
 #   NOTE: You are assumed to not only compile your program with these flags,
-#   but also link it with them as well. e.g. you should link with
+#   but also to link with them as well. For example, you might link with
 #   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
 #
-#   If you are only building threads programs, you may wish to use these
+#   If you are only building threaded programs, you may wish to use these
 #   variables in your default LIBS, CFLAGS, and CC:
 #
 #     LIBS="$PTHREAD_LIBS $LIBS"
@@ -30,8 +30,8 @@
 #     CC="$PTHREAD_CC"
 #
 #   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-#   has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-#   (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
+#   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
 #
 #   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
 #   PTHREAD_PRIO_INHERIT symbol is defined when compiling with
@@ -82,35 +82,40 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 21
+#serial 23
 
 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
 AC_DEFUN([AX_PTHREAD], [
 AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_SED])
 AC_LANG_PUSH([C])
 ax_pthread_ok=no
 
 # We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
+# requires special compiler flags (e.g. on Tru64 or Sequent).
 # It gets checked for in the link test anyway.
 
 # First of all, check if the user has set any of the PTHREAD_LIBS,
 # etcetera environment variables, and if threads linking works using
 # them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
-        save_CFLAGS="$CFLAGS"
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-        save_LIBS="$LIBS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
-        AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
+        AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
+        AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test x"$ax_pthread_ok" = xno; then
+        if test "x$ax_pthread_ok" = "xno"; then
                 PTHREAD_LIBS=""
                 PTHREAD_CFLAGS=""
         fi
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 fi
 
 # We must check for the threads library under a number of different
@@ -123,7 +128,7 @@
 # which indicates that we try without any flags at all, and "pthread-config"
 # which is a program returning the flags for the Pth emulation library.
 
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
 # The ordering *is* (sometimes) important.  Some notes on the
 # individual items follow:
@@ -132,82 +137,225 @@
 # none: in case threads are in libc; should be tried before -Kthread and
 #       other compiler flags to prevent continual compiler warnings
 # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
 # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-#      doesn't hurt to check since this sometimes defines pthreads too;
-#      also defines -D_REENTRANT)
-#      ... -mt is also the pthreads flag for HP/aCC
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
 # pthread: Linux, etcetera
 # --thread-safe: KAI C++
 # pthread-config: use pthread-config program (for GNU Pth library)
 
-case ${host_os} in
+case $host_os in
+
+        freebsd*)
+
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
+
+        hpux*)
+
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
+            [
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
+            ],
+            [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
+        ;;
+
         solaris*)
 
         # On Solaris (at least, for some versions), libc contains stubbed
         # (non-functional) versions of the pthreads routines, so link-based
-        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
-        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
-        # a function called by this macro, so we could check for that, but
-        # who knows whether they'll stub that too in a future libc.)  So,
-        # we'll just look for -pthreads and -lpthread first:
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
 
-        ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
-        ;;
-
-        darwin*)
-        ax_pthread_flags="-pthread $ax_pthread_flags"
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
         ;;
 esac
 
-# Clang doesn't consider unrecognized options an error unless we specify
-# -Werror. We throw in some extra Clang-specific options to ensure that
-# this doesn't happen for GCC, which also accepts -Werror.
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
-AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
-save_CFLAGS="$CFLAGS"
-ax_pthread_extra_flags="-Werror"
-CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
-                  [AC_MSG_RESULT([yes])],
-                  [ax_pthread_extra_flags=
-                   AC_MSG_RESULT([no])])
-CFLAGS="$save_CFLAGS"
+AS_IF([test "x$GCC" = "xyes"],
+      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
 
-if test x"$ax_pthread_ok" = xno; then
-for flag in $ax_pthread_flags; do
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
 
-        case $flag in
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
+        ;;
+
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
+        ;;
+esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+      [ax_pthread_check_cond=0],
+      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
+
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+    [ax_cv_PTHREAD_CLANG],
+    [ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+            ],
+            [ax_cv_PTHREAD_CLANG=yes])
+     fi
+    ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
+
+        ax_pthread_ok=yes
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
+
+        case $ax_pthread_try_flag in
                 none)
                 AC_MSG_CHECKING([whether pthreads work without any flags])
                 ;;
 
+                -mt,pthread)
+                AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
+
                 -*)
-                AC_MSG_CHECKING([whether pthreads work with $flag])
-                PTHREAD_CFLAGS="$flag"
+                AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
                 ;;
 
                 pthread-config)
                 AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
-                if test x"$ax_pthread_config" = xno; then continue; fi
+                AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
                 PTHREAD_CFLAGS="`pthread-config --cflags`"
                 PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
                 ;;
 
                 *)
-                AC_MSG_CHECKING([for the pthreads library -l$flag])
-                PTHREAD_LIBS="-l$flag"
+                AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
                 ;;
         esac
 
-        save_LIBS="$LIBS"
-        save_CFLAGS="$CFLAGS"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
 
         # Check for various functions.  We must include pthread.h,
         # since some functions may be macros.  (On the Sequent, we
@@ -218,7 +366,11 @@
         # pthread_cleanup_push because it is one of the few pthread
         # functions on Solaris that doesn't have a non-functional libc stub.
         # We try pthread_create on general principles.
+
         AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
+#                       if $ax_pthread_check_cond
+#                        error "$ax_pthread_check_macro must be defined"
+#                       endif
                         static void routine(void *a) { a = 0; }
                         static void *start_routine(void *a) { return a; }],
                        [pthread_t th; pthread_attr_t attr;
@@ -227,16 +379,14 @@
                         pthread_attr_init(&attr);
                         pthread_cleanup_push(routine, 0);
                         pthread_cleanup_pop(0) /* ; */])],
-                [ax_pthread_ok=yes],
-                [])
+            [ax_pthread_ok=yes],
+            [])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         AC_MSG_RESULT([$ax_pthread_ok])
-        if test "x$ax_pthread_ok" = xyes; then
-                break;
-        fi
+        AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
 
         PTHREAD_LIBS=""
         PTHREAD_CFLAGS=""
@@ -244,71 +394,74 @@
 fi
 
 # Various other checks:
-if test "x$ax_pthread_ok" = xyes; then
-        save_LIBS="$LIBS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        save_CFLAGS="$CFLAGS"
+if test "x$ax_pthread_ok" = "xyes"; then
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
 
         # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-        AC_MSG_CHECKING([for joinable pthread attribute])
-        attr_name=unknown
-        for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-            AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
-                           [int attr = $attr; return attr /* ; */])],
-                [attr_name=$attr; break],
-                [])
-        done
-        AC_MSG_RESULT([$attr_name])
-        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
-            AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
-                               [Define to necessary symbol if this constant
-                                uses a non-standard name on your system.])
-        fi
+        AC_CACHE_CHECK([for joinable pthread attribute],
+            [ax_cv_PTHREAD_JOINABLE_ATTR],
+            [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+                 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
+                                                 [int attr = $ax_pthread_attr; return attr /* ; */])],
+                                [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
+                                [])
+             done
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"],
+              [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
+                                  [$ax_cv_PTHREAD_JOINABLE_ATTR],
+                                  [Define to necessary symbol if this constant
+                                   uses a non-standard name on your system.])
+               ax_pthread_joinable_attr_defined=yes
+              ])
 
-        AC_MSG_CHECKING([if more special flags are required for pthreads])
-        flag=no
-        case ${host_os} in
-            aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
-            osf* | hpux*) flag="-D_REENTRANT";;
-            solaris*)
-            if test "$GCC" = "yes"; then
-                flag="-D_REENTRANT"
-            else
-                # TODO: What about Clang on Solaris?
-                flag="-mt -D_REENTRANT"
-            fi
-            ;;
-        esac
-        AC_MSG_RESULT([$flag])
-        if test "x$flag" != xno; then
-            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
-        fi
+        AC_CACHE_CHECK([whether more special flags are required for pthreads],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS=no
+             case $host_os in
+             solaris*)
+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+             ;;
+             esac
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+               test "x$ax_pthread_special_flags_added" != "xyes"],
+              [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+               ax_pthread_special_flags_added=yes])
 
         AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
-            [ax_cv_PTHREAD_PRIO_INHERIT], [
-                AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-                                                [[int i = PTHREAD_PRIO_INHERIT;]])],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=yes],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=no])
+            [ax_cv_PTHREAD_PRIO_INHERIT],
+            [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
+                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=no])
             ])
-        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
-            [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
+        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"],
+              [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
+               ax_pthread_prio_inherit_defined=yes
+              ])
 
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 
         # More AIX lossage: compile with *_r variant
-        if test "x$GCC" != xyes; then
+        if test "x$GCC" != "xyes"; then
             case $host_os in
                 aix*)
                 AS_CASE(["x/$CC"],
-                  [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
-                  [#handle absolute path differently from PATH based program lookup
-                   AS_CASE(["x$CC"],
-                     [x/*],
-                     [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
-                     [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+                    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+                    [#handle absolute path differently from PATH based program lookup
+                     AS_CASE(["x$CC"],
+                         [x/*],
+                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
                 ;;
             esac
         fi
@@ -321,7 +474,7 @@
 AC_SUBST([PTHREAD_CC])
 
 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$ax_pthread_ok" = xyes; then
+if test "x$ax_pthread_ok" = "xyes"; then
         ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
         :
 else
diff --git a/config.h.in b/config.h.in
index d433b89..6d38831 100644
--- a/config.h.in
+++ b/config.h.in
@@ -248,6 +248,9 @@
 /* Define if RDTSC is available */
 #undef HAVE_RDTSC
 
+/* Define to 1 if you have the <smmintrin.h> header file. */
+#undef HAVE_SMMINTRIN_H
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
diff --git a/configure b/configure
index bf26212..5fc42f9 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.8.2.
+# Generated by GNU Autoconf 2.69 for GStreamer Base Plug-ins 1.9.1.
 #
 # 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.8.2'
-PACKAGE_STRING='GStreamer Base Plug-ins 1.8.2'
+PACKAGE_VERSION='1.9.1'
+PACKAGE_STRING='GStreamer Base Plug-ins 1.9.1'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1789,7 +1789,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.8.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer Base Plug-ins 1.9.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1862,7 +1862,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.8.2:";;
+     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.9.1:";;
    esac
   cat <<\_ACEOF
 
@@ -2157,7 +2157,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Base Plug-ins configure 1.8.2
+GStreamer Base Plug-ins configure 1.9.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2930,7 +2930,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.8.2, which was
+It was created by GStreamer Base Plug-ins $as_me 1.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3909,7 +3909,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-base'
- VERSION='1.8.2'
+ VERSION='1.9.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4120,9 +4120,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.8.2 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.8.2 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.8.2 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.9.1 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.9.1 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.9.1 | cut -d'.' -f3)
 
 
 
@@ -4133,7 +4133,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.8.2 | cut -d'.' -f4)
+  NANO=$(echo 1.9.1 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8967,10 +8967,10 @@
 done
 
 
-  GST_CURRENT=802
+  GST_CURRENT=901
   GST_REVISION=0
-  GST_AGE=802
-  GST_LIBVERSION=802:0:802
+  GST_AGE=901
+  GST_LIBVERSION=901:0:901
 
 
 
@@ -13598,7 +13598,7 @@
 
 
 
-GST_REQ=1.8.0
+GST_REQ=1.9.1
 
 
 
@@ -23004,7 +23004,7 @@
 fi
 
 
-for ac_header in xmmintrin.h emmintrin.h
+for ac_header in xmmintrin.h emmintrin.h smmintrin.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -25830,6 +25830,10 @@
 fi
 
 
+if test x$enable_static = xyes -a x$enable_shared = xno; then
+  GST_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
+fi
+
 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
 NO_WARNINGS=""
 
@@ -31140,7 +31144,7 @@
 GST_PLUGINS_BASE_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
 
 
-GST_CFLAGS="$GST_CFLAGS"
+GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS"
 GST_CXXFLAGS="$GLIB_CFLAGS $GST_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CXXFLAGS)"
 GST_CFLAGS="$GLIB_CFLAGS $GST_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CFLAGS)"
 
@@ -31163,7 +31167,7 @@
 
 $MKDIR_P tests/check/orc
 
-ac_config_files="$ac_config_files Makefile gst-plugins-base.spec gst/Makefile gst/adder/Makefile gst/app/Makefile gst/audioconvert/Makefile gst/audiorate/Makefile gst/audiotestsrc/Makefile gst/encoding/Makefile gst/videoconvert/Makefile gst/gio/Makefile gst/playback/Makefile gst/audioresample/Makefile gst/subparse/Makefile gst/tcp/Makefile gst/typefind/Makefile gst/videotestsrc/Makefile gst/videorate/Makefile gst/videoscale/Makefile gst/volume/Makefile sys/Makefile sys/ximage/Makefile sys/xvimage/Makefile ext/Makefile ext/alsa/Makefile ext/cdparanoia/Makefile ext/libvisual/Makefile ext/ogg/Makefile ext/opus/Makefile ext/pango/Makefile ext/theora/Makefile ext/vorbis/Makefile gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/allocators/Makefile gst-libs/gst/audio/Makefile gst-libs/gst/app/Makefile gst-libs/gst/fft/Makefile gst-libs/gst/riff/Makefile gst-libs/gst/rtp/Makefile gst-libs/gst/rtsp/Makefile gst-libs/gst/sdp/Makefile gst-libs/gst/tag/Makefile gst-libs/gst/pbutils/Makefile gst-libs/gst/pbutils/gstpluginsbaseversion.h gst-libs/gst/video/Makefile tools/Makefile pkgconfig/Makefile pkgconfig/gstreamer-allocators.pc pkgconfig/gstreamer-allocators-uninstalled.pc pkgconfig/gstreamer-audio.pc pkgconfig/gstreamer-audio-uninstalled.pc pkgconfig/gstreamer-app.pc pkgconfig/gstreamer-app-uninstalled.pc pkgconfig/gstreamer-fft.pc pkgconfig/gstreamer-fft-uninstalled.pc pkgconfig/gstreamer-pbutils.pc pkgconfig/gstreamer-pbutils-uninstalled.pc pkgconfig/gstreamer-riff.pc pkgconfig/gstreamer-riff-uninstalled.pc pkgconfig/gstreamer-rtp.pc pkgconfig/gstreamer-rtp-uninstalled.pc pkgconfig/gstreamer-rtsp.pc pkgconfig/gstreamer-rtsp-uninstalled.pc pkgconfig/gstreamer-sdp.pc pkgconfig/gstreamer-sdp-uninstalled.pc pkgconfig/gstreamer-tag.pc pkgconfig/gstreamer-tag-uninstalled.pc pkgconfig/gstreamer-video.pc pkgconfig/gstreamer-video-uninstalled.pc pkgconfig/gstreamer-plugins-base.pc pkgconfig/gstreamer-plugins-base-uninstalled.pc tests/Makefile tests/check/Makefile tests/examples/Makefile tests/examples/app/Makefile tests/examples/audio/Makefile tests/examples/dynamic/Makefile tests/examples/encoding/Makefile tests/examples/fft/Makefile tests/examples/gio/Makefile tests/examples/overlay/Makefile tests/examples/seek/Makefile tests/examples/snapshot/Makefile tests/examples/playback/Makefile tests/examples/playrec/Makefile tests/files/Makefile tests/icles/Makefile tests/icles/playback/Makefile docs/Makefile docs/design/Makefile docs/libs/Makefile docs/plugins/Makefile docs/version.entities po/Makefile.in common/Makefile common/m4/Makefile m4/Makefile"
+ac_config_files="$ac_config_files Makefile gst-plugins-base.spec gst/Makefile gst/adder/Makefile gst/app/Makefile gst/audioconvert/Makefile gst/audiorate/Makefile gst/audiotestsrc/Makefile gst/encoding/Makefile gst/videoconvert/Makefile gst/gio/Makefile gst/playback/Makefile gst/audioresample/Makefile gst/subparse/Makefile gst/tcp/Makefile gst/typefind/Makefile gst/videotestsrc/Makefile gst/videorate/Makefile gst/videoscale/Makefile gst/volume/Makefile sys/Makefile sys/ximage/Makefile sys/xvimage/Makefile ext/Makefile ext/alsa/Makefile ext/cdparanoia/Makefile ext/libvisual/Makefile ext/ogg/Makefile ext/opus/Makefile ext/pango/Makefile ext/theora/Makefile ext/vorbis/Makefile gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/allocators/Makefile gst-libs/gst/audio/Makefile gst-libs/gst/app/Makefile gst-libs/gst/fft/Makefile gst-libs/gst/riff/Makefile gst-libs/gst/rtp/Makefile gst-libs/gst/rtsp/Makefile gst-libs/gst/sdp/Makefile gst-libs/gst/tag/Makefile gst-libs/gst/pbutils/Makefile gst-libs/gst/pbutils/gstpluginsbaseversion.h gst-libs/gst/video/Makefile tools/Makefile pkgconfig/Makefile pkgconfig/gstreamer-allocators.pc pkgconfig/gstreamer-allocators-uninstalled.pc pkgconfig/gstreamer-audio.pc pkgconfig/gstreamer-audio-uninstalled.pc pkgconfig/gstreamer-app.pc pkgconfig/gstreamer-app-uninstalled.pc pkgconfig/gstreamer-fft.pc pkgconfig/gstreamer-fft-uninstalled.pc pkgconfig/gstreamer-pbutils.pc pkgconfig/gstreamer-pbutils-uninstalled.pc pkgconfig/gstreamer-riff.pc pkgconfig/gstreamer-riff-uninstalled.pc pkgconfig/gstreamer-rtp.pc pkgconfig/gstreamer-rtp-uninstalled.pc pkgconfig/gstreamer-rtsp.pc pkgconfig/gstreamer-rtsp-uninstalled.pc pkgconfig/gstreamer-sdp.pc pkgconfig/gstreamer-sdp-uninstalled.pc pkgconfig/gstreamer-tag.pc pkgconfig/gstreamer-tag-uninstalled.pc pkgconfig/gstreamer-video.pc pkgconfig/gstreamer-video-uninstalled.pc pkgconfig/gstreamer-plugins-base.pc pkgconfig/gstreamer-plugins-base-uninstalled.pc tests/Makefile tests/check/Makefile tests/examples/Makefile tests/examples/app/Makefile tests/examples/audio/Makefile tests/examples/decodebin_next/Makefile tests/examples/dynamic/Makefile tests/examples/encoding/Makefile tests/examples/fft/Makefile tests/examples/gio/Makefile tests/examples/overlay/Makefile tests/examples/seek/Makefile tests/examples/snapshot/Makefile tests/examples/playback/Makefile tests/examples/playrec/Makefile tests/files/Makefile tests/icles/Makefile tests/icles/playback/Makefile docs/Makefile docs/design/Makefile docs/libs/Makefile docs/plugins/Makefile docs/version.entities po/Makefile.in common/Makefile common/m4/Makefile m4/Makefile"
 
 
 sed \
@@ -32083,7 +32087,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.8.2, which was
+This file was extended by GStreamer Base Plug-ins $as_me 1.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32149,7 +32153,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.8.2
+GStreamer Base Plug-ins config.status 1.9.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -32768,6 +32772,7 @@
     "tests/examples/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/Makefile" ;;
     "tests/examples/app/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/app/Makefile" ;;
     "tests/examples/audio/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/audio/Makefile" ;;
+    "tests/examples/decodebin_next/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/decodebin_next/Makefile" ;;
     "tests/examples/dynamic/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/dynamic/Makefile" ;;
     "tests/examples/encoding/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/encoding/Makefile" ;;
     "tests/examples/fft/Makefile") CONFIG_FILES="$CONFIG_FILES tests/examples/fft/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index a18f1c8..8da80d5 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.8.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
+AC_INIT([GStreamer Base Plug-ins],[1.9.1],[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, 802, 0, 802)
+AS_LIBTOOL(GST, 901, 0, 901)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.8.0
+GST_REQ=1.9.1
 
 dnl *** autotools stuff ****
 
@@ -174,7 +174,7 @@
 
 dnl check for GCC specific SSE headers
 dnl these are used by the speex resampler code
-AC_CHECK_HEADERS([xmmintrin.h emmintrin.h])
+AC_CHECK_HEADERS([xmmintrin.h emmintrin.h smmintrin.h])
 
 dnl used in gst/tcp
 AC_CHECK_HEADERS([sys/socket.h],
@@ -396,6 +396,12 @@
 AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
 AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
 
+dnl If only building static libraries, define GST_STATIC_COMPILATION. This is
+dnl needed only on Windows, but it doesn't hurt to have it everywhere.
+if test x$enable_static = xyes -a x$enable_shared = xno; then
+  GST_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
+fi
+
 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
 dnl make sure it doesn't complain about unused variables if debugging is disabled
 NO_WARNINGS=""
@@ -801,7 +807,7 @@
 
 dnl FIXME: do we want to rename to GST_ALL_* ?
 dnl add GST_OPTION_CFLAGS, but overridable
-GST_CFLAGS="$GST_CFLAGS"
+GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS"
 GST_CXXFLAGS="$GLIB_CFLAGS $GST_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CXXFLAGS)"
 GST_CFLAGS="$GLIB_CFLAGS $GST_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CFLAGS)"
 AC_SUBST(GST_CFLAGS)
@@ -912,6 +918,7 @@
 tests/examples/Makefile
 tests/examples/app/Makefile
 tests/examples/audio/Makefile
+tests/examples/decodebin_next/Makefile
 tests/examples/dynamic/Makefile
 tests/examples/encoding/Makefile
 tests/examples/fft/Makefile
diff --git a/docs/design/part-mediatype-video-raw.txt b/docs/design/part-mediatype-video-raw.txt
index 541b366..c7fc837 100644
--- a/docs/design/part-mediatype-video-raw.txt
+++ b/docs/design/part-mediatype-video-raw.txt
@@ -754,6 +754,30 @@
           default rstride: RU4 (width * 3)
           default size:    rstride (image) * height
 
+ "IYU2" packed 4:4:4 YUV, U-Y-V order
+
+       +--+--+--+ +--+--+--+
+       |U0|Y0|V0| |U1|Y1|V1| ...
+       +--+--+--+ +--+--+--+
+
+        Component 0: Y
+          depth:           8
+          pstride:         3
+          offset:          1
+
+        Component 1: U
+          depth            8
+          pstride:         3
+          offset:          0
+
+        Component 2: V
+          depth:           8
+          pstride:         3
+          offset:          2
+
+        Image
+          default rstride: RU4 (width * 3)
+          default size:    rstride (image) * height
 
  "RGB16" rgb 5-6-5 bits per component
 
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 433b8d1..1c97088 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -901,7 +901,11 @@
 
 @ENABLE_GTK_DOC_TRUE@sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(expand_content_files)
 @ENABLE_GTK_DOC_TRUE@	@echo '  DOC   Building XML'
-@ENABLE_GTK_DOC_TRUE@	@gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@	@_source_dir='' ;						\
+@ENABLE_GTK_DOC_TRUE@	for i in $(DOC_SOURCE_DIR) ; do					\
+@ENABLE_GTK_DOC_TRUE@	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+@ENABLE_GTK_DOC_TRUE@	done ;							        \
+@ENABLE_GTK_DOC_TRUE@	gtkdoc-mkdb --module=$(DOC_MODULE) $$(_source_dir)  --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
 @ENABLE_GTK_DOC_TRUE@	@cp ../version.entities xml
 @ENABLE_GTK_DOC_TRUE@	@touch sgml-build.stamp
 
diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt
index d00e67c..71623e1 100644
--- a/docs/libs/gst-plugins-base-libs-sections.txt
+++ b/docs/libs/gst-plugins-base-libs-sections.txt
@@ -49,6 +49,8 @@
 gst_app_src_set_latency
 gst_app_src_set_size
 gst_app_src_get_size
+gst_app_src_set_duration
+gst_app_src_get_duration
 gst_app_src_set_stream_type
 gst_app_src_get_stream_type
 gst_app_src_set_max_bytes
@@ -512,6 +514,7 @@
 gst_audio_buffer_reorder_channels
 gst_audio_reorder_channels
 gst_audio_get_channel_reorder_map
+gst_audio_channel_positions_to_string
 GstAudioChannelMixer
 GstAudioChannelMixerFlags
 gst_audio_channel_mixer_new
@@ -2217,6 +2220,8 @@
 gst_codec_utils_aac_get_index_from_sample_rate
 gst_codec_utils_aac_get_profile
 gst_codec_utils_aac_get_level
+gst_codec_utils_aac_get_channels
+gst_codec_utils_aac_get_sample_rate
 gst_codec_utils_aac_caps_set_level_and_profile
 <SUBSECTION>
 gst_codec_utils_h264_get_profile
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
deleted file mode 100644
index 6bea2fb..0000000
--- a/docs/libs/html/annotation-glossary.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Annotation Glossary: GStreamer Base Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
-<link rel="up" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
-<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_glossary"><a class="shortcut" href="#glsA">A</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsC">C</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsE">E</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsN">N</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsO">O</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsR">R</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsS">S</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#glsT">T</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
-</tr></table>
-<div class="glossary">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
-<a name="glsA"></a><h3 class="title">A</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
-<dd class="glossdef"><p>NULL is OK, both for passing and for returning.</p></dd>
-<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
-<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
-<a name="glsC"></a><h3 class="title">C</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-closure"></a>closure</span></dt>
-<dd class="glossdef"><p>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</p></dd>
-<a name="glsE"></a><h3 class="title">E</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
-<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
-<a name="glsN"></a><h3 class="title">N</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-nullable"></a>nullable</span></dt>
-<dd class="glossdef"><p>NULL may be passed as the value in, out, in-out; or as a return value.</p></dd>
-<a name="glsO"></a><h3 class="title">O</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
-<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
-<a name="glsR"></a><h3 class="title">R</h3>
-<dt><span class="glossterm"><a name="annotation-glossterm-rename-to"></a>rename-to</span></dt>
-<dd class="glossdef"><p>Rename the original symbol's name to SYMBOL.</p></dd>
-<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>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20floating"></a>transfer floating</span></dt>
-<dd class="glossdef"><p>Alias for <acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>, used for objects with floating refs.</p></dd>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
-<dd class="glossdef"><p>Free data after the code is done.</p></dd>
-<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
-<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
-<dt><span class="glossterm"><a name="annotation-glossterm-type"></a>type</span></dt>
-<dd class="glossdef"><p>Override the parsed C type with given type.</p></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/libs/html/api-index-deprecated.html b/docs/libs/html/api-index-deprecated.html
index 4267675..7021e9c 100644
--- a/docs/libs/html/api-index-deprecated.html
+++ b/docs/libs/html/api-index-deprecated.html
@@ -7,40 +7,21 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
 <link rel="up" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
 <link rel="prev" href="api-index-full.html" title="Index">
-<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxD">D</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxR">R</a>
-                     <span class="dim">|</span> 
-                  <a class="shortcut" href="#idxV">V</a></span></td>
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxV">V</a></span></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
 <td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
 </tr></table>
 <div class="index">
 <div class="titlepage"><div><div><h1 class="title">
 <a name="api-index-deprecated"></a>Index of deprecated API</h1></div></div></div>
-<a name="idx"></a><a name="idxD"></a><h3 class="title">D</h3>
-<dt>
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-misc" title="gst_discoverer_info_get_misc ()">gst_discoverer_info_get_misc</a>, function in <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html" title="gstdiscoverer">gstdiscoverer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-misc" title="gst_discoverer_stream_info_get_misc ()">gst_discoverer_stream_info_get_misc</a>, function in <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html" title="gstdiscoverer">gstdiscoverer</a>
-</dt>
-<dd></dd>
-<a name="idxR"></a><h3 class="title">R</h3>
-<dt>
-<a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-get-mime" title="gst_rtsp_transport_get_mime ()">gst_rtsp_transport_get_mime</a>, function in <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html" title="gstrtsptransport">gstrtsptransport</a>
-</dt>
-<dd></dd>
-<a name="idxV"></a><h3 class="title">V</h3>
+<a name="idx"></a><a name="idxV"></a><h3 class="title">V</h3>
 <dt>
 <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GST-VIDEO-ENCODER-FLOW-DROPPED:CAPS" title="GST_VIDEO_ENCODER_FLOW_DROPPED">GST_VIDEO_ENCODER_FLOW_DROPPED</a>, macro in <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html" title="GstVideoEncoder">GstVideoEncoder</a>
 </dt>
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 2885655..c1bd9dc 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -122,6 +122,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-duration" title="gst_app_src_get_duration ()">gst_app_src_get_duration</a>, function in <a class="link" href="gst-plugins-base-libs-appsrc.html" title="appsrc">appsrc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-emit-signals" title="gst_app_src_get_emit_signals ()">gst_app_src_get_emit_signals</a>, function in <a class="link" href="gst-plugins-base-libs-appsrc.html" title="appsrc">appsrc</a>
 </dt>
 <dd></dd>
@@ -158,6 +162,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-duration" title="gst_app_src_set_duration ()">gst_app_src_set_duration</a>, function in <a class="link" href="gst-plugins-base-libs-appsrc.html" title="appsrc">appsrc</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-emit-signals" title="gst_app_src_set_emit_signals ()">gst_app_src_set_emit_signals</a>, function in <a class="link" href="gst-plugins-base-libs-appsrc.html" title="appsrc">appsrc</a>
 </dt>
 <dd></dd>
@@ -610,6 +618,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-positions-to-string" title="gst_audio_channel_positions_to_string ()">gst_audio_channel_positions_to_string</a>, function in <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html" title="gstaudiochannels">gstaudiochannels</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-positions-to-valid-order" title="gst_audio_channel_positions_to_valid_order ()">gst_audio_channel_positions_to_valid_order</a>, function in <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html" title="gstaudiochannels">gstaudiochannels</a>
 </dt>
 <dd></dd>
@@ -1440,6 +1452,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-channels" title="gst_codec_utils_aac_get_channels ()">gst_codec_utils_aac_get_channels</a>, function in <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html" title="gstpbutilscodecutils">gstpbutilscodecutils</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-index-from-sample-rate" title="gst_codec_utils_aac_get_index_from_sample_rate ()">gst_codec_utils_aac_get_index_from_sample_rate</a>, function in <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html" title="gstpbutilscodecutils">gstpbutilscodecutils</a>
 </dt>
 <dd></dd>
@@ -1452,6 +1468,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-sample-rate" title="gst_codec_utils_aac_get_sample_rate ()">gst_codec_utils_aac_get_sample_rate</a>, function in <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html" title="gstpbutilscodecutils">gstpbutilscodecutils</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-sample-rate-from-index" title="gst_codec_utils_aac_get_sample_rate_from_index ()">gst_codec_utils_aac_get_sample_rate_from_index</a>, function in <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html" title="gstpbutilscodecutils">gstpbutilscodecutils</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2 b/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
index 5fa911b..3a5daee 100644
--- a/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-base-libs-1.0.devhelp2
@@ -111,35 +111,36 @@
     <sub name="Object Hierarchy" link="gstreamer-libs-hierarchy.html"/>
     <sub name="Index" link="api-index-full.html"/>
     <sub name="Index of deprecated API" link="api-index-deprecated.html"/>
-    <sub name="Annotation Glossary" link="annotation-glossary.html"/>
   </chapters>
   <functions>
-    <keyword type="function" name="gst_dmabuf_allocator_new ()" link="gst-plugins-base-libs-dmabuf.html#gst-dmabuf-allocator-new" since="1.2"/>
-    <keyword type="function" name="gst_dmabuf_allocator_alloc ()" link="gst-plugins-base-libs-dmabuf.html#gst-dmabuf-allocator-alloc" since="1.2"/>
-    <keyword type="function" name="gst_dmabuf_memory_get_fd ()" link="gst-plugins-base-libs-dmabuf.html#gst-dmabuf-memory-get-fd" since="1.2"/>
-    <keyword type="function" name="gst_is_dmabuf_memory ()" link="gst-plugins-base-libs-dmabuf.html#gst-is-dmabuf-memory" since="1.2"/>
-    <keyword type="function" name="gst_fd_allocator_alloc ()" link="gst-plugins-base-libs-fdmemory.html#gst-fd-allocator-alloc" since="1.6"/>
+    <keyword type="function" name="gst_dmabuf_allocator_new ()" link="gst-plugins-base-libs-dmabuf.html#gst-dmabuf-allocator-new"/>
+    <keyword type="function" name="gst_dmabuf_allocator_alloc ()" link="gst-plugins-base-libs-dmabuf.html#gst-dmabuf-allocator-alloc"/>
+    <keyword type="function" name="gst_dmabuf_memory_get_fd ()" link="gst-plugins-base-libs-dmabuf.html#gst-dmabuf-memory-get-fd"/>
+    <keyword type="function" name="gst_is_dmabuf_memory ()" link="gst-plugins-base-libs-dmabuf.html#gst-is-dmabuf-memory"/>
+    <keyword type="function" name="gst_fd_allocator_alloc ()" link="gst-plugins-base-libs-fdmemory.html#gst-fd-allocator-alloc"/>
     <keyword type="function" name="gst_fd_allocator_get_type ()" link="gst-plugins-base-libs-fdmemory.html#gst-fd-allocator-get-type"/>
-    <keyword type="function" name="gst_fd_allocator_new ()" link="gst-plugins-base-libs-fdmemory.html#gst-fd-allocator-new" since="1.6"/>
-    <keyword type="function" name="gst_fd_memory_get_fd ()" link="gst-plugins-base-libs-fdmemory.html#gst-fd-memory-get-fd" since="1.6"/>
-    <keyword type="function" name="gst_is_fd_memory ()" link="gst-plugins-base-libs-fdmemory.html#gst-is-fd-memory" since="1.6"/>
-    <keyword type="enum" name="enum GstFdMemoryFlags" link="gst-plugins-base-libs-fdmemory.html#GstFdMemoryFlags" since="1.6"/>
+    <keyword type="function" name="gst_fd_allocator_new ()" link="gst-plugins-base-libs-fdmemory.html#gst-fd-allocator-new"/>
+    <keyword type="function" name="gst_fd_memory_get_fd ()" link="gst-plugins-base-libs-fdmemory.html#gst-fd-memory-get-fd"/>
+    <keyword type="function" name="gst_is_fd_memory ()" link="gst-plugins-base-libs-fdmemory.html#gst-is-fd-memory"/>
+    <keyword type="enum" name="enum GstFdMemoryFlags" link="gst-plugins-base-libs-fdmemory.html#GstFdMemoryFlags"/>
     <keyword type="function" name="gst_app_src_set_caps ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-caps"/>
     <keyword type="function" name="gst_app_src_get_caps ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-caps"/>
     <keyword type="function" name="gst_app_src_get_latency ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-latency"/>
     <keyword type="function" name="gst_app_src_set_latency ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-latency"/>
     <keyword type="function" name="gst_app_src_set_size ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-size"/>
     <keyword type="function" name="gst_app_src_get_size ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-size"/>
+    <keyword type="function" name="gst_app_src_set_duration ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-duration"/>
+    <keyword type="function" name="gst_app_src_get_duration ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-duration"/>
     <keyword type="function" name="gst_app_src_set_stream_type ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-stream-type"/>
     <keyword type="function" name="gst_app_src_get_stream_type ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-stream-type"/>
     <keyword type="function" name="gst_app_src_set_max_bytes ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-max-bytes"/>
     <keyword type="function" name="gst_app_src_get_max_bytes ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-max-bytes"/>
-    <keyword type="function" name="gst_app_src_get_current_level_bytes ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-current-level-bytes" since="1.2"/>
+    <keyword type="function" name="gst_app_src_get_current_level_bytes ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-current-level-bytes"/>
     <keyword type="function" name="gst_app_src_get_emit_signals ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-get-emit-signals"/>
     <keyword type="function" name="gst_app_src_set_emit_signals ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-emit-signals"/>
     <keyword type="function" name="gst_app_src_set_callbacks ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-set-callbacks"/>
     <keyword type="function" name="gst_app_src_push_buffer ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-push-buffer"/>
-    <keyword type="function" name="gst_app_src_push_sample ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-push-sample" since="1.6"/>
+    <keyword type="function" name="gst_app_src_push_sample ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-push-sample"/>
     <keyword type="function" name="gst_app_src_end_of_stream ()" link="gst-plugins-base-libs-appsrc.html#gst-app-src-end-of-stream"/>
     <keyword type="enum" name="enum GstAppStreamType" link="gst-plugins-base-libs-appsrc.html#GstAppStreamType"/>
     <keyword type="struct" name="GstAppSrcCallbacks" link="gst-plugins-base-libs-appsrc.html#GstAppSrcCallbacks"/>
@@ -167,7 +168,7 @@
     <keyword type="function" name="gst_audio_info_free ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-info-free"/>
     <keyword type="function" name="gst_audio_info_new ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-info-new"/>
     <keyword type="function" name="gst_audio_info_set_format ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-info-set-format"/>
-    <keyword type="function" name="gst_audio_info_is_equal ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-info-is-equal" since="1.2"/>
+    <keyword type="function" name="gst_audio_info_is_equal ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-info-is-equal"/>
     <keyword type="function" name="gst_audio_format_build_integer ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-format-build-integer"/>
     <keyword type="function" name="gst_audio_format_fill_silence ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-format-fill-silence"/>
     <keyword type="function" name="gst_audio_format_from_string ()" link="gst-plugins-base-libs-gstaudio.html#gst-audio-format-from-string"/>
@@ -215,9 +216,9 @@
     <keyword type="struct" name="struct GstAudioInfo" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo"/>
     <keyword type="enum" name="enum GstAudioLayout" link="gst-plugins-base-libs-gstaudio.html#GstAudioLayout"/>
     <keyword type="enum" name="enum GstAudioPackFlags" link="gst-plugins-base-libs-gstaudio.html#GstAudioPackFlags"/>
-    <keyword type="macro" name="GST_META_TAG_AUDIO_STR" link="gst-plugins-base-libs-gstaudio.html#GST-META-TAG-AUDIO-STR:CAPS" since="1.2"/>
-    <keyword type="macro" name="GST_META_TAG_AUDIO_CHANNELS_STR" link="gst-plugins-base-libs-gstaudio.html#GST-META-TAG-AUDIO-CHANNELS-STR:CAPS" since="1.2"/>
-    <keyword type="macro" name="GST_META_TAG_AUDIO_RATE_STR" link="gst-plugins-base-libs-gstaudio.html#GST-META-TAG-AUDIO-RATE-STR:CAPS" since="1.8"/>
+    <keyword type="macro" name="GST_META_TAG_AUDIO_STR" link="gst-plugins-base-libs-gstaudio.html#GST-META-TAG-AUDIO-STR:CAPS"/>
+    <keyword type="macro" name="GST_META_TAG_AUDIO_CHANNELS_STR" link="gst-plugins-base-libs-gstaudio.html#GST-META-TAG-AUDIO-CHANNELS-STR:CAPS"/>
+    <keyword type="macro" name="GST_META_TAG_AUDIO_RATE_STR" link="gst-plugins-base-libs-gstaudio.html#GST-META-TAG-AUDIO-RATE-STR:CAPS"/>
     <keyword type="macro" name="GST_AUDIO_RATE_RANGE" link="gst-plugins-base-libs-gstaudio.html#GST-AUDIO-RATE-RANGE:CAPS"/>
     <keyword type="macro" name="GST_AUDIO_CHANNELS_RANGE" link="gst-plugins-base-libs-gstaudio.html#GST-AUDIO-CHANNELS-RANGE:CAPS"/>
     <keyword type="macro" name="GST_AUDIO_FORMATS_ALL" link="gst-plugins-base-libs-gstaudio.html#GST-AUDIO-FORMATS-ALL:CAPS"/>
@@ -227,10 +228,10 @@
     <keyword type="function" name="gst_buffer_add_audio_downmix_meta ()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-add-audio-downmix-meta"/>
     <keyword type="macro" name="gst_buffer_get_audio_downmix_meta()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-get-audio-downmix-meta"/>
     <keyword type="function" name="gst_buffer_get_audio_downmix_meta_for_channels ()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-get-audio-downmix-meta-for-channels"/>
-    <keyword type="function" name="gst_buffer_add_audio_clipping_meta ()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-add-audio-clipping-meta" since="1.8"/>
+    <keyword type="function" name="gst_buffer_add_audio_clipping_meta ()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-add-audio-clipping-meta"/>
     <keyword type="macro" name="gst_buffer_get_audio_clipping_meta()" link="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-get-audio-clipping-meta"/>
     <keyword type="struct" name="struct GstAudioDownmixMeta" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta"/>
-    <keyword type="struct" name="struct GstAudioClippingMeta" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta" since="1.8"/>
+    <keyword type="struct" name="struct GstAudioClippingMeta" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta"/>
     <keyword type="function" name="gst_audio_cd_src_add_track ()" link="gst-plugins-base-libs-gstaudiocdsrc.html#gst-audio-cd-src-add-track"/>
     <keyword type="struct" name="struct GstAudioCdSrc" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc-struct"/>
     <keyword type="struct" name="struct GstAudioCdSrcClass" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass"/>
@@ -276,7 +277,7 @@
     <keyword type="function" name="gst_audio_decoder_set_plc_aware ()" link="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-set-plc-aware"/>
     <keyword type="function" name="gst_audio_decoder_set_tolerance ()" link="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-set-tolerance"/>
     <keyword type="function" name="gst_audio_decoder_merge_tags ()" link="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-merge-tags"/>
-    <keyword type="function" name="gst_audio_decoder_proxy_getcaps ()" link="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-proxy-getcaps" since="1.6"/>
+    <keyword type="function" name="gst_audio_decoder_proxy_getcaps ()" link="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-proxy-getcaps"/>
     <keyword type="struct" name="struct GstAudioDecoder" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder-struct"/>
     <keyword type="struct" name="struct GstAudioDecoderClass" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass"/>
     <keyword type="macro" name="GST_AUDIO_DECODER_SINK_NAME" link="gst-plugins-base-libs-gstaudiodecoder.html#GST-AUDIO-DECODER-SINK-NAME:CAPS"/>
@@ -332,7 +333,7 @@
     <keyword type="struct" name="struct GstAudioSinkClass" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass"/>
     <keyword type="struct" name="struct GstAudioSrc" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrc-struct"/>
     <keyword type="struct" name="struct GstAudioSrcClass" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass"/>
-    <keyword type="function" name="GstAudioBaseSinkCustomSlavingCallback ()" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkCustomSlavingCallback" since="1.6"/>
+    <keyword type="function" name="GstAudioBaseSinkCustomSlavingCallback ()" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkCustomSlavingCallback"/>
     <keyword type="macro" name="GST_AUDIO_BASE_SINK_CLOCK()" link="gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-CLOCK:CAPS"/>
     <keyword type="macro" name="GST_AUDIO_BASE_SINK_PAD()" link="gst-plugins-base-libs-gstaudiobasesink.html#GST-AUDIO-BASE-SINK-PAD:CAPS"/>
     <keyword type="function" name="gst_audio_base_sink_create_ringbuffer ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-create-ringbuffer"/>
@@ -346,12 +347,12 @@
     <keyword type="function" name="gst_audio_base_sink_get_alignment_threshold ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-get-alignment-threshold"/>
     <keyword type="function" name="gst_audio_base_sink_set_discont_wait ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-set-discont-wait"/>
     <keyword type="function" name="gst_audio_base_sink_get_discont_wait ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-get-discont-wait"/>
-    <keyword type="function" name="gst_audio_base_sink_set_custom_slaving_callback ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-set-custom-slaving-callback" since="1.6"/>
-    <keyword type="function" name="gst_audio_base_sink_report_device_failure ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-report-device-failure" since="1.6"/>
+    <keyword type="function" name="gst_audio_base_sink_set_custom_slaving_callback ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-set-custom-slaving-callback"/>
+    <keyword type="function" name="gst_audio_base_sink_report_device_failure ()" link="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-report-device-failure"/>
     <keyword type="struct" name="struct GstAudioBaseSink" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink-struct"/>
     <keyword type="struct" name="struct GstAudioBaseSinkClass" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkClass"/>
     <keyword type="enum" name="enum GstAudioBaseSinkSlaveMethod" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkSlaveMethod"/>
-    <keyword type="enum" name="enum GstAudioBaseSinkDiscontReason" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkDiscontReason" since="1.6"/>
+    <keyword type="enum" name="enum GstAudioBaseSinkDiscontReason" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkDiscontReason"/>
     <keyword type="property" name="The “alignment-threshold” property" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink--alignment-threshold"/>
     <keyword type="property" name="The “buffer-time” property" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink--buffer-time"/>
     <keyword type="property" name="The “can-activate-pull” property" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink--can-activate-pull"/>
@@ -380,11 +381,12 @@
     <keyword type="function" name="gst_audio_channel_positions_to_mask ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-positions-to-mask"/>
     <keyword type="function" name="gst_audio_channel_positions_from_mask ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-positions-from-mask"/>
     <keyword type="function" name="gst_audio_channel_positions_to_valid_order ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-positions-to-valid-order"/>
-    <keyword type="function" name="gst_audio_channel_get_fallback_mask ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-get-fallback-mask" since="1.8"/>
+    <keyword type="function" name="gst_audio_channel_get_fallback_mask ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-get-fallback-mask"/>
     <keyword type="function" name="gst_audio_check_valid_channel_positions ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-check-valid-channel-positions"/>
     <keyword type="function" name="gst_audio_buffer_reorder_channels ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-buffer-reorder-channels"/>
     <keyword type="function" name="gst_audio_reorder_channels ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-reorder-channels"/>
     <keyword type="function" name="gst_audio_get_channel_reorder_map ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-get-channel-reorder-map"/>
+    <keyword type="function" name="gst_audio_channel_positions_to_string ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-positions-to-string"/>
     <keyword type="function" name="gst_audio_channel_mixer_new ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mixer-new"/>
     <keyword type="function" name="gst_audio_channel_mixer_free ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mixer-free"/>
     <keyword type="function" name="gst_audio_channel_mixer_is_passthrough ()" link="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mixer-is-passthrough"/>
@@ -567,7 +569,7 @@
     <keyword type="function" name="gst_rtp_buffer_get_extension ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-extension"/>
     <keyword type="function" name="gst_rtp_buffer_set_extension ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-set-extension"/>
     <keyword type="function" name="gst_rtp_buffer_get_extension_data ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-extension-data"/>
-    <keyword type="function" name="gst_rtp_buffer_get_extension_bytes ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-extension-bytes" since="1.2"/>
+    <keyword type="function" name="gst_rtp_buffer_get_extension_bytes ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-extension-bytes"/>
     <keyword type="function" name="gst_rtp_buffer_get_ssrc ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-ssrc"/>
     <keyword type="function" name="gst_rtp_buffer_set_ssrc ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-set-ssrc"/>
     <keyword type="function" name="gst_rtp_buffer_get_csrc_count ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-csrc-count"/>
@@ -584,7 +586,7 @@
     <keyword type="function" name="gst_rtp_buffer_get_payload_buffer ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-payload-buffer"/>
     <keyword type="function" name="gst_rtp_buffer_get_payload_subbuffer ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-payload-subbuffer"/>
     <keyword type="function" name="gst_rtp_buffer_get_payload_len ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-payload-len"/>
-    <keyword type="function" name="gst_rtp_buffer_get_payload_bytes ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-payload-bytes" since="1.2"/>
+    <keyword type="function" name="gst_rtp_buffer_get_payload_bytes ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-payload-bytes"/>
     <keyword type="function" name="gst_rtp_buffer_get_payload ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-get-payload"/>
     <keyword type="function" name="gst_rtp_buffer_default_clock_rate ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-default-clock-rate"/>
     <keyword type="function" name="gst_rtp_buffer_compare_seqnum ()" link="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-compare-seqnum"/>
@@ -599,8 +601,8 @@
     <keyword type="macro" name="GST_RTP_BUFFER_INIT" link="gst-plugins-base-libs-gstrtpbuffer.html#GST-RTP-BUFFER-INIT:CAPS"/>
     <keyword type="function" name="gst_rtcp_buffer_new_take_data ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-new-take-data"/>
     <keyword type="function" name="gst_rtcp_buffer_new_copy_data ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-new-copy-data"/>
-    <keyword type="function" name="gst_rtcp_buffer_validate_data_reduced ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate-data-reduced" since="1.6"/>
-    <keyword type="function" name="gst_rtcp_buffer_validate_reduced ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate-reduced" since="1.6"/>
+    <keyword type="function" name="gst_rtcp_buffer_validate_data_reduced ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate-data-reduced"/>
+    <keyword type="function" name="gst_rtcp_buffer_validate_reduced ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate-reduced"/>
     <keyword type="function" name="gst_rtcp_buffer_validate_data ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate-data"/>
     <keyword type="function" name="gst_rtcp_buffer_validate ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate"/>
     <keyword type="function" name="gst_rtcp_buffer_new ()" link="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-new"/>
@@ -705,23 +707,23 @@
     <keyword type="function" name="gst_rtsp_connection_set_proxy ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-proxy"/>
     <keyword type="function" name="gst_rtsp_connection_get_read_socket ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-read-socket"/>
     <keyword type="function" name="gst_rtsp_connection_get_write_socket ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-write-socket"/>
-    <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_connection_get_tls ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls"/>
+    <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"/>
+    <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"/>
+    <keyword type="function" name="gst_rtsp_connection_set_tls_database ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-database"/>
+    <keyword type="function" name="gst_rtsp_connection_get_tls_database ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-database"/>
+    <keyword type="function" name="gst_rtsp_connection_set_tls_interaction ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-set-tls-interaction"/>
+    <keyword type="function" name="gst_rtsp_connection_get_tls_interaction ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-get-tls-interaction"/>
     <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"/>
     <keyword type="function" name="gst_rtsp_watch_reset ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-reset"/>
     <keyword type="function" name="gst_rtsp_watch_send_message ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-send-message"/>
     <keyword type="function" name="gst_rtsp_watch_write_data ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-write-data"/>
-    <keyword type="function" name="gst_rtsp_watch_get_send_backlog ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-get-send-backlog" since="1.2"/>
-    <keyword type="function" name="gst_rtsp_watch_set_send_backlog ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-set-send-backlog" since="1.2"/>
-    <keyword type="function" name="gst_rtsp_watch_set_flushing ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-set-flushing" since="1.4"/>
-    <keyword type="function" name="gst_rtsp_watch_wait_backlog ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-wait-backlog" since="1.4"/>
+    <keyword type="function" name="gst_rtsp_watch_get_send_backlog ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-get-send-backlog"/>
+    <keyword type="function" name="gst_rtsp_watch_set_send_backlog ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-set-send-backlog"/>
+    <keyword type="function" name="gst_rtsp_watch_set_flushing ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-set-flushing"/>
+    <keyword type="function" name="gst_rtsp_watch_wait_backlog ()" link="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-wait-backlog"/>
     <keyword type="struct" name="GstRTSPConnection" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection"/>
     <keyword type="struct" name="GstRTSPWatch" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch"/>
     <keyword type="struct" name="GstRTSPWatchFuncs" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs"/>
@@ -733,7 +735,7 @@
     <keyword type="function" name="gst_rtsp_header_allow_multiple ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-header-allow-multiple"/>
     <keyword type="function" name="gst_rtsp_status_as_text ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-status-as-text"/>
     <keyword type="function" name="gst_rtsp_options_as_text ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-options-as-text"/>
-    <keyword type="function" name="gst_rtsp_options_from_text ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-options-from-text" since="1.2"/>
+    <keyword type="function" name="gst_rtsp_options_from_text ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-options-from-text"/>
     <keyword type="function" name="gst_rtsp_find_header_field ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-find-header-field"/>
     <keyword type="function" name="gst_rtsp_find_method ()" link="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-find-method"/>
     <keyword type="macro" name="GST_RTSP_AUTH_MAX" link="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-AUTH-MAX:CAPS"/>
@@ -766,10 +768,10 @@
     <keyword type="function" name="gst_rtsp_message_take_header ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-take-header"/>
     <keyword type="function" name="gst_rtsp_message_remove_header ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-remove-header"/>
     <keyword type="function" name="gst_rtsp_message_get_header ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-get-header"/>
-    <keyword type="function" name="gst_rtsp_message_add_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-add-header-by-name" since="1.6"/>
-    <keyword type="function" name="gst_rtsp_message_take_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-take-header-by-name" since="1.6"/>
-    <keyword type="function" name="gst_rtsp_message_remove_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-remove-header-by-name" since="1.6"/>
-    <keyword type="function" name="gst_rtsp_message_get_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-get-header-by-name" since="1.6"/>
+    <keyword type="function" name="gst_rtsp_message_add_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-add-header-by-name"/>
+    <keyword type="function" name="gst_rtsp_message_take_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-take-header-by-name"/>
+    <keyword type="function" name="gst_rtsp_message_remove_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-remove-header-by-name"/>
+    <keyword type="function" name="gst_rtsp_message_get_header_by_name ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-get-header-by-name"/>
     <keyword type="function" name="gst_rtsp_message_append_headers ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-append-headers"/>
     <keyword type="function" name="gst_rtsp_message_set_body ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-set-body"/>
     <keyword type="function" name="gst_rtsp_message_take_body ()" link="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-take-body"/>
@@ -779,20 +781,20 @@
     <keyword type="enum" name="enum GstRTSPMsgType" link="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMsgType"/>
     <keyword type="struct" name="struct GstRTSPMessage" link="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage"/>
     <keyword type="function" name="gst_rtsp_range_parse ()" link="gst-plugins-base-libs-gstrtsprange.html#gst-rtsp-range-parse"/>
-    <keyword type="function" name="gst_rtsp_range_get_times ()" link="gst-plugins-base-libs-gstrtsprange.html#gst-rtsp-range-get-times" since="1.2"/>
+    <keyword type="function" name="gst_rtsp_range_get_times ()" link="gst-plugins-base-libs-gstrtsprange.html#gst-rtsp-range-get-times"/>
     <keyword type="function" name="gst_rtsp_range_to_string ()" link="gst-plugins-base-libs-gstrtsprange.html#gst-rtsp-range-to-string"/>
     <keyword type="function" name="gst_rtsp_range_convert_units ()" link="gst-plugins-base-libs-gstrtsprange.html#gst-rtsp-range-convert-units"/>
     <keyword type="function" name="gst_rtsp_range_free ()" link="gst-plugins-base-libs-gstrtsprange.html#gst-rtsp-range-free"/>
     <keyword type="enum" name="enum GstRTSPRangeUnit" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPRangeUnit"/>
     <keyword type="struct" name="struct GstRTSPTimeRange" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange"/>
     <keyword type="struct" name="struct GstRTSPTime" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime"/>
-    <keyword type="struct" name="struct GstRTSPTime2" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2" since="1.2"/>
+    <keyword type="struct" name="struct GstRTSPTime2" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2"/>
     <keyword type="enum" name="enum GstRTSPTimeType" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeType"/>
     <keyword type="function" name="gst_rtsp_transport_new ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-new"/>
     <keyword type="function" name="gst_rtsp_transport_init ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-init"/>
     <keyword type="function" name="gst_rtsp_transport_parse ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-parse"/>
     <keyword type="function" name="gst_rtsp_transport_as_text ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-as-text"/>
-    <keyword type="function" name="gst_rtsp_transport_get_mime ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-get-mime" deprecated=""/>
+    <keyword type="function" name="gst_rtsp_transport_get_mime ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-get-mime"/>
     <keyword type="function" name="gst_rtsp_transport_get_manager ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-get-manager"/>
     <keyword type="function" name="gst_rtsp_transport_free ()" link="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-free"/>
     <keyword type="enum" name="enum GstRTSPTransMode" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransMode"/>
@@ -809,18 +811,18 @@
     <keyword type="function" name="gst_rtsp_url_decode_path_components ()" link="gst-plugins-base-libs-gstrtspurl.html#gst-rtsp-url-decode-path-components"/>
     <keyword type="macro" name="GST_RTSP_DEFAULT_PORT" link="gst-plugins-base-libs-gstrtspurl.html#GST-RTSP-DEFAULT-PORT:CAPS"/>
     <keyword type="struct" name="struct GstRTSPUrl" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl"/>
-    <keyword type="function" name="gst_sdp_connection_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-connection-set" since="1.2"/>
-    <keyword type="function" name="gst_sdp_connection_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-connection-clear" since="1.2"/>
-    <keyword type="function" name="gst_sdp_bandwidth_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-bandwidth-set" since="1.2"/>
-    <keyword type="function" name="gst_sdp_bandwidth_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-bandwidth-clear" since="1.2"/>
-    <keyword type="function" name="gst_sdp_time_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-time-set" since="1.2"/>
-    <keyword type="function" name="gst_sdp_time_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-time-clear" since="1.2"/>
-    <keyword type="function" name="gst_sdp_zone_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-zone-set" since="1.2"/>
-    <keyword type="function" name="gst_sdp_zone_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-zone-clear" since="1.2"/>
-    <keyword type="function" name="gst_sdp_attribute_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-attribute-set" since="1.2"/>
-    <keyword type="function" name="gst_sdp_attribute_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-attribute-clear" since="1.2"/>
+    <keyword type="function" name="gst_sdp_connection_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-connection-set"/>
+    <keyword type="function" name="gst_sdp_connection_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-connection-clear"/>
+    <keyword type="function" name="gst_sdp_bandwidth_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-bandwidth-set"/>
+    <keyword type="function" name="gst_sdp_bandwidth_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-bandwidth-clear"/>
+    <keyword type="function" name="gst_sdp_time_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-time-set"/>
+    <keyword type="function" name="gst_sdp_time_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-time-clear"/>
+    <keyword type="function" name="gst_sdp_zone_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-zone-set"/>
+    <keyword type="function" name="gst_sdp_zone_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-zone-clear"/>
+    <keyword type="function" name="gst_sdp_attribute_set ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-attribute-set"/>
+    <keyword type="function" name="gst_sdp_attribute_clear ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-attribute-clear"/>
     <keyword type="function" name="gst_sdp_message_new ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-new"/>
-    <keyword type="function" name="gst_sdp_message_copy ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-copy" since="1.2"/>
+    <keyword type="function" name="gst_sdp_message_copy ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-copy"/>
     <keyword type="function" name="gst_sdp_message_init ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-init"/>
     <keyword type="function" name="gst_sdp_message_uninit ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-uninit"/>
     <keyword type="function" name="gst_sdp_message_free ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-free"/>
@@ -841,35 +843,35 @@
     <keyword type="function" name="gst_sdp_message_set_uri ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-set-uri"/>
     <keyword type="function" name="gst_sdp_message_emails_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-emails-len"/>
     <keyword type="function" name="gst_sdp_message_get_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-email"/>
-    <keyword type="function" name="gst_sdp_message_insert_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-email" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_replace_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-email" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_remove_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-email" since="1.2"/>
+    <keyword type="function" name="gst_sdp_message_insert_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-email"/>
+    <keyword type="function" name="gst_sdp_message_replace_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-email"/>
+    <keyword type="function" name="gst_sdp_message_remove_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-email"/>
     <keyword type="function" name="gst_sdp_message_add_email ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-add-email"/>
     <keyword type="function" name="gst_sdp_message_phones_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-phones-len"/>
     <keyword type="function" name="gst_sdp_message_get_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-phone"/>
-    <keyword type="function" name="gst_sdp_message_insert_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-phone" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_replace_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-phone" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_remove_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-phone" since="1.2"/>
+    <keyword type="function" name="gst_sdp_message_insert_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-phone"/>
+    <keyword type="function" name="gst_sdp_message_replace_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-phone"/>
+    <keyword type="function" name="gst_sdp_message_remove_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-phone"/>
     <keyword type="function" name="gst_sdp_message_add_phone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-add-phone"/>
     <keyword type="function" name="gst_sdp_message_get_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-connection"/>
     <keyword type="function" name="gst_sdp_message_set_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-set-connection"/>
     <keyword type="function" name="gst_sdp_message_bandwidths_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-bandwidths-len"/>
     <keyword type="function" name="gst_sdp_message_get_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-bandwidth"/>
-    <keyword type="function" name="gst_sdp_message_insert_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-bandwidth" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_replace_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-bandwidth" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_remove_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-bandwidth" since="1.2"/>
+    <keyword type="function" name="gst_sdp_message_insert_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-bandwidth"/>
+    <keyword type="function" name="gst_sdp_message_replace_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-bandwidth"/>
+    <keyword type="function" name="gst_sdp_message_remove_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-bandwidth"/>
     <keyword type="function" name="gst_sdp_message_add_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-add-bandwidth"/>
     <keyword type="function" name="gst_sdp_message_times_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-times-len"/>
     <keyword type="function" name="gst_sdp_message_get_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-time"/>
-    <keyword type="function" name="gst_sdp_message_insert_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-time" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_replace_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-time" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_remove_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-time" since="1.2"/>
+    <keyword type="function" name="gst_sdp_message_insert_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-time"/>
+    <keyword type="function" name="gst_sdp_message_replace_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-time"/>
+    <keyword type="function" name="gst_sdp_message_remove_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-time"/>
     <keyword type="function" name="gst_sdp_message_add_time ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-add-time"/>
     <keyword type="function" name="gst_sdp_message_zones_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-zones-len"/>
     <keyword type="function" name="gst_sdp_message_get_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-zone"/>
-    <keyword type="function" name="gst_sdp_message_insert_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-zone" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_replace_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-zone" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_remove_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-zone" since="1.2"/>
+    <keyword type="function" name="gst_sdp_message_insert_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-zone"/>
+    <keyword type="function" name="gst_sdp_message_replace_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-zone"/>
+    <keyword type="function" name="gst_sdp_message_remove_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-zone"/>
     <keyword type="function" name="gst_sdp_message_add_zone ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-add-zone"/>
     <keyword type="function" name="gst_sdp_message_get_key ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-key"/>
     <keyword type="function" name="gst_sdp_message_set_key ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-set-key"/>
@@ -877,16 +879,16 @@
     <keyword type="function" name="gst_sdp_message_get_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-attribute"/>
     <keyword type="function" name="gst_sdp_message_get_attribute_val ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-attribute-val"/>
     <keyword type="function" name="gst_sdp_message_get_attribute_val_n ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-attribute-val-n"/>
-    <keyword type="function" name="gst_sdp_message_insert_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-attribute" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_replace_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-attribute" since="1.2"/>
-    <keyword type="function" name="gst_sdp_message_remove_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-attribute" since="1.2"/>
+    <keyword type="function" name="gst_sdp_message_insert_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-insert-attribute"/>
+    <keyword type="function" name="gst_sdp_message_replace_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-replace-attribute"/>
+    <keyword type="function" name="gst_sdp_message_remove_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-remove-attribute"/>
     <keyword type="function" name="gst_sdp_message_add_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-add-attribute"/>
     <keyword type="function" name="gst_sdp_message_medias_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-medias-len"/>
     <keyword type="function" name="gst_sdp_message_get_media ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-get-media"/>
     <keyword type="function" name="gst_sdp_message_add_media ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-add-media"/>
     <keyword type="function" name="gst_sdp_message_dump ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-dump"/>
     <keyword type="function" name="gst_sdp_media_new ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-new"/>
-    <keyword type="function" name="gst_sdp_media_copy ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-copy" since="1.2"/>
+    <keyword type="function" name="gst_sdp_media_copy ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-copy"/>
     <keyword type="function" name="gst_sdp_media_init ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-init"/>
     <keyword type="function" name="gst_sdp_media_uninit ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-uninit"/>
     <keyword type="function" name="gst_sdp_media_free ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-free"/>
@@ -900,23 +902,23 @@
     <keyword type="function" name="gst_sdp_media_set_proto ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-set-proto"/>
     <keyword type="function" name="gst_sdp_media_formats_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-formats-len"/>
     <keyword type="function" name="gst_sdp_media_get_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-format"/>
-    <keyword type="function" name="gst_sdp_media_insert_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-format" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_replace_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-format" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_remove_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-format" since="1.2"/>
+    <keyword type="function" name="gst_sdp_media_insert_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-format"/>
+    <keyword type="function" name="gst_sdp_media_replace_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-format"/>
+    <keyword type="function" name="gst_sdp_media_remove_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-format"/>
     <keyword type="function" name="gst_sdp_media_add_format ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-add-format"/>
     <keyword type="function" name="gst_sdp_media_get_information ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-information"/>
     <keyword type="function" name="gst_sdp_media_set_information ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-set-information"/>
     <keyword type="function" name="gst_sdp_media_connections_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-connections-len"/>
     <keyword type="function" name="gst_sdp_media_get_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-connection"/>
-    <keyword type="function" name="gst_sdp_media_insert_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-connection" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_replace_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-connection" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_remove_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-connection" since="1.2"/>
+    <keyword type="function" name="gst_sdp_media_insert_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-connection"/>
+    <keyword type="function" name="gst_sdp_media_replace_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-connection"/>
+    <keyword type="function" name="gst_sdp_media_remove_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-connection"/>
     <keyword type="function" name="gst_sdp_media_add_connection ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-add-connection"/>
     <keyword type="function" name="gst_sdp_media_bandwidths_len ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-bandwidths-len"/>
     <keyword type="function" name="gst_sdp_media_get_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-bandwidth"/>
-    <keyword type="function" name="gst_sdp_media_insert_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-bandwidth" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_replace_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-bandwidth" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_remove_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-bandwidth" since="1.2"/>
+    <keyword type="function" name="gst_sdp_media_insert_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-bandwidth"/>
+    <keyword type="function" name="gst_sdp_media_replace_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-bandwidth"/>
+    <keyword type="function" name="gst_sdp_media_remove_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-bandwidth"/>
     <keyword type="function" name="gst_sdp_media_add_bandwidth ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-add-bandwidth"/>
     <keyword type="function" name="gst_sdp_media_get_key ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-key"/>
     <keyword type="function" name="gst_sdp_media_set_key ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-set-key"/>
@@ -924,15 +926,15 @@
     <keyword type="function" name="gst_sdp_media_get_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-attribute"/>
     <keyword type="function" name="gst_sdp_media_get_attribute_val ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-attribute-val"/>
     <keyword type="function" name="gst_sdp_media_get_attribute_val_n ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-attribute-val-n"/>
-    <keyword type="function" name="gst_sdp_media_insert_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-attribute" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_replace_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-attribute" since="1.2"/>
-    <keyword type="function" name="gst_sdp_media_remove_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-attribute" since="1.2"/>
+    <keyword type="function" name="gst_sdp_media_insert_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-insert-attribute"/>
+    <keyword type="function" name="gst_sdp_media_replace_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-replace-attribute"/>
+    <keyword type="function" name="gst_sdp_media_remove_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-remove-attribute"/>
     <keyword type="function" name="gst_sdp_media_add_attribute ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-add-attribute"/>
-    <keyword type="function" name="gst_sdp_media_get_caps_from_media ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-caps-from-media" since="1.8"/>
-    <keyword type="function" name="gst_sdp_media_set_media_from_caps ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-set-media-from-caps" since="1.8"/>
-    <keyword type="function" name="gst_sdp_make_keymgmt ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-make-keymgmt" since="1.8"/>
-    <keyword type="function" name="gst_sdp_message_attributes_to_caps ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-attributes-to-caps" since="1.8"/>
-    <keyword type="function" name="gst_sdp_media_attributes_to_caps ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-attributes-to-caps" since="1.8"/>
+    <keyword type="function" name="gst_sdp_media_get_caps_from_media ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-get-caps-from-media"/>
+    <keyword type="function" name="gst_sdp_media_set_media_from_caps ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-set-media-from-caps"/>
+    <keyword type="function" name="gst_sdp_make_keymgmt ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-make-keymgmt"/>
+    <keyword type="function" name="gst_sdp_message_attributes_to_caps ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-attributes-to-caps"/>
+    <keyword type="function" name="gst_sdp_media_attributes_to_caps ()" link="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-attributes-to-caps"/>
     <keyword type="enum" name="enum GstSDPResult" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult"/>
     <keyword type="struct" name="GstSDPOrigin" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin"/>
     <keyword type="struct" name="GstSDPConnection" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection"/>
@@ -949,55 +951,55 @@
     <keyword type="struct" name="GstSDPAttribute" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute"/>
     <keyword type="struct" name="GstSDPMedia" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia"/>
     <keyword type="struct" name="GstSDPMessage" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage"/>
-    <keyword type="function" name="gst_mikey_message_new ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_new_from_bytes ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new-from-bytes" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_new_from_caps ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new-from-caps" since="1.8"/>
-    <keyword type="function" name="gst_mikey_message_new_from_data ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new-from-data" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_to_bytes ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-to-bytes" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_base64_encode ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-base64-encode" since="1.8"/>
-    <keyword type="function" name="gst_mikey_message_copy ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-copy" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_ref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-ref" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_unref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-unref" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_set_info ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-set-info" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_get_n_cs ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-n-cs" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_get_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-cs-srtp" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_insert_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-insert-cs-srtp" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_remove_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-remove-cs-srtp" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_replace_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-replace-cs-srtp" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_add_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-cs-srtp" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_get_n_payloads ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-n-payloads" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_get_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-payload" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_find_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-find-payload" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_insert_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-insert-payload" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_remove_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-remove-payload" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_replace_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-replace-payload" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_add_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-payload" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_new ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-new" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_copy ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-copy" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_key_data_set_interval ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-interval" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_key_data_set_key ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-key" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_key_data_set_salt ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-salt" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_key_data_set_spi ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-spi" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_ref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-ref" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_unref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-unref" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_kemac_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-set" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_kemac_add_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-add-sub" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_kemac_get_n_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-get-n-sub" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_kemac_get_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-get-sub" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_kemac_remove_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-remove-sub" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_pke_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-pke-set" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_add_pke ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-pke" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_t_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-t-set" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_add_t ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-t" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_add_t_now_ntp_utc ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-t-now-ntp-utc" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_rand_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-rand-set" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_add_rand ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-rand" since="1.4"/>
-    <keyword type="function" name="gst_mikey_message_add_rand_len ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-rand-len" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_sp_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-set" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_sp_get_n_params ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-get-n-params" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_sp_get_param ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-get-param" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_sp_add_param ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-add-param" since="1.4"/>
-    <keyword type="function" name="gst_mikey_payload_sp_remove_param ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-remove-param" since="1.4"/>
+    <keyword type="function" name="gst_mikey_message_new ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new"/>
+    <keyword type="function" name="gst_mikey_message_new_from_bytes ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new-from-bytes"/>
+    <keyword type="function" name="gst_mikey_message_new_from_caps ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new-from-caps"/>
+    <keyword type="function" name="gst_mikey_message_new_from_data ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-new-from-data"/>
+    <keyword type="function" name="gst_mikey_message_to_bytes ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-to-bytes"/>
+    <keyword type="function" name="gst_mikey_message_base64_encode ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-base64-encode"/>
+    <keyword type="function" name="gst_mikey_message_copy ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-copy"/>
+    <keyword type="function" name="gst_mikey_message_ref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-ref"/>
+    <keyword type="function" name="gst_mikey_message_unref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-unref"/>
+    <keyword type="function" name="gst_mikey_message_set_info ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-set-info"/>
+    <keyword type="function" name="gst_mikey_message_get_n_cs ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-n-cs"/>
+    <keyword type="function" name="gst_mikey_message_get_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-cs-srtp"/>
+    <keyword type="function" name="gst_mikey_message_insert_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-insert-cs-srtp"/>
+    <keyword type="function" name="gst_mikey_message_remove_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-remove-cs-srtp"/>
+    <keyword type="function" name="gst_mikey_message_replace_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-replace-cs-srtp"/>
+    <keyword type="function" name="gst_mikey_message_add_cs_srtp ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-cs-srtp"/>
+    <keyword type="function" name="gst_mikey_message_get_n_payloads ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-n-payloads"/>
+    <keyword type="function" name="gst_mikey_message_get_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-get-payload"/>
+    <keyword type="function" name="gst_mikey_message_find_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-find-payload"/>
+    <keyword type="function" name="gst_mikey_message_insert_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-insert-payload"/>
+    <keyword type="function" name="gst_mikey_message_remove_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-remove-payload"/>
+    <keyword type="function" name="gst_mikey_message_replace_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-replace-payload"/>
+    <keyword type="function" name="gst_mikey_message_add_payload ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-payload"/>
+    <keyword type="function" name="gst_mikey_payload_new ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-new"/>
+    <keyword type="function" name="gst_mikey_payload_copy ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-copy"/>
+    <keyword type="function" name="gst_mikey_payload_key_data_set_interval ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-interval"/>
+    <keyword type="function" name="gst_mikey_payload_key_data_set_key ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-key"/>
+    <keyword type="function" name="gst_mikey_payload_key_data_set_salt ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-salt"/>
+    <keyword type="function" name="gst_mikey_payload_key_data_set_spi ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-key-data-set-spi"/>
+    <keyword type="function" name="gst_mikey_payload_ref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-ref"/>
+    <keyword type="function" name="gst_mikey_payload_unref ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-unref"/>
+    <keyword type="function" name="gst_mikey_payload_kemac_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-set"/>
+    <keyword type="function" name="gst_mikey_payload_kemac_add_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-add-sub"/>
+    <keyword type="function" name="gst_mikey_payload_kemac_get_n_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-get-n-sub"/>
+    <keyword type="function" name="gst_mikey_payload_kemac_get_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-get-sub"/>
+    <keyword type="function" name="gst_mikey_payload_kemac_remove_sub ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-kemac-remove-sub"/>
+    <keyword type="function" name="gst_mikey_payload_pke_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-pke-set"/>
+    <keyword type="function" name="gst_mikey_message_add_pke ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-pke"/>
+    <keyword type="function" name="gst_mikey_payload_t_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-t-set"/>
+    <keyword type="function" name="gst_mikey_message_add_t ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-t"/>
+    <keyword type="function" name="gst_mikey_message_add_t_now_ntp_utc ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-t-now-ntp-utc"/>
+    <keyword type="function" name="gst_mikey_payload_rand_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-rand-set"/>
+    <keyword type="function" name="gst_mikey_message_add_rand ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-rand"/>
+    <keyword type="function" name="gst_mikey_message_add_rand_len ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-message-add-rand-len"/>
+    <keyword type="function" name="gst_mikey_payload_sp_set ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-set"/>
+    <keyword type="function" name="gst_mikey_payload_sp_get_n_params ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-get-n-params"/>
+    <keyword type="function" name="gst_mikey_payload_sp_get_param ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-get-param"/>
+    <keyword type="function" name="gst_mikey_payload_sp_add_param ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-add-param"/>
+    <keyword type="function" name="gst_mikey_payload_sp_remove_param ()" link="gst-plugins-base-libs-gstmikey.html#gst-mikey-payload-sp-remove-param"/>
     <keyword type="macro" name="GST_MIKEY_VERSION" link="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-VERSION:CAPS"/>
     <keyword type="enum" name="enum GstMIKEYType" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYType"/>
     <keyword type="struct" name="struct GstMIKEYMessage" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage"/>
@@ -1055,7 +1057,7 @@
     <keyword type="macro" name="GST_TAG_IMAGE_HORIZONTAL_PPI" link="gst-plugins-base-libs-gsttag.html#GST-TAG-IMAGE-HORIZONTAL-PPI:CAPS"/>
     <keyword type="macro" name="GST_TAG_IMAGE_VERTICAL_PPI" link="gst-plugins-base-libs-gsttag.html#GST-TAG-IMAGE-VERTICAL-PPI:CAPS"/>
     <keyword type="macro" name="GST_TAG_ID3V2_HEADER_SIZE" link="gst-plugins-base-libs-gsttag.html#GST-TAG-ID3V2-HEADER-SIZE:CAPS"/>
-    <keyword type="macro" name="GST_TAG_MUSICAL_KEY" link="gst-plugins-base-libs-gsttag.html#GST-TAG-MUSICAL-KEY:CAPS" since="1.2"/>
+    <keyword type="macro" name="GST_TAG_MUSICAL_KEY" link="gst-plugins-base-libs-gsttag.html#GST-TAG-MUSICAL-KEY:CAPS"/>
     <keyword type="enum" name="enum GstTagImageType" link="gst-plugins-base-libs-gsttag.html#GstTagImageType"/>
     <keyword type="function" name="gst_tag_from_vorbis_tag ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-from-vorbis-tag"/>
     <keyword type="function" name="gst_tag_to_vorbis_tag ()" link="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-to-vorbis-tag"/>
@@ -1118,6 +1120,8 @@
     <keyword type="function" name="gst_codec_utils_aac_get_index_from_sample_rate ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-index-from-sample-rate"/>
     <keyword type="function" name="gst_codec_utils_aac_get_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-profile"/>
     <keyword type="function" name="gst_codec_utils_aac_get_level ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-level"/>
+    <keyword type="function" name="gst_codec_utils_aac_get_channels ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-channels"/>
+    <keyword type="function" name="gst_codec_utils_aac_get_sample_rate ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-sample-rate"/>
     <keyword type="function" name="gst_codec_utils_aac_caps_set_level_and_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-caps-set-level-and-profile"/>
     <keyword type="function" name="gst_codec_utils_h264_get_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h264-get-profile"/>
     <keyword type="function" name="gst_codec_utils_h264_get_level ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h264-get-level"/>
@@ -1131,11 +1135,11 @@
     <keyword type="function" name="gst_codec_utils_mpeg4video_get_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-get-profile"/>
     <keyword type="function" name="gst_codec_utils_mpeg4video_get_level ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-get-level"/>
     <keyword type="function" name="gst_codec_utils_mpeg4video_caps_set_level_and_profile ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-caps-set-level-and-profile"/>
-    <keyword type="function" name="gst_codec_utils_opus_create_caps ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-create-caps" since="1.8"/>
-    <keyword type="function" name="gst_codec_utils_opus_create_caps_from_header ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-create-caps-from-header" since="1.8"/>
-    <keyword type="function" name="gst_codec_utils_opus_parse_caps ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-parse-caps" since="1.8"/>
-    <keyword type="function" name="gst_codec_utils_opus_create_header ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-create-header" since="1.8"/>
-    <keyword type="function" name="gst_codec_utils_opus_parse_header ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-parse-header" since="1.8"/>
+    <keyword type="function" name="gst_codec_utils_opus_create_caps ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-create-caps"/>
+    <keyword type="function" name="gst_codec_utils_opus_create_caps_from_header ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-create-caps-from-header"/>
+    <keyword type="function" name="gst_codec_utils_opus_parse_caps ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-parse-caps"/>
+    <keyword type="function" name="gst_codec_utils_opus_create_header ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-create-header"/>
+    <keyword type="function" name="gst_codec_utils_opus_parse_header ()" link="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-opus-parse-header"/>
     <keyword type="function" name="gst_pb_utils_get_source_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-source-description"/>
     <keyword type="function" name="gst_pb_utils_get_sink_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-sink-description"/>
     <keyword type="function" name="gst_pb_utils_get_decoder_description ()" link="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-get-decoder-description"/>
@@ -1165,9 +1169,9 @@
     <keyword type="function" name="gst_install_plugins_context_new ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-new"/>
     <keyword type="function" name="gst_install_plugins_context_free ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-free"/>
     <keyword type="function" name="gst_install_plugins_context_set_xid ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-set-xid"/>
-    <keyword type="function" name="gst_install_plugins_context_set_confirm_search ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-set-confirm-search" since="1.6"/>
-    <keyword type="function" name="gst_install_plugins_context_set_desktop_id ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-set-desktop-id" since="1.6"/>
-    <keyword type="function" name="gst_install_plugins_context_set_startup_notification_id ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-set-startup-notification-id" since="1.6"/>
+    <keyword type="function" name="gst_install_plugins_context_set_confirm_search ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-set-confirm-search"/>
+    <keyword type="function" name="gst_install_plugins_context_set_desktop_id ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-set-desktop-id"/>
+    <keyword type="function" name="gst_install_plugins_context_set_startup_notification_id ()" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-set-startup-notification-id"/>
     <keyword type="enum" name="enum GstInstallPluginsReturn" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsReturn"/>
     <keyword type="struct" name="GstInstallPluginsContext" link="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext"/>
     <keyword type="function" name="gst_discoverer_new ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-new"/>
@@ -1176,7 +1180,7 @@
     <keyword type="function" name="gst_discoverer_discover_uri ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-discover-uri"/>
     <keyword type="function" name="gst_discoverer_discover_uri_async ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-discover-uri-async"/>
     <keyword type="function" name="gst_discoverer_info_get_duration ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-duration"/>
-    <keyword type="function" name="gst_discoverer_info_get_misc ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-misc" deprecated=""/>
+    <keyword type="function" name="gst_discoverer_info_get_misc ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-misc"/>
     <keyword type="function" name="gst_discoverer_info_get_result ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-result"/>
     <keyword type="function" name="gst_discoverer_info_get_stream_info ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-stream-info"/>
     <keyword type="function" name="gst_discoverer_info_get_stream_list ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-stream-list"/>
@@ -1186,10 +1190,10 @@
     <keyword type="function" name="gst_discoverer_info_get_seekable ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-seekable"/>
     <keyword type="macro" name="gst_discoverer_info_ref()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-ref"/>
     <keyword type="macro" name="gst_discoverer_info_unref()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-unref"/>
-    <keyword type="function" name="gst_discoverer_info_to_variant ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-to-variant" since="1.6"/>
-    <keyword type="function" name="gst_discoverer_info_from_variant ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-from-variant" since="1.6"/>
+    <keyword type="function" name="gst_discoverer_info_to_variant ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-to-variant"/>
+    <keyword type="function" name="gst_discoverer_info_from_variant ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-from-variant"/>
     <keyword type="function" name="gst_discoverer_stream_info_get_caps ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-caps"/>
-    <keyword type="function" name="gst_discoverer_stream_info_get_misc ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-misc" deprecated=""/>
+    <keyword type="function" name="gst_discoverer_stream_info_get_misc ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-misc"/>
     <keyword type="function" name="gst_discoverer_stream_info_get_next ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-next"/>
     <keyword type="function" name="gst_discoverer_stream_info_get_previous ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-previous"/>
     <keyword type="function" name="gst_discoverer_stream_info_get_tags ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-tags"/>
@@ -1199,7 +1203,7 @@
     <keyword type="macro" name="gst_discoverer_stream_info_unref()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-unref"/>
     <keyword type="function" name="gst_discoverer_stream_info_list_free ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free"/>
     <keyword type="function" name="gst_discoverer_stream_info_get_stream_type_nick ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-stream-type-nick"/>
-    <keyword type="function" name="gst_discoverer_info_get_missing_elements_installer_details ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-missing-elements-installer-details" since="1.4"/>
+    <keyword type="function" name="gst_discoverer_info_get_missing_elements_installer_details ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-missing-elements-installer-details"/>
     <keyword type="function" name="gst_discoverer_info_get_audio_streams ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-audio-streams"/>
     <keyword type="function" name="gst_discoverer_info_get_container_streams ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-container-streams"/>
     <keyword type="function" name="gst_discoverer_info_get_streams ()" link="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-get-streams"/>
@@ -1227,7 +1231,7 @@
     <keyword type="struct" name="struct GstDiscoverer" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer-struct"/>
     <keyword type="struct" name="GstDiscovererInfo" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo-struct"/>
     <keyword type="enum" name="enum GstDiscovererResult" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererResult"/>
-    <keyword type="enum" name="enum GstDiscovererSerializeFlags" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererSerializeFlags" since="1.6"/>
+    <keyword type="enum" name="enum GstDiscovererSerializeFlags" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererSerializeFlags"/>
     <keyword type="struct" name="GstDiscovererStreamInfo" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo"/>
     <keyword type="struct" name="GstDiscovererContainerInfo" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererContainerInfo"/>
     <keyword type="struct" name="GstDiscovererAudioInfo" link="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo"/>
@@ -1298,7 +1302,7 @@
     <keyword type="struct" name="GstEncodingTarget" link="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget-struct"/>
     <keyword type="property" name="The “restriction-caps” property" link="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile--restriction-caps"/>
     <keyword type="function" name="gst_video_calculate_display_ratio ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-calculate-display-ratio"/>
-    <keyword type="function" name="gst_video_guess_framerate ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-guess-framerate" since="1.6"/>
+    <keyword type="function" name="gst_video_guess_framerate ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-guess-framerate"/>
     <keyword type="function" name="GstVideoConvertSampleCallback ()" link="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback"/>
     <keyword type="function" name="gst_video_convert_sample ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-convert-sample"/>
     <keyword type="function" name="gst_video_convert_sample_async ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-convert-sample-async"/>
@@ -1349,11 +1353,11 @@
     <keyword type="function" name="gst_video_format_get_info ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-format-get-info"/>
     <keyword type="macro" name="GST_VIDEO_CAPS_MAKE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-CAPS-MAKE:CAPS"/>
     <keyword type="function" name="gst_video_color_range_offsets ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-color-range-offsets"/>
-    <keyword type="function" name="gst_video_color_matrix_get_Kr_Kb ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-color-matrix-get-Kr-Kb" since="1.6"/>
-    <keyword type="function" name="gst_video_color_transfer_decode ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-color-transfer-decode" since="1.6"/>
-    <keyword type="function" name="gst_video_color_transfer_encode ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-color-transfer-encode" since="1.6"/>
+    <keyword type="function" name="gst_video_color_matrix_get_Kr_Kb ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-color-matrix-get-Kr-Kb"/>
+    <keyword type="function" name="gst_video_color_transfer_decode ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-color-transfer-decode"/>
+    <keyword type="function" name="gst_video_color_transfer_encode ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-color-transfer-encode"/>
     <keyword type="function" name="gst_video_colorimetry_matches ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-matches"/>
-    <keyword type="function" name="gst_video_colorimetry_is_equal ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-is-equal" since="1.6"/>
+    <keyword type="function" name="gst_video_colorimetry_is_equal ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-is-equal"/>
     <keyword type="function" name="gst_video_colorimetry_from_string ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-from-string"/>
     <keyword type="function" name="gst_video_colorimetry_to_string ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-to-string"/>
     <keyword type="macro" name="GST_VIDEO_INFO_FORMAT()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FORMAT:CAPS"/>
@@ -1394,9 +1398,9 @@
     <keyword type="macro" name="GST_VIDEO_INFO_MULTIVIEW_FLAGS()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-FLAGS:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_INFO_MULTIVIEW_MODE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-MULTIVIEW-MODE:CAPS"/>
     <keyword type="function" name="gst_video_info_init ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-init"/>
-    <keyword type="function" name="gst_video_info_new ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-new" since="1.6"/>
-    <keyword type="function" name="gst_video_info_copy ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-copy" since="1.6"/>
-    <keyword type="function" name="gst_video_info_free ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-free" since="1.6"/>
+    <keyword type="function" name="gst_video_info_new ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-new"/>
+    <keyword type="function" name="gst_video_info_copy ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-copy"/>
+    <keyword type="function" name="gst_video_info_free ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-free"/>
     <keyword type="function" name="gst_video_info_set_format ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-set-format"/>
     <keyword type="function" name="gst_video_info_from_caps ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps"/>
     <keyword type="function" name="gst_video_info_to_caps ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-info-to-caps"/>
@@ -1432,7 +1436,7 @@
     <keyword type="macro" name="GST_VIDEO_FRAME_COMP_PLANE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-PLANE:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_FRAME_COMP_PSTRIDE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-PSTRIDE:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_FRAME_COMP_POFFSET()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-POFFSET:CAPS"/>
-    <keyword type="function" name="gst_video_tile_get_index ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-tile-get-index" since="1.4"/>
+    <keyword type="function" name="gst_video_tile_get_index ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-tile-get-index"/>
     <keyword type="macro" name="GST_VIDEO_TILE_MAKE_MODE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-TILE-MAKE-MODE:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_TILE_MODE_TYPE()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-TILE-MODE-TYPE:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_TILE_MODE_IS_INDEXED()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-TILE-MODE-IS-INDEXED:CAPS"/>
@@ -1441,25 +1445,25 @@
     <keyword type="macro" name="GST_VIDEO_TILE_Y_TILES()" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-TILE-Y-TILES:CAPS"/>
     <keyword type="function" name="gst_video_blend ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-blend"/>
     <keyword type="function" name="gst_video_blend_scale_linear_RGBA ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-blend-scale-linear-RGBA"/>
-    <keyword type="function" name="gst_video_converter_new ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-new" since="1.6"/>
-    <keyword type="function" name="gst_video_converter_free ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-free" since="1.6"/>
+    <keyword type="function" name="gst_video_converter_new ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-new"/>
+    <keyword type="function" name="gst_video_converter_free ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-free"/>
     <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="function" name="gst_video_converter_set_config ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-set-config"/>
+    <keyword type="function" name="gst_video_converter_frame ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-converter-frame"/>
+    <keyword type="function" name="gst_video_multiview_get_mono_modes ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-mono-modes"/>
+    <keyword type="function" name="gst_video_multiview_get_unpacked_modes ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-get-unpacked-modes"/>
+    <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"/>
+    <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"/>
+    <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"/>
+    <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"/>
+    <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"/>
+    <keyword type="function" name="gst_video_multiview_guess_half_aspect ()" link="gst-plugins-base-libs-gstvideo.html#gst-video-multiview-guess-half-aspect"/>
+    <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"/>
     <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"/>
-    <keyword type="macro" name="GST_META_TAG_VIDEO_SIZE_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-SIZE-STR:CAPS" since="1.2"/>
-    <keyword type="macro" name="GST_META_TAG_VIDEO_COLORSPACE_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-COLORSPACE-STR:CAPS" since="1.2"/>
+    <keyword type="macro" name="GST_META_TAG_VIDEO_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-STR:CAPS"/>
+    <keyword type="macro" name="GST_META_TAG_VIDEO_ORIENTATION_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-ORIENTATION-STR:CAPS"/>
+    <keyword type="macro" name="GST_META_TAG_VIDEO_SIZE_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-SIZE-STR:CAPS"/>
+    <keyword type="macro" name="GST_META_TAG_VIDEO_COLORSPACE_STR" link="gst-plugins-base-libs-gstvideo.html#GST-META-TAG-VIDEO-COLORSPACE-STR:CAPS"/>
     <keyword type="enum" name="enum GstVideoFormat" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormat"/>
     <keyword type="macro" name="GST_VIDEO_MAX_PLANES" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MAX-PLANES:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_MAX_COMPONENTS" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MAX-COMPONENTS:CAPS"/>
@@ -1507,11 +1511,11 @@
     <keyword type="struct" name="GstVideoMetaTransform" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMetaTransform"/>
     <keyword type="struct" name="struct GstVideoCropMeta" link="gst-plugins-base-libs-gstvideometa.html#GstVideoCropMeta"/>
     <keyword type="struct" name="GstVideoRegionOfInterestMeta" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta"/>
-    <keyword type="macro" name="GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META" link="gst-plugins-base-libs-gstvideometa.html#GST-BUFFER-POOL-OPTION-VIDEO-GL-TEXTURE-UPLOAD-META:CAPS" since="1.2.2"/>
+    <keyword type="macro" name="GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META" link="gst-plugins-base-libs-gstvideometa.html#GST-BUFFER-POOL-OPTION-VIDEO-GL-TEXTURE-UPLOAD-META:CAPS"/>
     <keyword type="struct" name="struct GstVideoGLTextureUploadMeta" link="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta"/>
-    <keyword type="function" name="gst_buffer_add_video_affine_transformation_meta ()" link="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#gst-buffer-add-video-affine-transformation-meta" since="1.8"/>
+    <keyword type="function" name="gst_buffer_add_video_affine_transformation_meta ()" link="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#gst-buffer-add-video-affine-transformation-meta"/>
     <keyword type="macro" name="gst_buffer_get_video_affine_transformation_meta()" link="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#gst-buffer-get-video-affine-transformation-meta"/>
-    <keyword type="function" name="gst_video_affine_transformation_meta_apply_matrix ()" link="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#gst-video-affine-transformation-meta-apply-matrix" since="1.8"/>
+    <keyword type="function" name="gst_video_affine_transformation_meta_apply_matrix ()" link="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#gst-video-affine-transformation-meta-apply-matrix"/>
     <keyword type="struct" name="struct GstVideoAffineTransformationMeta" link="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#GstVideoAffineTransformationMeta"/>
     <keyword type="function" name="gst_video_overlay_composition_new ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-new"/>
     <keyword type="function" name="gst_video_overlay_composition_ref ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-ref"/>
@@ -1544,7 +1548,7 @@
     <keyword type="function" name="gst_video_overlay_rectangle_get_global_alpha ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-global-alpha"/>
     <keyword type="function" name="gst_video_overlay_rectangle_set_global_alpha ()" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-set-global-alpha"/>
     <keyword type="struct" name="GstVideoOverlayComposition" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition"/>
-    <keyword type="macro" name="GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-COMPOSITION-BLEND-FORMATS:CAPS" since="1.2"/>
+    <keyword type="macro" name="GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-COMPOSITION-BLEND-FORMATS:CAPS"/>
     <keyword type="struct" name="struct GstVideoOverlayCompositionMeta" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayCompositionMeta"/>
     <keyword type="enum" name="enum GstVideoOverlayFormatFlags" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags"/>
     <keyword type="struct" name="GstVideoOverlayRectangle" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle"/>
@@ -1566,11 +1570,11 @@
     <keyword type="enum" name="enum GstVideoChromaFlags" link="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaFlags"/>
     <keyword type="enum" name="enum GstVideoChromaMethod" link="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaMethod"/>
     <keyword type="struct" name="GstVideoChromaResample" link="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample"/>
-    <keyword type="function" name="gst_video_resampler_clear ()" link="gst-plugins-base-libs-GstVideoResampler.html#gst-video-resampler-clear" since="1.6"/>
+    <keyword type="function" name="gst_video_resampler_clear ()" link="gst-plugins-base-libs-GstVideoResampler.html#gst-video-resampler-clear"/>
     <keyword type="function" name="gst_video_resampler_init ()" link="gst-plugins-base-libs-GstVideoResampler.html#gst-video-resampler-init"/>
-    <keyword type="struct" name="struct GstVideoResampler" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler" since="1.6"/>
-    <keyword type="enum" name="enum GstVideoResamplerFlags" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResamplerFlags" since="1.6"/>
-    <keyword type="enum" name="enum GstVideoResamplerMethod" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResamplerMethod" since="1.6"/>
+    <keyword type="struct" name="struct GstVideoResampler" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler"/>
+    <keyword type="enum" name="enum GstVideoResamplerFlags" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResamplerFlags"/>
+    <keyword type="enum" name="enum GstVideoResamplerMethod" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResamplerMethod"/>
     <keyword type="macro" name="GST_VIDEO_RESAMPLER_OPT_CUBIC_B" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-OPT-CUBIC-B:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_RESAMPLER_OPT_CUBIC_C" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-OPT-CUBIC-C:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_RESAMPLER_OPT_ENVELOPE" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-OPT-ENVELOPE:CAPS"/>
@@ -1578,7 +1582,7 @@
     <keyword type="macro" name="GST_VIDEO_RESAMPLER_OPT_SHARPEN" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-OPT-SHARPEN:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_RESAMPLER_OPT_SHARPNESS" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-OPT-SHARPNESS:CAPS"/>
     <keyword type="function" name="gst_video_scaler_2d ()" link="gst-plugins-base-libs-GstVideoScaler.html#gst-video-scaler-2d"/>
-    <keyword type="function" name="gst_video_scaler_combine_packed_YUV ()" link="gst-plugins-base-libs-GstVideoScaler.html#gst-video-scaler-combine-packed-YUV" since="1.6"/>
+    <keyword type="function" name="gst_video_scaler_combine_packed_YUV ()" link="gst-plugins-base-libs-GstVideoScaler.html#gst-video-scaler-combine-packed-YUV"/>
     <keyword type="function" name="gst_video_scaler_free ()" link="gst-plugins-base-libs-GstVideoScaler.html#gst-video-scaler-free"/>
     <keyword type="function" name="gst_video_scaler_get_coeff ()" link="gst-plugins-base-libs-GstVideoScaler.html#gst-video-scaler-get-coeff"/>
     <keyword type="function" name="gst_video_scaler_horizontal ()" link="gst-plugins-base-libs-GstVideoScaler.html#gst-video-scaler-horizontal"/>
@@ -1639,7 +1643,7 @@
     <keyword type="function" name="gst_video_decoder_get_buffer_pool ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-buffer-pool"/>
     <keyword type="function" name="gst_video_decoder_drop_frame ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-drop-frame"/>
     <keyword type="function" name="gst_video_decoder_finish_frame ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-finish-frame"/>
-    <keyword type="function" name="gst_video_decoder_release_frame ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-release-frame" since="1.2.2"/>
+    <keyword type="function" name="gst_video_decoder_release_frame ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-release-frame"/>
     <keyword type="function" name="gst_video_decoder_negotiate ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-negotiate"/>
     <keyword type="function" name="gst_video_decoder_get_frame ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-frame"/>
     <keyword type="function" name="gst_video_decoder_get_frames ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-frames"/>
@@ -1647,8 +1651,8 @@
     <keyword type="function" name="gst_video_decoder_get_max_errors ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-max-errors"/>
     <keyword type="function" name="gst_video_decoder_get_oldest_frame ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-oldest-frame"/>
     <keyword type="function" name="gst_video_decoder_get_packetized ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-packetized"/>
-    <keyword type="function" name="gst_video_decoder_get_pending_frame_size ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-pending-frame-size" since="1.4"/>
-    <keyword type="function" name="gst_video_decoder_get_qos_proportion ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-qos-proportion" since="1.0.3"/>
+    <keyword type="function" name="gst_video_decoder_get_pending_frame_size ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-pending-frame-size"/>
+    <keyword type="function" name="gst_video_decoder_get_qos_proportion ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-qos-proportion"/>
     <keyword type="function" name="gst_video_decoder_have_frame ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-have-frame"/>
     <keyword type="function" name="gst_video_decoder_get_latency ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-latency"/>
     <keyword type="function" name="gst_video_decoder_set_latency ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-set-latency"/>
@@ -1658,10 +1662,10 @@
     <keyword type="function" name="gst_video_decoder_set_output_state ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-set-output-state"/>
     <keyword type="function" name="gst_video_decoder_set_max_errors ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-set-max-errors"/>
     <keyword type="function" name="gst_video_decoder_set_packetized ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-set-packetized"/>
-    <keyword type="function" name="gst_video_decoder_get_needs_format ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-needs-format" since="1.4"/>
-    <keyword type="function" name="gst_video_decoder_set_needs_format ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-set-needs-format" since="1.4"/>
+    <keyword type="function" name="gst_video_decoder_get_needs_format ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-needs-format"/>
+    <keyword type="function" name="gst_video_decoder_set_needs_format ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-set-needs-format"/>
     <keyword type="function" name="gst_video_decoder_merge_tags ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-merge-tags"/>
-    <keyword type="function" name="gst_video_decoder_proxy_getcaps ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-proxy-getcaps" since="1.6"/>
+    <keyword type="function" name="gst_video_decoder_proxy_getcaps ()" link="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-proxy-getcaps"/>
     <keyword type="macro" name="GST_VIDEO_DECODER_FLOW_NEED_DATA" link="gst-plugins-base-libs-GstVideoDecoder.html#GST-VIDEO-DECODER-FLOW-NEED-DATA:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_DECODER_MAX_ERRORS" link="gst-plugins-base-libs-GstVideoDecoder.html#GST-VIDEO-DECODER-MAX-ERRORS:CAPS"/>
     <keyword type="macro" name="GST_VIDEO_DECODER_SINK_NAME" link="gst-plugins-base-libs-GstVideoDecoder.html#GST-VIDEO-DECODER-SINK-NAME:CAPS"/>
@@ -1738,10 +1742,10 @@
     <keyword type="function" name="gst_navigation_message_get_type ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-get-type"/>
     <keyword type="function" name="gst_navigation_message_new_angles_changed ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-new-angles-changed"/>
     <keyword type="function" name="gst_navigation_message_new_commands_changed ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-new-commands-changed"/>
-    <keyword type="function" name="gst_navigation_message_new_event ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-new-event" since="1.6"/>
+    <keyword type="function" name="gst_navigation_message_new_event ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-new-event"/>
     <keyword type="function" name="gst_navigation_message_new_mouse_over ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-new-mouse-over"/>
     <keyword type="function" name="gst_navigation_message_parse_angles_changed ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-parse-angles-changed"/>
-    <keyword type="function" name="gst_navigation_message_parse_event ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-parse-event" since="1.6"/>
+    <keyword type="function" name="gst_navigation_message_parse_event ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-parse-event"/>
     <keyword type="function" name="gst_navigation_message_parse_mouse_over ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-parse-mouse-over"/>
     <keyword type="function" name="gst_navigation_query_new_angles ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-query-new-angles"/>
     <keyword type="function" name="gst_navigation_query_get_type ()" link="gst-plugins-base-libs-gstnavigation.html#gst-navigation-query-get-type"/>
@@ -2356,6 +2360,9 @@
     <keyword type="constant" name="GST_VIDEO_FORMAT_A444_10BE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-A444-10BE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FORMAT_A444_10LE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-A444-10LE:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FORMAT_NV61" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-NV61:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_FORMAT_P010_10BE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-P010-10BE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_FORMAT_P010_10LE" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-P010-10LE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_FORMAT_IYU2" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-IYU2:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FORMAT_FLAG_YUV" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-FLAG-YUV:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FORMAT_FLAG_RGB" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-FLAG-RGB:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_FORMAT_FLAG_GRAY" link="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-FLAG-GRAY:CAPS"/>
@@ -2480,6 +2487,7 @@
     <keyword type="constant" name="GST_VIDEO_CHROMA_METHOD_NEAREST" link="gst-plugins-base-libs-GstVideoChroma.html#GST-VIDEO-CHROMA-METHOD-NEAREST:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_CHROMA_METHOD_LINEAR" link="gst-plugins-base-libs-GstVideoChroma.html#GST-VIDEO-CHROMA-METHOD-LINEAR:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_RESAMPLER_FLAG_NONE" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-FLAG-NONE:CAPS"/>
+    <keyword type="constant" name="GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-FLAG-HALF-TAPS:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_RESAMPLER_METHOD_NEAREST" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-METHOD-NEAREST:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_RESAMPLER_METHOD_LINEAR" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-METHOD-LINEAR:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_RESAMPLER_METHOD_CUBIC" link="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-METHOD-CUBIC:CAPS"/>
@@ -2523,488 +2531,5 @@
     <keyword type="constant" name="GST_NAVIGATION_QUERY_INVALID" link="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-QUERY-INVALID:CAPS"/>
     <keyword type="constant" name="GST_NAVIGATION_QUERY_COMMANDS" link="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-QUERY-COMMANDS:CAPS"/>
     <keyword type="constant" name="GST_NAVIGATION_QUERY_ANGLES" link="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-QUERY-ANGLES:CAPS"/>
-    <keyword type="member" name="GstAppSrcCallbacks.need-data" link="gst-plugins-base-libs-appsrc.html#GstAppSrcCallbacks.need-data"/>
-    <keyword type="member" name="GstAppSrcCallbacks.enough-data" link="gst-plugins-base-libs-appsrc.html#GstAppSrcCallbacks.enough-data"/>
-    <keyword type="member" name="GstAppSrcCallbacks.seek-data" link="gst-plugins-base-libs-appsrc.html#GstAppSrcCallbacks.seek-data"/>
-    <keyword type="member" name="GstAppSinkCallbacks.eos" link="gst-plugins-base-libs-appsink.html#GstAppSinkCallbacks.eos"/>
-    <keyword type="member" name="GstAppSinkCallbacks.new-preroll" link="gst-plugins-base-libs-appsink.html#GstAppSinkCallbacks.new-preroll"/>
-    <keyword type="member" name="GstAppSinkCallbacks.new-sample" link="gst-plugins-base-libs-appsink.html#GstAppSinkCallbacks.new-sample"/>
-    <keyword type="member" name="GstAudioFormatInfo.format" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.format"/>
-    <keyword type="member" name="GstAudioFormatInfo.name" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.name"/>
-    <keyword type="member" name="GstAudioFormatInfo.description" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.description"/>
-    <keyword type="member" name="GstAudioFormatInfo.flags" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.flags"/>
-    <keyword type="member" name="GstAudioFormatInfo.endianness" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.endianness"/>
-    <keyword type="member" name="GstAudioFormatInfo.width" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.width"/>
-    <keyword type="member" name="GstAudioFormatInfo.depth" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.depth"/>
-    <keyword type="member" name="GstAudioFormatInfo.silence" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.silence"/>
-    <keyword type="member" name="GstAudioFormatInfo.unpack-format" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.unpack-format"/>
-    <keyword type="member" name="GstAudioFormatInfo.unpack-func" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.unpack-func"/>
-    <keyword type="member" name="GstAudioFormatInfo.pack-func" link="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo.pack-func"/>
-    <keyword type="member" name="GstAudioInfo.finfo" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo.finfo"/>
-    <keyword type="member" name="GstAudioInfo.flags" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo.flags"/>
-    <keyword type="member" name="GstAudioInfo.layout" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo.layout"/>
-    <keyword type="member" name="GstAudioInfo.rate" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo.rate"/>
-    <keyword type="member" name="GstAudioInfo.channels" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo.channels"/>
-    <keyword type="member" name="GstAudioInfo.bpf" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo.bpf"/>
-    <keyword type="member" name="GstAudioInfo.position" link="gst-plugins-base-libs-gstaudio.html#GstAudioInfo.position"/>
-    <keyword type="member" name="GstAudioDownmixMeta.meta" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta.meta"/>
-    <keyword type="member" name="GstAudioDownmixMeta.from-position" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta.from-position"/>
-    <keyword type="member" name="GstAudioDownmixMeta.to-position" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta.to-position"/>
-    <keyword type="member" name="GstAudioDownmixMeta.from-channels" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta.from-channels"/>
-    <keyword type="member" name="GstAudioDownmixMeta.to-channels" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta.to-channels"/>
-    <keyword type="member" name="GstAudioDownmixMeta.matrix" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta.matrix"/>
-    <keyword type="member" name="GstAudioClippingMeta.meta" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta.meta"/>
-    <keyword type="member" name="GstAudioClippingMeta.format" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta.format"/>
-    <keyword type="member" name="GstAudioClippingMeta.start" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta.start"/>
-    <keyword type="member" name="GstAudioClippingMeta.end" link="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta.end"/>
-    <keyword type="member" name="GstAudioCdSrcClass.pushsrc-class" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass.pushsrc-class"/>
-    <keyword type="member" name="GstAudioCdSrcClass.open" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass.open"/>
-    <keyword type="member" name="GstAudioCdSrcClass.close" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass.close"/>
-    <keyword type="member" name="GstAudioCdSrcClass.read-sector" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass.read-sector"/>
-    <keyword type="member" name="GstAudioCdSrcClass.get-default-device" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass.get-default-device"/>
-    <keyword type="member" name="GstAudioCdSrcClass.probe-devices" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass.probe-devices"/>
-    <keyword type="member" name="GstAudioCdSrcTrack.is-audio" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack.is-audio"/>
-    <keyword type="member" name="GstAudioCdSrcTrack.num" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack.num"/>
-    <keyword type="member" name="GstAudioCdSrcTrack.start" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack.start"/>
-    <keyword type="member" name="GstAudioCdSrcTrack.end" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack.end"/>
-    <keyword type="member" name="GstAudioCdSrcTrack.tags" link="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack.tags"/>
-    <keyword type="member" name="GstAudioDecoderClass.element-class" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.element-class"/>
-    <keyword type="member" name="GstAudioDecoderClass.start" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.start"/>
-    <keyword type="member" name="GstAudioDecoderClass.stop" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.stop"/>
-    <keyword type="member" name="GstAudioDecoderClass.set-format" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.set-format"/>
-    <keyword type="member" name="GstAudioDecoderClass.parse" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.parse"/>
-    <keyword type="member" name="GstAudioDecoderClass.handle-frame" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.handle-frame"/>
-    <keyword type="member" name="GstAudioDecoderClass.flush" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.flush"/>
-    <keyword type="member" name="GstAudioDecoderClass.pre-push" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.pre-push"/>
-    <keyword type="member" name="GstAudioDecoderClass.sink-event" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.sink-event"/>
-    <keyword type="member" name="GstAudioDecoderClass.src-event" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.src-event"/>
-    <keyword type="member" name="GstAudioDecoderClass.open" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.open"/>
-    <keyword type="member" name="GstAudioDecoderClass.close" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.close"/>
-    <keyword type="member" name="GstAudioDecoderClass.negotiate" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.negotiate"/>
-    <keyword type="member" name="GstAudioDecoderClass.decide-allocation" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.decide-allocation"/>
-    <keyword type="member" name="GstAudioDecoderClass.propose-allocation" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.propose-allocation"/>
-    <keyword type="member" name="GstAudioDecoderClass.sink-query" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.sink-query"/>
-    <keyword type="member" name="GstAudioDecoderClass.src-query" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.src-query"/>
-    <keyword type="member" name="GstAudioDecoderClass.getcaps" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.getcaps"/>
-    <keyword type="member" name="GstAudioDecoderClass.transform-meta" link="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoderClass.transform-meta"/>
-    <keyword type="member" name="GstAudioEncoderClass.element-class" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.element-class"/>
-    <keyword type="member" name="GstAudioEncoderClass.start" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.start"/>
-    <keyword type="member" name="GstAudioEncoderClass.stop" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.stop"/>
-    <keyword type="member" name="GstAudioEncoderClass.set-format" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.set-format"/>
-    <keyword type="member" name="GstAudioEncoderClass.handle-frame" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.handle-frame"/>
-    <keyword type="member" name="GstAudioEncoderClass.flush" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.flush"/>
-    <keyword type="member" name="GstAudioEncoderClass.pre-push" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.pre-push"/>
-    <keyword type="member" name="GstAudioEncoderClass.sink-event" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.sink-event"/>
-    <keyword type="member" name="GstAudioEncoderClass.src-event" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.src-event"/>
-    <keyword type="member" name="GstAudioEncoderClass.getcaps" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.getcaps"/>
-    <keyword type="member" name="GstAudioEncoderClass.open" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.open"/>
-    <keyword type="member" name="GstAudioEncoderClass.close" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.close"/>
-    <keyword type="member" name="GstAudioEncoderClass.negotiate" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.negotiate"/>
-    <keyword type="member" name="GstAudioEncoderClass.decide-allocation" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.decide-allocation"/>
-    <keyword type="member" name="GstAudioEncoderClass.propose-allocation" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.propose-allocation"/>
-    <keyword type="member" name="GstAudioEncoderClass.transform-meta" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.transform-meta"/>
-    <keyword type="member" name="GstAudioEncoderClass.sink-query" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.sink-query"/>
-    <keyword type="member" name="GstAudioEncoderClass.src-query" link="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass.src-query"/>
-    <keyword type="member" name="GstAudioFilterClass.basetransformclass" link="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilterClass.basetransformclass"/>
-    <keyword type="member" name="GstAudioFilterClass.setup" link="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilterClass.setup"/>
-    <keyword type="member" name="GstAudioSinkClass.open" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass.open"/>
-    <keyword type="member" name="GstAudioSinkClass.prepare" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass.prepare"/>
-    <keyword type="member" name="GstAudioSinkClass.unprepare" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass.unprepare"/>
-    <keyword type="member" name="GstAudioSinkClass.close" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass.close"/>
-    <keyword type="member" name="GstAudioSinkClass.write" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass.write"/>
-    <keyword type="member" name="GstAudioSinkClass.delay" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass.delay"/>
-    <keyword type="member" name="GstAudioSinkClass.reset" link="gst-plugins-base-libs-gstaudiosink.html#GstAudioSinkClass.reset"/>
-    <keyword type="member" name="GstAudioSrcClass.open" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass.open"/>
-    <keyword type="member" name="GstAudioSrcClass.prepare" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass.prepare"/>
-    <keyword type="member" name="GstAudioSrcClass.unprepare" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass.unprepare"/>
-    <keyword type="member" name="GstAudioSrcClass.close" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass.close"/>
-    <keyword type="member" name="GstAudioSrcClass.read" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass.read"/>
-    <keyword type="member" name="GstAudioSrcClass.delay" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass.delay"/>
-    <keyword type="member" name="GstAudioSrcClass.reset" link="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrcClass.reset"/>
-    <keyword type="member" name="GstAudioBaseSinkClass.create-ringbuffer" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkClass.create-ringbuffer"/>
-    <keyword type="member" name="GstAudioBaseSinkClass.payload" link="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkClass.payload"/>
-    <keyword type="member" name="GstAudioBaseSrcClass.create-ringbuffer" link="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrcClass.create-ringbuffer"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.cond" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.cond"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.open" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.open"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.acquired" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.acquired"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.memory" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.memory"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.size" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.size"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.timestamps" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.timestamps"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.spec" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.spec"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.samples-per-seg" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.samples-per-seg"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.empty-seg" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.empty-seg"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.state" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.state"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.segdone" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.segdone"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.segbase" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.segbase"/>
-    <keyword type="member" name="GstAudioRingBuffer-struct.waiting" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer-struct.waiting"/>
-    <keyword type="member" name="GstAudioRingBufferClass.open-device" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.open-device"/>
-    <keyword type="member" name="GstAudioRingBufferClass.acquire" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.acquire"/>
-    <keyword type="member" name="GstAudioRingBufferClass.release" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.release"/>
-    <keyword type="member" name="GstAudioRingBufferClass.close-device" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.close-device"/>
-    <keyword type="member" name="GstAudioRingBufferClass.start" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.start"/>
-    <keyword type="member" name="GstAudioRingBufferClass.pause" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.pause"/>
-    <keyword type="member" name="GstAudioRingBufferClass.resume" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.resume"/>
-    <keyword type="member" name="GstAudioRingBufferClass.stop" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.stop"/>
-    <keyword type="member" name="GstAudioRingBufferClass.delay" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.delay"/>
-    <keyword type="member" name="GstAudioRingBufferClass.activate" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.activate"/>
-    <keyword type="member" name="GstAudioRingBufferClass.commit" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.commit"/>
-    <keyword type="member" name="GstAudioRingBufferClass.clear-all" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferClass.clear-all"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.caps" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.caps"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.type" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.type"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.info" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.info"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.latency-time" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.latency-time"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.buffer-time" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.buffer-time"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.segsize" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.segsize"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.segtotal" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.segtotal"/>
-    <keyword type="member" name="GstAudioRingBufferSpec.seglatency" link="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec.seglatency"/>
-    <keyword type="member" name="GstFFTS16Complex.r" link="gst-plugins-base-libs-gstffts16.html#GstFFTS16Complex.r"/>
-    <keyword type="member" name="GstFFTS16Complex.i" link="gst-plugins-base-libs-gstffts16.html#GstFFTS16Complex.i"/>
-    <keyword type="member" name="GstFFTS32Complex.r" link="gst-plugins-base-libs-gstffts32.html#GstFFTS32Complex.r"/>
-    <keyword type="member" name="GstFFTS32Complex.i" link="gst-plugins-base-libs-gstffts32.html#GstFFTS32Complex.i"/>
-    <keyword type="member" name="GstFFTF32Complex.r" link="gst-plugins-base-libs-gstfftf32.html#GstFFTF32Complex.r"/>
-    <keyword type="member" name="GstFFTF32Complex.i" link="gst-plugins-base-libs-gstfftf32.html#GstFFTF32Complex.i"/>
-    <keyword type="member" name="GstFFTF64Complex.r" link="gst-plugins-base-libs-gstfftf64.html#GstFFTF64Complex.r"/>
-    <keyword type="member" name="GstFFTF64Complex.i" link="gst-plugins-base-libs-gstfftf64.html#GstFFTF64Complex.i"/>
-    <keyword type="member" name="GstRTPBaseDepayloadClass.set-caps" link="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayloadClass.set-caps"/>
-    <keyword type="member" name="GstRTPBaseDepayloadClass.process" link="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayloadClass.process"/>
-    <keyword type="member" name="GstRTPBaseDepayloadClass.packet-lost" link="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayloadClass.packet-lost"/>
-    <keyword type="member" name="GstRTPBaseDepayloadClass.handle-event" link="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayloadClass.handle-event"/>
-    <keyword type="member" name="GstRTPBaseDepayloadClass.process-rtp-packet" link="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayloadClass.process-rtp-packet"/>
-    <keyword type="member" name="GstRTPBasePayloadClass.get-caps" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayloadClass.get-caps"/>
-    <keyword type="member" name="GstRTPBasePayloadClass.set-caps" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayloadClass.set-caps"/>
-    <keyword type="member" name="GstRTPBasePayloadClass.handle-buffer" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayloadClass.handle-buffer"/>
-    <keyword type="member" name="GstRTPBasePayloadClass.sink-event" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayloadClass.sink-event"/>
-    <keyword type="member" name="GstRTPBasePayloadClass.src-event" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayloadClass.src-event"/>
-    <keyword type="member" name="GstRTPBasePayloadClass.query" link="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayloadClass.query"/>
-    <keyword type="member" name="GstRTPBuffer.buffer" link="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer.buffer"/>
-    <keyword type="member" name="GstRTPBuffer.state" link="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer.state"/>
-    <keyword type="member" name="GstRTPBuffer.data" link="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer.data"/>
-    <keyword type="member" name="GstRTPBuffer.size" link="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer.size"/>
-    <keyword type="member" name="GstRTPBuffer.map" link="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer.map"/>
-    <keyword type="member" name="GstRTCPPacket.rtcp" link="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket.rtcp"/>
-    <keyword type="member" name="GstRTCPPacket.offset" link="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket.offset"/>
-    <keyword type="member" name="GstRTPPayloadInfo.payload-type" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo.payload-type"/>
-    <keyword type="member" name="GstRTPPayloadInfo.media" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo.media"/>
-    <keyword type="member" name="GstRTPPayloadInfo.encoding-name" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo.encoding-name"/>
-    <keyword type="member" name="GstRTPPayloadInfo.clock-rate" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo.clock-rate"/>
-    <keyword type="member" name="GstRTPPayloadInfo.encoding-parameters" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo.encoding-parameters"/>
-    <keyword type="member" name="GstRTPPayloadInfo.bitrate" link="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo.bitrate"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.message-received" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.message-received"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.message-sent" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.message-sent"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.closed" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.closed"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.error" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.error"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.tunnel-start" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.tunnel-start"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.tunnel-complete" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.tunnel-complete"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.error-full" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.error-full"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.tunnel-lost" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.tunnel-lost"/>
-    <keyword type="member" name="GstRTSPWatchFuncs.tunnel-http-response" link="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs.tunnel-http-response"/>
-    <keyword type="member" name="GstRTSPMessage.type" link="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage.type"/>
-    <keyword type="member" name="GstRTSPTimeRange.unit" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange.unit"/>
-    <keyword type="member" name="GstRTSPTimeRange.min" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange.min"/>
-    <keyword type="member" name="GstRTSPTimeRange.max" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange.max"/>
-    <keyword type="member" name="GstRTSPTimeRange.min2" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange.min2"/>
-    <keyword type="member" name="GstRTSPTimeRange.max2" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange.max2"/>
-    <keyword type="member" name="GstRTSPTime.type" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime.type"/>
-    <keyword type="member" name="GstRTSPTime.seconds" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime.seconds"/>
-    <keyword type="member" name="GstRTSPTime2.frames" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2.frames"/>
-    <keyword type="member" name="GstRTSPTime2.year" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2.year"/>
-    <keyword type="member" name="GstRTSPTime2.month" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2.month"/>
-    <keyword type="member" name="GstRTSPTime2.day" link="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2.day"/>
-    <keyword type="member" name="GstRTSPRange.min" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPRange.min"/>
-    <keyword type="member" name="GstRTSPRange.max" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPRange.max"/>
-    <keyword type="member" name="GstRTSPTransport.trans" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.trans"/>
-    <keyword type="member" name="GstRTSPTransport.profile" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.profile"/>
-    <keyword type="member" name="GstRTSPTransport.lower-transport" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.lower-transport"/>
-    <keyword type="member" name="GstRTSPTransport.destination" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.destination"/>
-    <keyword type="member" name="GstRTSPTransport.source" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.source"/>
-    <keyword type="member" name="GstRTSPTransport.layers" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.layers"/>
-    <keyword type="member" name="GstRTSPTransport.mode-play" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.mode-play"/>
-    <keyword type="member" name="GstRTSPTransport.mode-record" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.mode-record"/>
-    <keyword type="member" name="GstRTSPTransport.append" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.append"/>
-    <keyword type="member" name="GstRTSPTransport.interleaved" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.interleaved"/>
-    <keyword type="member" name="GstRTSPTransport.ttl" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.ttl"/>
-    <keyword type="member" name="GstRTSPTransport.port" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.port"/>
-    <keyword type="member" name="GstRTSPTransport.client-port" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.client-port"/>
-    <keyword type="member" name="GstRTSPTransport.server-port" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.server-port"/>
-    <keyword type="member" name="GstRTSPTransport.ssrc" link="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport.ssrc"/>
-    <keyword type="member" name="GstRTSPUrl.transports" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.transports"/>
-    <keyword type="member" name="GstRTSPUrl.family" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.family"/>
-    <keyword type="member" name="GstRTSPUrl.user" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.user"/>
-    <keyword type="member" name="GstRTSPUrl.passwd" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.passwd"/>
-    <keyword type="member" name="GstRTSPUrl.host" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.host"/>
-    <keyword type="member" name="GstRTSPUrl.port" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.port"/>
-    <keyword type="member" name="GstRTSPUrl.abspath" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.abspath"/>
-    <keyword type="member" name="GstRTSPUrl.query" link="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl.query"/>
-    <keyword type="member" name="GstSDPOrigin.username" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin.username"/>
-    <keyword type="member" name="GstSDPOrigin.sess-id" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin.sess-id"/>
-    <keyword type="member" name="GstSDPOrigin.sess-version" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin.sess-version"/>
-    <keyword type="member" name="GstSDPOrigin.nettype" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin.nettype"/>
-    <keyword type="member" name="GstSDPOrigin.addrtype" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin.addrtype"/>
-    <keyword type="member" name="GstSDPOrigin.addr" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin.addr"/>
-    <keyword type="member" name="GstSDPConnection.nettype" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection.nettype"/>
-    <keyword type="member" name="GstSDPConnection.addrtype" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection.addrtype"/>
-    <keyword type="member" name="GstSDPConnection.address" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection.address"/>
-    <keyword type="member" name="GstSDPConnection.ttl" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection.ttl"/>
-    <keyword type="member" name="GstSDPConnection.addr-number" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection.addr-number"/>
-    <keyword type="member" name="GstSDPBandwidth.bwtype" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth.bwtype"/>
-    <keyword type="member" name="GstSDPBandwidth.bandwidth" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth.bandwidth"/>
-    <keyword type="member" name="GstSDPTime.start" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime.start"/>
-    <keyword type="member" name="GstSDPTime.stop" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime.stop"/>
-    <keyword type="member" name="GstSDPTime.repeat" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime.repeat"/>
-    <keyword type="member" name="GstSDPZone.time" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone.time"/>
-    <keyword type="member" name="GstSDPZone.typed-time" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone.typed-time"/>
-    <keyword type="member" name="GstSDPKey.type" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey.type"/>
-    <keyword type="member" name="GstSDPKey.data" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey.data"/>
-    <keyword type="member" name="GstSDPAttribute.key" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute.key"/>
-    <keyword type="member" name="GstSDPAttribute.value" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute.value"/>
-    <keyword type="member" name="GstSDPMedia.media" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.media"/>
-    <keyword type="member" name="GstSDPMedia.port" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.port"/>
-    <keyword type="member" name="GstSDPMedia.num-ports" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.num-ports"/>
-    <keyword type="member" name="GstSDPMedia.proto" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.proto"/>
-    <keyword type="member" name="GstSDPMedia.fmts" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.fmts"/>
-    <keyword type="member" name="GstSDPMedia.information" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.information"/>
-    <keyword type="member" name="GstSDPMedia.connections" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.connections"/>
-    <keyword type="member" name="GstSDPMedia.bandwidths" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.bandwidths"/>
-    <keyword type="member" name="GstSDPMedia.key" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.key"/>
-    <keyword type="member" name="GstSDPMedia.attributes" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia.attributes"/>
-    <keyword type="member" name="GstSDPMessage.version" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.version"/>
-    <keyword type="member" name="GstSDPMessage.origin" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.origin"/>
-    <keyword type="member" name="GstSDPMessage.session-name" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.session-name"/>
-    <keyword type="member" name="GstSDPMessage.information" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.information"/>
-    <keyword type="member" name="GstSDPMessage.uri" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.uri"/>
-    <keyword type="member" name="GstSDPMessage.emails" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.emails"/>
-    <keyword type="member" name="GstSDPMessage.phones" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.phones"/>
-    <keyword type="member" name="GstSDPMessage.connection" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.connection"/>
-    <keyword type="member" name="GstSDPMessage.bandwidths" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.bandwidths"/>
-    <keyword type="member" name="GstSDPMessage.times" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.times"/>
-    <keyword type="member" name="GstSDPMessage.zones" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.zones"/>
-    <keyword type="member" name="GstSDPMessage.key" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.key"/>
-    <keyword type="member" name="GstSDPMessage.attributes" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.attributes"/>
-    <keyword type="member" name="GstSDPMessage.medias" link="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage.medias"/>
-    <keyword type="member" name="GstMIKEYMessage.version" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.version"/>
-    <keyword type="member" name="GstMIKEYMessage.type" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.type"/>
-    <keyword type="member" name="GstMIKEYMessage.V" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.V"/>
-    <keyword type="member" name="GstMIKEYMessage.prf-func" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.prf-func"/>
-    <keyword type="member" name="GstMIKEYMessage.CSB-id" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.CSB-id"/>
-    <keyword type="member" name="GstMIKEYMessage.map-type" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.map-type"/>
-    <keyword type="member" name="GstMIKEYMessage.map-info" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.map-info"/>
-    <keyword type="member" name="GstMIKEYMessage.payloads" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage.payloads"/>
-    <keyword type="member" name="GstMIKEYMapSRTP.policy" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapSRTP.policy"/>
-    <keyword type="member" name="GstMIKEYMapSRTP.ssrc" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapSRTP.ssrc"/>
-    <keyword type="member" name="GstMIKEYMapSRTP.roc" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapSRTP.roc"/>
-    <keyword type="member" name="GstMIKEYPayload.type" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload.type"/>
-    <keyword type="member" name="GstMIKEYPayload.len" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload.len"/>
-    <keyword type="member" name="GstMIKEYPayloadKEMAC.pt" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadKEMAC.pt"/>
-    <keyword type="member" name="GstMIKEYPayloadKEMAC.enc-alg" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadKEMAC.enc-alg"/>
-    <keyword type="member" name="GstMIKEYPayloadKEMAC.mac-alg" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadKEMAC.mac-alg"/>
-    <keyword type="member" name="GstMIKEYPayloadKEMAC.subpayloads" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadKEMAC.subpayloads"/>
-    <keyword type="member" name="GstMIKEYPayloadPKE.pt" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadPKE.pt"/>
-    <keyword type="member" name="GstMIKEYPayloadPKE.C" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadPKE.C"/>
-    <keyword type="member" name="GstMIKEYPayloadPKE.data-len" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadPKE.data-len"/>
-    <keyword type="member" name="GstMIKEYPayloadPKE.data" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadPKE.data"/>
-    <keyword type="member" name="GstMIKEYPayloadT.pt" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadT.pt"/>
-    <keyword type="member" name="GstMIKEYPayloadT.type" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadT.type"/>
-    <keyword type="member" name="GstMIKEYPayloadT.ts-value" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadT.ts-value"/>
-    <keyword type="member" name="GstMIKEYPayloadRAND.pt" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadRAND.pt"/>
-    <keyword type="member" name="GstMIKEYPayloadRAND.len" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadRAND.len"/>
-    <keyword type="member" name="GstMIKEYPayloadRAND.rand" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadRAND.rand"/>
-    <keyword type="member" name="GstMIKEYPayloadSP.pt" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSP.pt"/>
-    <keyword type="member" name="GstMIKEYPayloadSP.policy" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSP.policy"/>
-    <keyword type="member" name="GstMIKEYPayloadSP.proto" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSP.proto"/>
-    <keyword type="member" name="GstMIKEYPayloadSP.params" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSP.params"/>
-    <keyword type="member" name="GstMIKEYPayloadSPParam.type" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSPParam.type"/>
-    <keyword type="member" name="GstMIKEYPayloadSPParam.len" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSPParam.len"/>
-    <keyword type="member" name="GstMIKEYPayloadSPParam.val" link="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSPParam.val"/>
-    <keyword type="member" name="GstTagDemux.element" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemux.element"/>
-    <keyword type="member" name="GstTagDemuxClass.min-start-size" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxClass.min-start-size"/>
-    <keyword type="member" name="GstTagDemuxClass.min-end-size" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxClass.min-end-size"/>
-    <keyword type="member" name="GstTagDemuxClass.identify-tag" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxClass.identify-tag"/>
-    <keyword type="member" name="GstTagDemuxClass.parse-tag" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxClass.parse-tag"/>
-    <keyword type="member" name="GstTagDemuxClass.merge-tags" link="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxClass.merge-tags"/>
-    <keyword type="member" name="GstTagMux.element" link="gst-plugins-base-libs-gsttagmux.html#GstTagMux.element"/>
-    <keyword type="member" name="GstTagMuxClass.render-start-tag" link="gst-plugins-base-libs-gsttagmux.html#GstTagMuxClass.render-start-tag"/>
-    <keyword type="member" name="GstTagMuxClass.render-end-tag" link="gst-plugins-base-libs-gsttagmux.html#GstTagMuxClass.render-end-tag"/>
-    <keyword type="member" name="GstVideoAlignment.padding-top" link="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment.padding-top"/>
-    <keyword type="member" name="GstVideoAlignment.padding-bottom" link="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment.padding-bottom"/>
-    <keyword type="member" name="GstVideoAlignment.padding-left" link="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment.padding-left"/>
-    <keyword type="member" name="GstVideoAlignment.padding-right" link="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment.padding-right"/>
-    <keyword type="member" name="GstVideoAlignment.stride-align" link="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment.stride-align"/>
-    <keyword type="member" name="GstVideoFormatInfo.format" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.format"/>
-    <keyword type="member" name="GstVideoFormatInfo.name" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.name"/>
-    <keyword type="member" name="GstVideoFormatInfo.description" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.description"/>
-    <keyword type="member" name="GstVideoFormatInfo.flags" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.flags"/>
-    <keyword type="member" name="GstVideoFormatInfo.bits" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.bits"/>
-    <keyword type="member" name="GstVideoFormatInfo.n-components" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.n-components"/>
-    <keyword type="member" name="GstVideoFormatInfo.shift" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.shift"/>
-    <keyword type="member" name="GstVideoFormatInfo.depth" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.depth"/>
-    <keyword type="member" name="GstVideoFormatInfo.pixel-stride" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.pixel-stride"/>
-    <keyword type="member" name="GstVideoFormatInfo.n-planes" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.n-planes"/>
-    <keyword type="member" name="GstVideoFormatInfo.plane" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.plane"/>
-    <keyword type="member" name="GstVideoFormatInfo.poffset" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.poffset"/>
-    <keyword type="member" name="GstVideoFormatInfo.w-sub" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.w-sub"/>
-    <keyword type="member" name="GstVideoFormatInfo.h-sub" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.h-sub"/>
-    <keyword type="member" name="GstVideoFormatInfo.unpack-format" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.unpack-format"/>
-    <keyword type="member" name="GstVideoFormatInfo.unpack-func" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.unpack-func"/>
-    <keyword type="member" name="GstVideoFormatInfo.pack-lines" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.pack-lines"/>
-    <keyword type="member" name="GstVideoFormatInfo.pack-func" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.pack-func"/>
-    <keyword type="member" name="GstVideoFormatInfo.tile-mode" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.tile-mode"/>
-    <keyword type="member" name="GstVideoFormatInfo.tile-ws" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.tile-ws"/>
-    <keyword type="member" name="GstVideoFormatInfo.tile-hs" link="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo.tile-hs"/>
-    <keyword type="member" name="GstVideoColorimetry.range" link="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry.range"/>
-    <keyword type="member" name="GstVideoColorimetry.matrix" link="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry.matrix"/>
-    <keyword type="member" name="GstVideoColorimetry.transfer" link="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry.transfer"/>
-    <keyword type="member" name="GstVideoColorimetry.primaries" link="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry.primaries"/>
-    <keyword type="member" name="GstVideoInfo.finfo" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.finfo"/>
-    <keyword type="member" name="GstVideoInfo.interlace-mode" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.interlace-mode"/>
-    <keyword type="member" name="GstVideoInfo.flags" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.flags"/>
-    <keyword type="member" name="GstVideoInfo.width" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.width"/>
-    <keyword type="member" name="GstVideoInfo.height" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.height"/>
-    <keyword type="member" name="GstVideoInfo.size" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.size"/>
-    <keyword type="member" name="GstVideoInfo.views" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.views"/>
-    <keyword type="member" name="GstVideoInfo.chroma-site" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.chroma-site"/>
-    <keyword type="member" name="GstVideoInfo.colorimetry" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.colorimetry"/>
-    <keyword type="member" name="GstVideoInfo.par-n" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.par-n"/>
-    <keyword type="member" name="GstVideoInfo.par-d" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.par-d"/>
-    <keyword type="member" name="GstVideoInfo.fps-n" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.fps-n"/>
-    <keyword type="member" name="GstVideoInfo.fps-d" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.fps-d"/>
-    <keyword type="member" name="GstVideoInfo.offset" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.offset"/>
-    <keyword type="member" name="GstVideoInfo.stride" link="gst-plugins-base-libs-gstvideo.html#GstVideoInfo.stride"/>
-    <keyword type="member" name="GstVideoFrame.info" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame.info"/>
-    <keyword type="member" name="GstVideoFrame.flags" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame.flags"/>
-    <keyword type="member" name="GstVideoFrame.buffer" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame.buffer"/>
-    <keyword type="member" name="GstVideoFrame.meta" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame.meta"/>
-    <keyword type="member" name="GstVideoFrame.id" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame.id"/>
-    <keyword type="member" name="GstVideoFrame.data" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame.data"/>
-    <keyword type="member" name="GstVideoFrame.map" link="gst-plugins-base-libs-gstvideo.html#GstVideoFrame.map"/>
-    <keyword type="member" name="GstVideoMeta.meta" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.meta"/>
-    <keyword type="member" name="GstVideoMeta.buffer" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.buffer"/>
-    <keyword type="member" name="GstVideoMeta.flags" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.flags"/>
-    <keyword type="member" name="GstVideoMeta.format" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.format"/>
-    <keyword type="member" name="GstVideoMeta.id" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.id"/>
-    <keyword type="member" name="GstVideoMeta.width" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.width"/>
-    <keyword type="member" name="GstVideoMeta.height" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.height"/>
-    <keyword type="member" name="GstVideoMeta.n-planes" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.n-planes"/>
-    <keyword type="member" name="GstVideoMeta.offset" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.offset"/>
-    <keyword type="member" name="GstVideoMeta.stride" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.stride"/>
-    <keyword type="member" name="GstVideoMeta.map" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.map"/>
-    <keyword type="member" name="GstVideoMeta.unmap" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta.unmap"/>
-    <keyword type="member" name="GstVideoMetaTransform.in-info" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMetaTransform.in-info"/>
-    <keyword type="member" name="GstVideoMetaTransform.out-info" link="gst-plugins-base-libs-gstvideometa.html#GstVideoMetaTransform.out-info"/>
-    <keyword type="member" name="GstVideoCropMeta.meta" link="gst-plugins-base-libs-gstvideometa.html#GstVideoCropMeta.meta"/>
-    <keyword type="member" name="GstVideoCropMeta.x" link="gst-plugins-base-libs-gstvideometa.html#GstVideoCropMeta.x"/>
-    <keyword type="member" name="GstVideoCropMeta.y" link="gst-plugins-base-libs-gstvideometa.html#GstVideoCropMeta.y"/>
-    <keyword type="member" name="GstVideoCropMeta.width" link="gst-plugins-base-libs-gstvideometa.html#GstVideoCropMeta.width"/>
-    <keyword type="member" name="GstVideoCropMeta.height" link="gst-plugins-base-libs-gstvideometa.html#GstVideoCropMeta.height"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.meta" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.meta"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.roi-type" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.roi-type"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.id" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.id"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.parent-id" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.parent-id"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.x" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.x"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.y" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.y"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.w" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.w"/>
-    <keyword type="member" name="GstVideoRegionOfInterestMeta.h" link="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta.h"/>
-    <keyword type="member" name="GstVideoGLTextureUploadMeta.meta" link="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta.meta"/>
-    <keyword type="member" name="GstVideoGLTextureUploadMeta.texture-orientation" link="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta.texture-orientation"/>
-    <keyword type="member" name="GstVideoGLTextureUploadMeta.n-textures" link="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta.n-textures"/>
-    <keyword type="member" name="GstVideoGLTextureUploadMeta.texture-type" link="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta.texture-type"/>
-    <keyword type="member" name="GstVideoOverlayCompositionMeta.meta" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayCompositionMeta.meta"/>
-    <keyword type="member" name="GstVideoOverlayCompositionMeta.overlay" link="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayCompositionMeta.overlay"/>
-    <keyword type="member" name="GstVideoFilterClass.set-info" link="gst-plugins-base-libs-gstvideofilter.html#GstVideoFilterClass.set-info"/>
-    <keyword type="member" name="GstVideoFilterClass.transform-frame" link="gst-plugins-base-libs-gstvideofilter.html#GstVideoFilterClass.transform-frame"/>
-    <keyword type="member" name="GstVideoFilterClass.transform-frame-ip" link="gst-plugins-base-libs-gstvideofilter.html#GstVideoFilterClass.transform-frame-ip"/>
-    <keyword type="member" name="GstVideoResampler.in-size" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.in-size"/>
-    <keyword type="member" name="GstVideoResampler.out-size" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.out-size"/>
-    <keyword type="member" name="GstVideoResampler.max-taps" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.max-taps"/>
-    <keyword type="member" name="GstVideoResampler.n-phases" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.n-phases"/>
-    <keyword type="member" name="GstVideoResampler.offset" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.offset"/>
-    <keyword type="member" name="GstVideoResampler.phase" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.phase"/>
-    <keyword type="member" name="GstVideoResampler.n-taps" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.n-taps"/>
-    <keyword type="member" name="GstVideoResampler.taps" link="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler.taps"/>
-    <keyword type="member" name="GstVideoSink-struct.width" link="gst-plugins-base-libs-gstvideosink.html#GstVideoSink-struct.width"/>
-    <keyword type="member" name="GstVideoSink-struct.height" link="gst-plugins-base-libs-gstvideosink.html#GstVideoSink-struct.height"/>
-    <keyword type="member" name="GstVideoSinkClass.show-frame" link="gst-plugins-base-libs-gstvideosink.html#GstVideoSinkClass.show-frame"/>
-    <keyword type="member" name="GstVideoRectangle.x" link="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle.x"/>
-    <keyword type="member" name="GstVideoRectangle.y" link="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle.y"/>
-    <keyword type="member" name="GstVideoRectangle.w" link="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle.w"/>
-    <keyword type="member" name="GstVideoRectangle.h" link="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle.h"/>
-    <keyword type="member" name="GstColorBalanceInterface.iface" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceInterface.iface"/>
-    <keyword type="member" name="GstColorBalanceInterface.list-channels" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceInterface.list-channels"/>
-    <keyword type="member" name="GstColorBalanceInterface.set-value" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceInterface.set-value"/>
-    <keyword type="member" name="GstColorBalanceInterface.get-value" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceInterface.get-value"/>
-    <keyword type="member" name="GstColorBalanceInterface.get-balance-type" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceInterface.get-balance-type"/>
-    <keyword type="member" name="GstColorBalanceInterface.value-changed" link="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceInterface.value-changed"/>
-    <keyword type="member" name="GstColorBalanceChannel-struct.label" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel-struct.label"/>
-    <keyword type="member" name="GstColorBalanceChannel-struct.min-value" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel-struct.min-value"/>
-    <keyword type="member" name="GstColorBalanceChannel-struct.max-value" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel-struct.max-value"/>
-    <keyword type="member" name="GstColorBalanceChannelClass.parent" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannelClass.parent"/>
-    <keyword type="member" name="GstColorBalanceChannelClass.value-changed" link="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannelClass.value-changed"/>
-    <keyword type="member" name="GstVideoOrientationInterface.iface" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.iface"/>
-    <keyword type="member" name="GstVideoOrientationInterface.get-hflip" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.get-hflip"/>
-    <keyword type="member" name="GstVideoOrientationInterface.get-vflip" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.get-vflip"/>
-    <keyword type="member" name="GstVideoOrientationInterface.get-hcenter" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.get-hcenter"/>
-    <keyword type="member" name="GstVideoOrientationInterface.get-vcenter" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.get-vcenter"/>
-    <keyword type="member" name="GstVideoOrientationInterface.set-hflip" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.set-hflip"/>
-    <keyword type="member" name="GstVideoOrientationInterface.set-vflip" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.set-vflip"/>
-    <keyword type="member" name="GstVideoOrientationInterface.set-hcenter" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.set-hcenter"/>
-    <keyword type="member" name="GstVideoOrientationInterface.set-vcenter" link="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface.set-vcenter"/>
-    <keyword type="member" name="GstVideoOverlayInterface.iface" link="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlayInterface.iface"/>
-    <keyword type="member" name="GstVideoOverlayInterface.expose" link="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlayInterface.expose"/>
-    <keyword type="member" name="GstVideoOverlayInterface.handle-events" link="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlayInterface.handle-events"/>
-    <keyword type="member" name="GstVideoOverlayInterface.set-render-rectangle" link="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlayInterface.set-render-rectangle"/>
-    <keyword type="member" name="GstVideoOverlayInterface.set-window-handle" link="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlayInterface.set-window-handle"/>
-    <keyword type="member" name="GstVideoDecoderClass.open" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.open"/>
-    <keyword type="member" name="GstVideoDecoderClass.close" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.close"/>
-    <keyword type="member" name="GstVideoDecoderClass.start" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.start"/>
-    <keyword type="member" name="GstVideoDecoderClass.stop" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.stop"/>
-    <keyword type="member" name="GstVideoDecoderClass.parse" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.parse"/>
-    <keyword type="member" name="GstVideoDecoderClass.set-format" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.set-format"/>
-    <keyword type="member" name="GstVideoDecoderClass.reset" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.reset"/>
-    <keyword type="member" name="GstVideoDecoderClass.finish" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.finish"/>
-    <keyword type="member" name="GstVideoDecoderClass.handle-frame" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.handle-frame"/>
-    <keyword type="member" name="GstVideoDecoderClass.sink-event" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.sink-event"/>
-    <keyword type="member" name="GstVideoDecoderClass.src-event" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.src-event"/>
-    <keyword type="member" name="GstVideoDecoderClass.negotiate" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.negotiate"/>
-    <keyword type="member" name="GstVideoDecoderClass.decide-allocation" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.decide-allocation"/>
-    <keyword type="member" name="GstVideoDecoderClass.propose-allocation" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.propose-allocation"/>
-    <keyword type="member" name="GstVideoDecoderClass.flush" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.flush"/>
-    <keyword type="member" name="GstVideoDecoderClass.sink-query" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.sink-query"/>
-    <keyword type="member" name="GstVideoDecoderClass.src-query" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.src-query"/>
-    <keyword type="member" name="GstVideoDecoderClass.getcaps" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.getcaps"/>
-    <keyword type="member" name="GstVideoDecoderClass.drain" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.drain"/>
-    <keyword type="member" name="GstVideoDecoderClass.transform-meta" link="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoderClass.transform-meta"/>
-    <keyword type="member" name="GstVideoEncoderClass.open" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.open"/>
-    <keyword type="member" name="GstVideoEncoderClass.close" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.close"/>
-    <keyword type="member" name="GstVideoEncoderClass.start" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.start"/>
-    <keyword type="member" name="GstVideoEncoderClass.stop" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.stop"/>
-    <keyword type="member" name="GstVideoEncoderClass.set-format" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.set-format"/>
-    <keyword type="member" name="GstVideoEncoderClass.handle-frame" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.handle-frame"/>
-    <keyword type="member" name="GstVideoEncoderClass.reset" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.reset"/>
-    <keyword type="member" name="GstVideoEncoderClass.finish" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.finish"/>
-    <keyword type="member" name="GstVideoEncoderClass.pre-push" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.pre-push"/>
-    <keyword type="member" name="GstVideoEncoderClass.getcaps" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.getcaps"/>
-    <keyword type="member" name="GstVideoEncoderClass.sink-event" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.sink-event"/>
-    <keyword type="member" name="GstVideoEncoderClass.src-event" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.src-event"/>
-    <keyword type="member" name="GstVideoEncoderClass.negotiate" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.negotiate"/>
-    <keyword type="member" name="GstVideoEncoderClass.decide-allocation" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.decide-allocation"/>
-    <keyword type="member" name="GstVideoEncoderClass.propose-allocation" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.propose-allocation"/>
-    <keyword type="member" name="GstVideoEncoderClass.flush" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.flush"/>
-    <keyword type="member" name="GstVideoEncoderClass.sink-query" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.sink-query"/>
-    <keyword type="member" name="GstVideoEncoderClass.src-query" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.src-query"/>
-    <keyword type="member" name="GstVideoEncoderClass.transform-meta" link="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoderClass.transform-meta"/>
-    <keyword type="member" name="GstVideoCodecFrame.system-frame-number" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.system-frame-number"/>
-    <keyword type="member" name="GstVideoCodecFrame.decode-frame-number" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.decode-frame-number"/>
-    <keyword type="member" name="GstVideoCodecFrame.presentation-frame-number" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.presentation-frame-number"/>
-    <keyword type="member" name="GstVideoCodecFrame.dts" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.dts"/>
-    <keyword type="member" name="GstVideoCodecFrame.pts" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.pts"/>
-    <keyword type="member" name="GstVideoCodecFrame.duration" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.duration"/>
-    <keyword type="member" name="GstVideoCodecFrame.distance-from-sync" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.distance-from-sync"/>
-    <keyword type="member" name="GstVideoCodecFrame.input-buffer" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.input-buffer"/>
-    <keyword type="member" name="GstVideoCodecFrame.output-buffer" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.output-buffer"/>
-    <keyword type="member" name="GstVideoCodecFrame.deadline" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame.deadline"/>
-    <keyword type="member" name="GstVideoCodecState.info" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState.info"/>
-    <keyword type="member" name="GstVideoCodecState.caps" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState.caps"/>
-    <keyword type="member" name="GstVideoCodecState.codec-data" link="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState.codec-data"/>
-    <keyword type="member" name="GstNavigationInterface.iface" link="gst-plugins-base-libs-gstnavigation.html#GstNavigationInterface.iface"/>
-    <keyword type="member" name="GstNavigationInterface.send-event" link="gst-plugins-base-libs-gstnavigation.html#GstNavigationInterface.send-event"/>
   </functions>
 </book>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstAudioConverter.html b/docs/libs/html/gst-plugins-base-libs-GstAudioConverter.html
index 96dec21..af95f34 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstAudioConverter.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstAudioConverter.html
@@ -145,73 +145,12 @@
                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *in_info</code></em>,
                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *out_info</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>);</pre>
-<p>Create a new <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> that is able to convert between <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
-
-audio formats.</p>
-<p><em class="parameter"><code>config</code></em>
- contains extra configuration options, see <span class="type">GST_VIDEO_CONVERTER_OPT_</span>*
-parameters for details about the options and values.</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="gst-audio-converter-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>flags</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_info</p></td>
-<td class="parameter_description"><p>a source <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_info</p></td>
-<td class="parameter_description"><p>a destination <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>config</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> with configuration options. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-converter-new.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if conversion is not possible.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-converter-free"></a><h3>gst_audio_converter_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_converter_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>);</pre>
-<p>Free a previously allocated <em class="parameter"><code>convert</code></em>
- instance.</p>
-<div class="refsect3">
-<a name="gst-audio-converter-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -223,81 +162,6 @@
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> in_frames</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> out[]</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> out_frames</code></em>);</pre>
-<p>Perform the conversion with <em class="parameter"><code>in_frames</code></em>
- in <em class="parameter"><code>in</code></em>
- to <em class="parameter"><code>out_frames</code></em>
- in <em class="parameter"><code>out</code></em>
-
-using <em class="parameter"><code>convert</code></em>
-.</p>
-<p>In case the samples are interleaved, <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- must point to an
-array with a single element pointing to a block of interleaved samples.</p>
-<p>If non-interleaved samples are used, <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- must point to an
-array with pointers to memory blocks, one for each channel.</p>
-<p><em class="parameter"><code>in</code></em>
- may be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, in which case <em class="parameter"><code>in_frames</code></em>
- of silence samples are processed
-by the converter.</p>
-<p>This function always produces <em class="parameter"><code>out_frames</code></em>
- of output and consumes <em class="parameter"><code>in_frames</code></em>
- of
-input. Use <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-out-frames" title="gst_audio_converter_get_out_frames ()"><code class="function">gst_audio_converter_get_out_frames()</code></a> and
-<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-in-frames" title="gst_audio_converter_get_in_frames ()"><code class="function">gst_audio_converter_get_in_frames()</code></a> to make sure <em class="parameter"><code>in_frames</code></em>
- and <em class="parameter"><code>out_frames</code></em>
-
-are matching and <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- point to enough memory.</p>
-<div class="refsect3">
-<a name="gst-audio-converter-samples.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>extra <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in</p></td>
-<td class="parameter_description"><p>input frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_frames</p></td>
-<td class="parameter_description"><p>number of input frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out</p></td>
-<td class="parameter_description"><p>output frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_frames</p></td>
-<td class="parameter_description"><p>number of output frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-converter-samples.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the conversion could be performed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -305,65 +169,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
 gst_audio_converter_get_in_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> out_frames</code></em>);</pre>
-<p>Calculate how many input frames are currently needed by <em class="parameter"><code>convert</code></em>
- to produce
-<em class="parameter"><code>out_frames</code></em>
- of output frames.</p>
-<div class="refsect3">
-<a name="gst-audio-converter-get-in-frames.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_frames</p></td>
-<td class="parameter_description"><p>number of output frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-converter-get-in-frames.returns"></a><h4>Returns</h4>
-<p> the number of input frames</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-converter-get-max-latency"></a><h3>gst_audio_converter_get_max_latency ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
 gst_audio_converter_get_max_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>);</pre>
-<p>Get the maximum number of input frames that the converter would
-need before producing output.</p>
-<div class="refsect3">
-<a name="gst-audio-converter-get-max-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-converter-get-max-latency.returns"></a><h4>Returns</h4>
-<p> the latency of <em class="parameter"><code>convert</code></em>
-as expressed in the number of
-frames.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -371,36 +182,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
 gst_audio_converter_get_out_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> in_frames</code></em>);</pre>
-<p>Calculate how many output frames can be produced when <em class="parameter"><code>in_frames</code></em>
- input
-frames are given to <em class="parameter"><code>convert</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-converter-get-out-frames.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_frames</p></td>
-<td class="parameter_description"><p>number of input frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-converter-get-out-frames.returns"></a><h4>Returns</h4>
-<p> the number of output frames</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -409,41 +190,6 @@
 gst_audio_converter_get_config (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *in_rate</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *out_rate</code></em>);</pre>
-<p>Get the current configuration of <em class="parameter"><code>convert</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-converter-get-config.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_rate</p></td>
-<td class="parameter_description"><p>result input rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_rate</p></td>
-<td class="parameter_description"><p>result output rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-converter-get-config.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> that remains valid for as long as <em class="parameter"><code>convert</code></em>
-is valid
-or until <code class="function">gst_audio_converter_update_config()</code> is called.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -455,7 +201,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioConverterFlags"></a><h3>enum GstAudioConverterFlags</h3>
-<p>Extra flags passed to <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-new" title="gst_audio_converter_new ()"><code class="function">gst_audio_converter_new()</code></a> and <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-samples" title="gst_audio_converter_samples ()"><code class="function">gst_audio_converter_samples()</code></a>.</p>
 <div class="refsect3">
 <a name="GstAudioConverterFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -467,26 +212,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CONVERTER-FLAG-NONE:CAPS"></a>GST_AUDIO_CONVERTER_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CONVERTER-FLAG-IN-WRITABLE:CAPS"></a>GST_AUDIO_CONVERTER_FLAG_IN_WRITABLE</p></td>
-<td class="enum_member_description">
-<p>the input sample arrays are writable and can be
-   used as temporary storage during conversion.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CONVERTER-FLAG-VARIABLE-RATE:CAPS"></a>GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE</p></td>
-<td class="enum_member_description">
-<p>allow arbitrary rate updates with
-   <code class="function">gst_audio_converter_update_config()</code>.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -497,27 +234,18 @@
 <a name="GST-AUDIO-CONVERTER-OPT-DITHER-METHOD:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_DITHER_METHOD</h3>
 <pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_DITHER_METHOD   "GstAudioConverter.dither-method"
 </pre>
-<p><span class="type">GST_TYPE_AUDIO_DITHER_METHOD</span>, The dither method to use when
-changing bit depth.
-Default is <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GST-AUDIO-DITHER-NONE:CAPS"><span class="type">GST_AUDIO_DITHER_NONE</span></a>.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-CONVERTER-OPT-NOISE-SHAPING-METHOD:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD</h3>
 <pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD   "GstAudioConverter.noise-shaping-method"
 </pre>
-<p><span class="type">GST_TYPE_AUDIO_NOISE_SHAPING_METHOD</span>, The noise shaping method to use
-to mask noise from quantization errors.
-Default is <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GST-AUDIO-NOISE-SHAPING-NONE:CAPS"><span class="type">GST_AUDIO_NOISE_SHAPING_NONE</span></a>.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-CONVERTER-OPT-QUANTIZATION:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_QUANTIZATION</h3>
 <pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_QUANTIZATION   "GstAudioConverter.quantization"
 </pre>
-<p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The quantization amount. Components will be
-quantized to multiples of this value.
-Default is 1</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstAudioQuantize.html b/docs/libs/html/gst-plugins-base-libs-GstAudioQuantize.html
index 680ec89..44febc0 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstAudioQuantize.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstAudioQuantize.html
@@ -107,22 +107,6 @@
 <a name="gst-audio-quantize-free"></a><h3>gst_audio_quantize_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_quantize_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GstAudioQuantize" title="GstAudioQuantize"><span class="type">GstAudioQuantize</span></a> *quant</code></em>);</pre>
-<p>Free a <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GstAudioQuantize" title="GstAudioQuantize"><span class="type">GstAudioQuantize</span></a>.</p>
-<div class="refsect3">
-<a name="gst-audio-quantize-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>quant</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GstAudioQuantize" title="GstAudioQuantize"><span class="type">GstAudioQuantize</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -143,54 +127,6 @@
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> in[]</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> out[]</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> samples</code></em>);</pre>
-<p>Perform quantization on <em class="parameter"><code>samples</code></em>
- in <em class="parameter"><code>in</code></em>
- and write the result to <em class="parameter"><code>out</code></em>
-.</p>
-<p>In case the samples are interleaved, <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- must point to an
-array with a single element pointing to a block of interleaved samples.</p>
-<p>If non-interleaved samples are used, <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- must point to an
-array with pointers to memory blocks, one for each channel.</p>
-<p><em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- may point to the same memory location, in which case samples will be
-modified in-place.</p>
-<div class="refsect3">
-<a name="gst-audio-quantize-samples.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>quant</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GstAudioQuantize" title="GstAudioQuantize"><span class="type">GstAudioQuantize</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in</p></td>
-<td class="parameter_description"><p>input samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out</p></td>
-<td class="parameter_description"><p>output samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>samples</p></td>
-<td class="parameter_description"><p>number of samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -202,7 +138,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioQuantizeFlags"></a><h3>enum GstAudioQuantizeFlags</h3>
-<p>Extra flags that can be passed to <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#gst-audio-quantize-new" title="gst_audio_quantize_new ()"><code class="function">gst_audio_quantize_new()</code></a></p>
 <div class="refsect3">
 <a name="GstAudioQuantizeFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -214,17 +149,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-QUANTIZE-FLAG-NONE:CAPS"></a>GST_AUDIO_QUANTIZE_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-QUANTIZE-FLAG-NON-INTERLEAVED:CAPS"></a>GST_AUDIO_QUANTIZE_FLAG_NON_INTERLEAVED</p></td>
-<td class="enum_member_description">
-<p>samples are non-interleaved</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -233,7 +164,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioDitherMethod"></a><h3>enum GstAudioDitherMethod</h3>
-<p>Set of available dithering methods.</p>
 <div class="refsect3">
 <a name="GstAudioDitherMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -245,31 +175,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-DITHER-NONE:CAPS"></a>GST_AUDIO_DITHER_NONE</p></td>
-<td class="enum_member_description">
-<p>No dithering</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-DITHER-RPDF:CAPS"></a>GST_AUDIO_DITHER_RPDF</p></td>
-<td class="enum_member_description">
-<p>Rectangular dithering</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-DITHER-TPDF:CAPS"></a>GST_AUDIO_DITHER_TPDF</p></td>
-<td class="enum_member_description">
-<p>Triangular dithering (default)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-DITHER-TPDF-HF:CAPS"></a>GST_AUDIO_DITHER_TPDF_HF</p></td>
-<td class="enum_member_description">
-<p>High frequency triangular dithering</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -278,7 +200,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioNoiseShapingMethod"></a><h3>enum GstAudioNoiseShapingMethod</h3>
-<p>Set of available noise shaping methods</p>
 <div class="refsect3">
 <a name="GstAudioNoiseShapingMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -290,38 +211,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-NOISE-SHAPING-NONE:CAPS"></a>GST_AUDIO_NOISE_SHAPING_NONE</p></td>
-<td class="enum_member_description">
-<p>No noise shaping (default)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-NOISE-SHAPING-ERROR-FEEDBACK:CAPS"></a>GST_AUDIO_NOISE_SHAPING_ERROR_FEEDBACK</p></td>
-<td class="enum_member_description">
-<p>Error feedback</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-NOISE-SHAPING-SIMPLE:CAPS"></a>GST_AUDIO_NOISE_SHAPING_SIMPLE</p></td>
-<td class="enum_member_description">
-<p>Simple 2-pole noise shaping</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-NOISE-SHAPING-MEDIUM:CAPS"></a>GST_AUDIO_NOISE_SHAPING_MEDIUM</p></td>
-<td class="enum_member_description">
-<p>Medium 5-pole noise shaping</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-NOISE-SHAPING-HIGH:CAPS"></a>GST_AUDIO_NOISE_SHAPING_HIGH</p></td>
-<td class="enum_member_description">
-<p>High 8-pole noise shaping</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.html b/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.html
index 1b0b0b4..1d584d8 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoChroma.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-GstVideoChroma.top_of_page"></a>GstVideoChroma</span></h2>
-<p>GstVideoChroma — Functions and utility object for operating on chroma video planes</p>
+<p>GstVideoChroma</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -123,10 +123,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoChroma.description"></a><h2>Description</h2>
-<p>The functions <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#gst-video-chroma-from-string" title="gst_video_chroma_from_string ()"><code class="function">gst_video_chroma_from_string()</code></a> and <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#gst-video-chroma-to-string" title="gst_video_chroma_to_string ()"><code class="function">gst_video_chroma_to_string()</code></a> convert
-between <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> and string descriptions.</p>
-<p><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a> is a utility object for resampling chroma planes
-and converting between different chroma sampling sitings.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoChroma.functions_details"></a><h2>Functions</h2>
@@ -134,57 +130,12 @@
 <a name="gst-video-chroma-from-string"></a><h3>gst_video_chroma_from_string ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="returnvalue">GstVideoChromaSite</span></a>
 gst_video_chroma_from_string (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *s</code></em>);</pre>
-<p>Convert <em class="parameter"><code>s</code></em>
- to a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a></p>
-<div class="refsect3">
-<a name="gst-video-chroma-from-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>s</p></td>
-<td class="parameter_description"><p>a chromasite string</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-chroma-from-string.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> or <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GST-VIDEO-CHROMA-SITE-UNKNOWN:CAPS"><code class="literal">GST_VIDEO_CHROMA_SITE_UNKNOWN</code></a> when <em class="parameter"><code>s</code></em>
-does
-not contain a valid chroma description.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-chroma-to-string"></a><h3>gst_video_chroma_to_string ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_video_chroma_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> site</code></em>);</pre>
-<p>Converts <em class="parameter"><code>site</code></em>
- to its string representation.</p>
-<div class="refsect3">
-<a name="gst-video-chroma-to-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>site</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-chroma-to-string.returns"></a><h4>Returns</h4>
-<p> a string describing <em class="parameter"><code>site</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -193,59 +144,12 @@
 gst_video_chroma_resample (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a> *resample</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> lines[]</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>);</pre>
-<p>Perform resampling of <em class="parameter"><code>width</code></em>
- chroma pixels in <em class="parameter"><code>lines</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-chroma-resample.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>resample</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>lines</p></td>
-<td class="parameter_description"><p>pixel lines</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the number of pixels on one line</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-chroma-resample-free"></a><h3>gst_video_chroma_resample_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_chroma_resample_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a> *resample</code></em>);</pre>
-<p>Free <em class="parameter"><code>resample</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-video-chroma-resample-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>resample</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -254,37 +158,6 @@
 gst_video_chroma_resample_get_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a> *resample</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_lines</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *offset</code></em>);</pre>
-<p>The resampler must be fed <em class="parameter"><code>n_lines</code></em>
- at a time. The first line should be
-at <em class="parameter"><code>offset</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-chroma-resample-get-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>resample</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaResample" title="GstVideoChromaResample"><span class="type">GstVideoChromaResample</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_lines</p></td>
-<td class="parameter_description"><p>the number of input lines</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>offset</p></td>
-<td class="parameter_description"><p>the first line</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -296,66 +169,12 @@
                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> h_factor</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> v_factor</code></em>);</pre>
-<p>Create a new resampler object for the given parameters. When <em class="parameter"><code>h_factor</code></em>
- or
-<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="gst-video-chroma-resample-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>method</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaMethod" title="enum GstVideoChromaMethod"><span class="type">GstVideoChromaMethod</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>site</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaFlags" title="enum GstVideoChromaFlags"><span class="type">GstVideoChromaFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>h_factor</p></td>
-<td class="parameter_description"><p>horizontal resampling factor</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>v_factor</p></td>
-<td class="parameter_description"><p>vertical resampling factor</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-chroma-resample-new.returns"></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>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoChroma.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstVideoChromaSite"></a><h3>enum GstVideoChromaSite</h3>
-<p>Various Chroma sitings.</p>
 <div class="refsect3">
 <a name="GstVideoChromaSite.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -367,66 +186,48 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-UNKNOWN:CAPS"></a>GST_VIDEO_CHROMA_SITE_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>unknown cositing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-NONE:CAPS"></a>GST_VIDEO_CHROMA_SITE_NONE</p></td>
-<td class="enum_member_description">
-<p>no cositing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-H-COSITED:CAPS"></a>GST_VIDEO_CHROMA_SITE_H_COSITED</p></td>
-<td class="enum_member_description">
-<p>chroma is horizontally cosited</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-V-COSITED:CAPS"></a>GST_VIDEO_CHROMA_SITE_V_COSITED</p></td>
-<td class="enum_member_description">
-<p>chroma is vertically cosited</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-ALT-LINE:CAPS"></a>GST_VIDEO_CHROMA_SITE_ALT_LINE</p></td>
-<td class="enum_member_description">
-<p>choma samples are sited on alternate lines</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-COSITED:CAPS"></a>GST_VIDEO_CHROMA_SITE_COSITED</p></td>
-<td class="enum_member_description">
-<p>chroma samples cosited with luma samples</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-JPEG:CAPS"></a>GST_VIDEO_CHROMA_SITE_JPEG</p></td>
-<td class="enum_member_description">
-<p>jpeg style cositing, also for mpeg1 and mjpeg</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-MPEG2:CAPS"></a>GST_VIDEO_CHROMA_SITE_MPEG2</p></td>
-<td class="enum_member_description">
-<p>mpeg2 style cositing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-SITE-DV:CAPS"></a>GST_VIDEO_CHROMA_SITE_DV</p></td>
-<td class="enum_member_description">
-<p>DV style cositing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -435,7 +236,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoChromaFlags"></a><h3>enum GstVideoChromaFlags</h3>
-<p>Extra flags that influence the result from <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#gst-video-chroma-resample-new" title="gst_video_chroma_resample_new ()"><code class="function">gst_video_chroma_resample_new()</code></a>.</p>
 <div class="refsect3">
 <a name="GstVideoChromaFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -447,17 +247,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-FLAG-NONE:CAPS"></a>GST_VIDEO_CHROMA_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-FLAG-INTERLACED:CAPS"></a>GST_VIDEO_CHROMA_FLAG_INTERLACED</p></td>
-<td class="enum_member_description">
-<p>the input is interlaced</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -466,7 +262,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoChromaMethod"></a><h3>enum GstVideoChromaMethod</h3>
-<p>Different subsampling and upsampling methods</p>
 <div class="refsect3">
 <a name="GstVideoChromaMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -478,19 +273,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-METHOD-NEAREST:CAPS"></a>GST_VIDEO_CHROMA_METHOD_NEAREST</p></td>
-<td class="enum_member_description">
-<p>Duplicates the chroma samples when
-   upsampling and drops when subsampling</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CHROMA-METHOD-LINEAR:CAPS"></a>GST_VIDEO_CHROMA_METHOD_LINEAR</p></td>
-<td class="enum_member_description">
-<p>Uses linear interpolation to reconstruct
-   missing chroma and averaging to subsample</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html b/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
index 06018ff..1bb61dc 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoDecoder.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-GstVideoDecoder.top_of_page"></a>GstVideoDecoder</span></h2>
-<p>GstVideoDecoder — Base class for video decoders</p>
+<p>GstVideoDecoder</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -361,332 +361,48 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoDecoder.description"></a><h2>Description</h2>
-<p>This base class is for video decoders turning encoded data into raw video
-frames.</p>
-<p>The GstVideoDecoder base class and derived subclasses should cooperate as
-follows:</p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Configuration</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-    Initially, GstVideoDecoder calls <em class="parameter"><code>start</code></em> when the decoder element
-    is activated, which allows the subclass to perform any global setup.
-  </p></li>
-<li class="listitem"><p>
-    GstVideoDecoder calls <em class="parameter"><code>set_format</code></em> to inform the subclass of caps
-    describing input video data that it is about to receive, including
-    possibly configuration data.
-    While unlikely, it might be called more than once, if changing input
-    parameters require reconfiguration.
-  </p></li>
-<li class="listitem"><p>
-    Incoming data buffers are processed as needed, described in Data
-    Processing below.
-  </p></li>
-<li class="listitem"><p>
-    GstVideoDecoder calls <em class="parameter"><code>stop</code></em> at end of all processing.
-  </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Data processing</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-      The base class gathers input data, and optionally allows subclass
-      to parse this into subsequently manageable chunks, typically
-      corresponding to and referred to as 'frames'.
-    </p></li>
-<li class="listitem"><p>
-      Each input frame is provided in turn to the subclass' <em class="parameter"><code>handle_frame</code></em>
-      callback.
-      The ownership of the frame is given to the <em class="parameter"><code>handle_frame</code></em> callback.
-    </p></li>
-<li class="listitem"><p>
-      If codec processing results in decoded data, the subclass should call
-      <em class="parameter"><code>gst_video_decoder_finish_frame</code></em> to have decoded data pushed.
-      downstream. Otherwise, the subclass must call
-      <em class="parameter"><code>gst_video_decoder_drop_frame</code></em>, to allow the base class to do timestamp
-      and offset tracking, and possibly to requeue the frame for a later
-      attempt in the case of reverse playback.
-    </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Shutdown phase</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-    The GstVideoDecoder class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
-    parsing will be stopped.
-  </p></li></ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Additional Notes</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Seeking/Flushing</b></p>
-<ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>
-  When the pipeline is seeked or otherwise flushed, the subclass is
-  informed via a call to its <em class="parameter"><code>reset</code></em> callback, with the hard parameter
-  set to true. This indicates the subclass should drop any internal data
-  queues and timestamps and prepare for a fresh set of buffers to arrive
-  for parsing and decoding.
-    </p></li></ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>End Of Stream</b></p>
-<ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>
-  At end-of-stream, the subclass <em class="parameter"><code>parse</code></em> function may be called some final
-  times with the at_eos parameter set to true, indicating that the element
-  should not expect any more data to be arriving, and it should parse and
-  remaining frames and call <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-have-frame" title="gst_video_decoder_have_frame ()"><code class="function">gst_video_decoder_have_frame()</code></a> if possible.
-    </p></li></ul>
-</div></li>
-</ul>
-</div></li>
-</ol></div>
-<p>The subclass is responsible for providing pad template caps for
-source and sink pads. The pads need to be named "sink" and "src". It also
-needs to provide information about the ouptput caps, when they are known.
-This may be when the base class calls the subclass' <em class="parameter"><code>set_format</code></em>
- function,
-though it might be during decoding, before calling
-<em class="parameter"><code>gst_video_decoder_finish_frame</code></em>
-. This is done via
-<em class="parameter"><code>gst_video_decoder_set_output_state</code></em>
-</p>
-<p>The subclass is also responsible for providing (presentation) timestamps
-(likely based on corresponding input ones).  If that is not applicable
-or possible, the base class provides limited framerate based interpolation.</p>
-<p>Similarly, the base class provides some limited (legacy) seeking support
-if specifically requested by the subclass, as full-fledged support
-should rather be left to upstream demuxer, parser or alike.  This simple
-approach caters for seeking and duration reporting using estimated input
-bitrates. To enable it, a subclass should call
-<em class="parameter"><code>gst_video_decoder_set_estimate_rate</code></em>
- to enable handling of incoming
-byte-streams.</p>
-<p>The base class provides some support for reverse playback, in particular
-in case incoming data is not packetized or upstream does not provide
-fragments on keyframe boundaries.  However, the subclass should then be
-prepared for the parsing and frame processing stage to occur separately
-(in normal forward processing, the latter immediately follows the former),
-The subclass also needs to ensure the parsing stage properly marks
-keyframes, unless it knows the upstream elements will do so properly for
-incoming data.</p>
-<p>The bare minimum that a functional subclass needs to implement is:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Provide pad templates</p></li>
-<li class="listitem"><p>
-     Inform the base class of output caps via
-     <em class="parameter"><code>gst_video_decoder_set_output_state</code></em>
-  </p></li>
-<li class="listitem"><p>
-     Parse input data, if it is not considered packetized from upstream
-     Data will be provided to <em class="parameter"><code>parse</code></em> which should invoke
-     <em class="parameter"><code>gst_video_decoder_add_to_frame</code></em> and <em class="parameter"><code>gst_video_decoder_have_frame</code></em> to
-     separate the data belonging to each video frame.
-  </p></li>
-<li class="listitem"><p>
-     Accept data in <em class="parameter"><code>handle_frame</code></em> and provide decoded results to
-     <em class="parameter"><code>gst_video_decoder_finish_frame</code></em>, or call <em class="parameter"><code>gst_video_decoder_drop_frame</code></em>.
-  </p></li>
-</ul></div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoDecoder.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-ERROR:CAPS"></a><h3>GST_VIDEO_DECODER_ERROR()</h3>
 <pre class="programlisting">#define             GST_VIDEO_DECODER_ERROR(el, w, domain, code, text, debug, ret)</pre>
-<p>Utility function that video decoder elements can use in case they encountered
-a data processing error that may be fatal for the current "data unit" but
-need not prevent subsequent decoding.  Such errors are counted and if there
-are too many, as configured in the context's max_errors, the pipeline will
-post an error message and the application will be requested to stop further
-media processing.  Otherwise, it is considered a "glitch" and only a warning
-is logged. In either case, <em class="parameter"><code>ret</code></em>
- is set to the proper value to
-return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK).</p>
-<div class="refsect3">
-<a name="GST-VIDEO-DECODER-ERROR.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>el</p></td>
-<td class="parameter_description"><p>the base video decoder element that generates the error</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>w</p></td>
-<td class="parameter_description"><p>element defined weight of the error, added to error count</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>domain</p></td>
-<td class="parameter_description"><p>like CORE, LIBRARY, RESOURCE or STREAM (see <span class="type">gstreamer-GstGError</span>)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>code</p></td>
-<td class="parameter_description"><p>error code defined for that domain (see <span class="type">gstreamer-GstGError</span>)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p>the message to display (format string and args enclosed in
-parentheses)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>debug</p></td>
-<td class="parameter_description"><p>debugging information for the message (format string and args
-enclosed in parentheses)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ret</p></td>
-<td class="parameter_description"><p>variable to receive return value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-SINK-PAD:CAPS"></a><h3>GST_VIDEO_DECODER_SINK_PAD()</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_SINK_PAD(obj)        (((GstVideoDecoder *) (obj))-&gt;sinkpad)
 </pre>
-<p>Gives the pointer to the sink <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-DECODER-SINK-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-SRC-PAD:CAPS"></a><h3>GST_VIDEO_DECODER_SRC_PAD()</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_SRC_PAD(obj)         (((GstVideoDecoder *) (obj))-&gt;srcpad)
 </pre>
-<p>Gives the pointer to the source <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-DECODER-SRC-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-STREAM-LOCK:CAPS"></a><h3>GST_VIDEO_DECODER_STREAM_LOCK()</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_STREAM_LOCK(decoder) g_rec_mutex_lock (&amp;GST_VIDEO_DECODER (decoder)-&gt;stream_lock)
 </pre>
-<p>Obtain a lock to protect the decoder function from concurrent access.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-DECODER-STREAM-LOCK.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>video decoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-STREAM-UNLOCK:CAPS"></a><h3>GST_VIDEO_DECODER_STREAM_UNLOCK()</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_STREAM_UNLOCK(decoder) g_rec_mutex_unlock (&amp;GST_VIDEO_DECODER (decoder)-&gt;stream_lock)
 </pre>
-<p>Release the lock that protects the decoder function from concurrent access.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-DECODER-STREAM-UNLOCK.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>video decoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-INPUT-SEGMENT:CAPS"></a><h3>GST_VIDEO_DECODER_INPUT_SEGMENT()</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_INPUT_SEGMENT(obj)     (GST_VIDEO_DECODER_CAST (obj)-&gt;input_segment)
 </pre>
-<p>Gives the segment of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-DECODER-INPUT-SEGMENT.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>base decoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-OUTPUT-SEGMENT:CAPS"></a><h3>GST_VIDEO_DECODER_OUTPUT_SEGMENT()</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_OUTPUT_SEGMENT(obj)     (GST_VIDEO_DECODER_CAST (obj)-&gt;output_segment)
 </pre>
-<p>Gives the segment of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-DECODER-OUTPUT-SEGMENT.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>base decoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -694,30 +410,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_decoder_add_to_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                 <em class="parameter"><code><span class="type">int</span> n_bytes</code></em>);</pre>
-<p>Removes next <em class="parameter"><code>n_bytes</code></em>
- of input data and adds it to currently parsed frame.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-add-to-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_bytes</p></td>
-<td class="parameter_description"><p>the number of bytes to add</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -725,32 +417,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_video_decoder_allocate_output_buffer
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Helper function that allocates a buffer to hold a video frame for <em class="parameter"><code>decoder</code></em>
-'s
-current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
-<p>You should use <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-allocate-output-frame" title="gst_video_decoder_allocate_output_frame ()"><code class="function">gst_video_decoder_allocate_output_frame()</code></a> instead of this
-function, if possible at all.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-allocate-output-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-allocate-output-buffer.returns"></a><h4>Returns</h4>
-<p> allocated buffer, or NULL if no buffer could be
-allocated (e.g. when downstream is flushing or shutting down). </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -759,38 +425,6 @@
 gst_video_decoder_allocate_output_frame
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p>Helper function that allocates a buffer to hold a video frame for <em class="parameter"><code>decoder</code></em>
-'s
-current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.  Subclass should already have configured video
-state and set src pad caps.</p>
-<p>The buffer allocated here is owned by the frame and you should only
-keep references to the frame, not the buffer.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-allocate-output-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-allocate-output-frame.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if an output buffer could be allocated</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -799,69 +433,12 @@
 gst_video_decoder_get_allocator (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a> **allocator</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
-<p>Lets <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
-
-used by the base class and its <em class="parameter"><code>params</code></em>
-.</p>
-<p>Unref the <em class="parameter"><code>allocator</code></em>
- after use it.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-allocator.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>allocator</p></td>
-<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a>
-used. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>params</p></td>
-<td class="parameter_description"><p> the
-<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-buffer-pool"></a><h3>gst_video_decoder_get_buffer_pool ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="returnvalue">GstBufferPool</span></a> *
 gst_video_decoder_get_buffer_pool (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-decoder-get-buffer-pool.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-buffer-pool.returns"></a><h4>Returns</h4>
-<p> the instance of the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="type">GstBufferPool</span></a> used
-by the decoder; free it after use it. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -869,36 +446,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_video_decoder_drop_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p>Similar to <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-finish-frame" title="gst_video_decoder_finish_frame ()"><code class="function">gst_video_decoder_finish_frame()</code></a>, but drops <em class="parameter"><code>frame</code></em>
- in any
-case and posts a QoS message with the frame's details on the bus.
-In any case, the frame is considered finished and released.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-drop-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame</p></td>
-<td class="parameter_description"><p> the <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> to drop. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-drop-frame.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>, usually GST_FLOW_OK.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -906,41 +453,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_video_decoder_finish_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p><em class="parameter"><code>frame</code></em>
- should have a valid decoded data buffer, whose metadata fields
-are then appropriately set according to frame data and pushed downstream.
-If no output data is provided, <em class="parameter"><code>frame</code></em>
- is considered skipped.
-In any case, the frame is considered finished and released.</p>
-<p>After calling this function the output buffer of the frame is to be
-considered read-only. This function will also change the metadata
-of the buffer.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-finish-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame</p></td>
-<td class="parameter_description"><p> a decoded <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-finish-frame.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> resulting from sending data downstream</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -948,61 +460,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_decoder_release_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p>Similar to <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-drop-frame" title="gst_video_decoder_drop_frame ()"><code class="function">gst_video_decoder_drop_frame()</code></a>, but simply releases <em class="parameter"><code>frame</code></em>
-
-without any processing other than removing it from list of pending frames,
-after which it is considered finished and released.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-release-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame</p></td>
-<td class="parameter_description"><p> the <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> to release. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.2.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-negotiate"></a><h3>gst_video_decoder_negotiate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_decoder_negotiate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Negotiate with downstream elements to currently configured <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.
-Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
-negotiate fails.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-negotiate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-negotiate.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the negotiation succeeded, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1010,62 +473,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
 gst_video_decoder_get_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                              <em class="parameter"><code><span class="type">int</span> frame_number</code></em>);</pre>
-<p>Get a pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame_number</p></td>
-<td class="parameter_description"><p>system_frame_number of a frame</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-frame.returns"></a><h4>Returns</h4>
-<p> pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> identified by <em class="parameter"><code>frame_number</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-frames"></a><h3>gst_video_decoder_get_frames ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_video_decoder_get_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Get all pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-frames.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-frames.returns"></a><h4>Returns</h4>
-<p> pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstVideoCodecFrame]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1073,116 +486,24 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTimeDiff"><span class="returnvalue">GstClockTimeDiff</span></a>
 gst_video_decoder_get_max_decode_time (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                        <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p>Determines maximum possible decoding time for <em class="parameter"><code>frame</code></em>
- that will
-allow it to decode and arrive in time (as determined by QoS events).
-In particular, a negative result means decoding in time is no longer possible
-and should therefore occur as soon/skippy as possible.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-max-decode-time.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-max-decode-time.returns"></a><h4>Returns</h4>
-<p> max decoding time.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-max-errors"></a><h3>gst_video_decoder_get_max_errors ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_video_decoder_get_max_errors (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-decoder-get-max-errors.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-max-errors.returns"></a><h4>Returns</h4>
-<p> currently configured decoder tolerated error count.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-oldest-frame"></a><h3>gst_video_decoder_get_oldest_frame ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
 gst_video_decoder_get_oldest_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Get the oldest pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-oldest-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-oldest-frame.returns"></a><h4>Returns</h4>
-<p> oldest pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-packetized"></a><h3>gst_video_decoder_get_packetized ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_decoder_get_packetized (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Queries whether input data is considered packetized or not by the
-base class.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-packetized.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-packetized.returns"></a><h4>Returns</h4>
-<p> TRUE if input data is considered packetized.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1190,83 +511,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
 gst_video_decoder_get_pending_frame_size
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Returns the number of bytes previously added to the current frame
-by calling <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-add-to-frame" title="gst_video_decoder_add_to_frame ()"><code class="function">gst_video_decoder_add_to_frame()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-pending-frame-size.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-pending-frame-size.returns"></a><h4>Returns</h4>
-<p> The number of bytes pending for the current frame</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-qos-proportion"></a><h3>gst_video_decoder_get_qos_proportion ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 gst_video_decoder_get_qos_proportion (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-decoder-get-qos-proportion.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a>
-current QoS proportion, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-qos-proportion.returns"></a><h4>Returns</h4>
-<p> The current QoS proportion.</p>
-</div>
-<p class="since">Since: 1.0.3</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-have-frame"></a><h3>gst_video_decoder_have_frame ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_video_decoder_have_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Gathers all data collected for currently parsed frame, gathers corresponding
-metadata and passes it along for further processing, i.e. <em class="parameter"><code>handle_frame</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-have-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-have-frame.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1275,39 +531,6 @@
 gst_video_decoder_get_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
-<p>Query the configured decoder latency. Results will be returned via
-<em class="parameter"><code>min_latency</code></em>
- and <em class="parameter"><code>max_latency</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min_latency</p></td>
-<td class="parameter_description"><p> address of variable in which to store the
-configured minimum latency, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max_latency</p></td>
-<td class="parameter_description"><p> address of variable in which to store the
-configured mximum latency, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1316,88 +539,18 @@
 gst_video_decoder_set_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
-<p>Lets <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> sub-classes tell the baseclass what the decoder
-latency is. Will also post a LATENCY message on the bus so the pipeline
-can reconfigure its global latency.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-set-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min_latency</p></td>
-<td class="parameter_description"><p>minimum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max_latency</p></td>
-<td class="parameter_description"><p>maximum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-estimate-rate"></a><h3>gst_video_decoder_get_estimate_rate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_video_decoder_get_estimate_rate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-decoder-get-estimate-rate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-estimate-rate.returns"></a><h4>Returns</h4>
-<p> currently configured byte to time conversion setting</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-output-state"></a><h3>gst_video_decoder_get_output_state ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> *
 gst_video_decoder_get_output_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>);</pre>
-<p>Get the <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> currently describing the output stream.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-output-state.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-output-state.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> describing format of video data. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1405,29 +558,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_decoder_set_estimate_rate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Allows baseclass to perform byte to time estimated conversion.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-set-estimate-rate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>whether to enable byte to time conversion</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1438,64 +568,6 @@
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> *reference</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> with the specified <em class="parameter"><code>fmt</code></em>
-, <em class="parameter"><code>width</code></em>
- and <em class="parameter"><code>height</code></em>
-
-as the output state for the decoder.
-Any previously set output state on <em class="parameter"><code>decoder</code></em>
- will be replaced by the newly
-created one.</p>
-<p>If the subclass wishes to copy over existing fields (like pixel aspec ratio,
-or framerate) from an existing <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>, it can be provided as a
-<em class="parameter"><code>reference</code></em>
-.</p>
-<p>If the subclass wishes to override some fields from the output state (like
-pixel-aspect-ratio or framerate) it can do so on the returned <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
-<p>The new output state will only take effect (set on pads and buffers) starting
-from the next call to <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-finish-frame" title="gst_video_decoder_finish_frame ()"><code class="function">gst_video_decoder_finish_frame()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-set-output-state.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fmt</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>The 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>The height in pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reference</p></td>
-<td class="parameter_description"><p> An optional reference <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-set-output-state.returns"></a><h4>Returns</h4>
-<p> the newly configured output state. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1503,33 +575,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_decoder_set_max_errors (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
-<p>Sets numbers of tolerated decoder errors, where a tolerated one is then only
-warned about, but more than tolerated will lead to fatal error.  You can set
--1 for never returning fatal errors. Default is set to
-GST_VIDEO_DECODER_MAX_ERRORS.</p>
-<p>The '-1' option was added in 1.4</p>
-<div class="refsect3">
-<a name="gst-video-decoder-set-max-errors.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num</p></td>
-<td class="parameter_description"><p>max tolerated errors</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1537,58 +582,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_decoder_set_packetized (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> packetized</code></em>);</pre>
-<p>Allows baseclass to consider input data as packetized or not. If the
-input is packetized, then the <em class="parameter"><code>parse</code></em>
- method will not be called.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-set-packetized.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packetized</p></td>
-<td class="parameter_description"><p>whether the input data should be considered as packetized.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-decoder-get-needs-format"></a><h3>gst_video_decoder_get_needs_format ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_decoder_get_needs_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>);</pre>
-<p>Queries decoder required format handling.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-get-needs-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-get-needs-format.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if required format handling is enabled.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1596,35 +595,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_decoder_set_needs_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *dec</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Configures decoder format needs.  If enabled, subclass needs to be
-negotiated with format caps before it can process any data.  It will then
-never be handed any data before it has been configured.
-Otherwise, it might be handed data without having been configured and
-is then expected being able to do so either by default
-or based on the input data.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-set-needs-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1633,40 +603,6 @@
 gst_video_decoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Sets the audio decoder tags and how they should be merged with any
-upstream stream tags. This will override any tags previously-set
-with <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-merge-tags" title="gst_audio_decoder_merge_tags ()"><code class="function">gst_audio_decoder_merge_tags()</code></a>.</p>
-<p>Note that this is provided for convenience, and the subclass is
-not required to use this and can still do tag handling on its own.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-merge-tags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> to merge, or NULL to unset
-previously-set tags. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1675,44 +611,6 @@
 gst_video_decoder_proxy_getcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> *decoder</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *filter</code></em>);</pre>
-<p>Returns caps that express <em class="parameter"><code>caps</code></em>
- (or sink template caps if <em class="parameter"><code>caps</code></em>
- == NULL)
-restricted to resolution/format/... combinations supported by downstream
-elements.</p>
-<div class="refsect3">
-<a name="gst-video-decoder-proxy-getcaps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p> initial caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>filter</p></td>
-<td class="parameter_description"><p> filter caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-decoder-proxy-getcaps.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> owned by caller. </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>
 </div>
 <div class="refsect1">
@@ -1721,28 +619,24 @@
 <a name="GST-VIDEO-DECODER-FLOW-NEED-DATA:CAPS"></a><h3>GST_VIDEO_DECODER_FLOW_NEED_DATA</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_FLOW_NEED_DATA GST_FLOW_CUSTOM_SUCCESS
 </pre>
-<p>Returned while parsing to indicate more data is needed.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-MAX-ERRORS:CAPS"></a><h3>GST_VIDEO_DECODER_MAX_ERRORS</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_MAX_ERRORS     10
 </pre>
-<p>Default maximum number of errors tolerated before signaling error.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-SINK-NAME:CAPS"></a><h3>GST_VIDEO_DECODER_SINK_NAME</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_SINK_NAME    "sink"
 </pre>
-<p>The name of the templates for the sink pad.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-DECODER-SRC-NAME:CAPS"></a><h3>GST_VIDEO_DECODER_SRC_NAME</h3>
 <pre class="programlisting">#define GST_VIDEO_DECODER_SRC_NAME     "src"
 </pre>
-<p>The name of the templates for the source pad.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1750,7 +644,6 @@
 <pre class="programlisting">struct GstVideoDecoder {
 };
 </pre>
-<p>The opaque <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#GstVideoDecoder" title="struct GstVideoDecoder"><span class="type">GstVideoDecoder</span></a> data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1810,182 +703,6 @@
                                    GstMeta * meta);
 };
 </pre>
-<p>Subclasses can override any of the available virtual methods or not, as
-needed. At minimum <em class="parameter"><code>handle_frame</code></em>
- needs to be overridden, and <em class="parameter"><code>set_format</code></em>
-
-and likely as well.  If non-packetized input is supported or expected,
-<em class="parameter"><code>parse</code></em>
- needs to be overridden as well.</p>
-<div class="refsect3">
-<a name="GstVideoDecoderClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.open"></a>open</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_READY.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.close"></a>close</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_NULL.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.start"></a>start</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element starts processing.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.stop"></a>stop</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element stops processing.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.parse"></a>parse</code></em> ()</p></td>
-<td class="struct_member_description"><p>Required for non-packetized input.
-Allows chopping incoming data into manageable units (frames)
-for subsequent decoding.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.set-format"></a>set_format</code></em> ()</p></td>
-<td class="struct_member_description"><p>Notifies subclass of incoming data format (caps).</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.reset"></a>reset</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows subclass (decoder) to perform post-seek semantics reset.
-Deprecated.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.finish"></a>finish</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called to request subclass to dispatch any pending remaining
-data at EOS. Sub-classes can refuse to decode new data after.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.handle-frame"></a>handle_frame</code></em> ()</p></td>
-<td class="struct_member_description"><p>Provides input data frame to subclass.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.sink-event"></a>sink_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the sink pad. This function should return
-TRUE if the event was handled and should be discarded
-(i.e. not unref'ed).
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.src-event"></a>src_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the source pad. This function should return
-TRUE if the event was handled and should be discarded
-(i.e. not unref'ed).
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.negotiate"></a>negotiate</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Negotiate with downstream and configure buffer pools, etc.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.decide-allocation"></a>decide_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Setup the allocation parameters for allocating output
-buffers. The passed in query contains the result of the
-downstream allocation query.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.propose-allocation"></a>propose_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Propose buffer allocation parameters for upstream elements.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.flush"></a>flush</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Flush all remaining data from the decoder without
-pushing it downstream. Since: 1.2</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.sink-query"></a>sink_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the sink pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.4</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.src-query"></a>src_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the source pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.4</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.getcaps"></a>getcaps</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows for a custom sink getcaps implementation.
-If not implemented, default returns
-gst_video_decoder_proxy_getcaps
-applied to sink template caps.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.drain"></a>drain</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called to request subclass to decode any data it can at this
-point, but that more data may arrive after. (e.g. at segment end).
-Sub-classes should be prepared to handle new data afterward,
-or seamless segment processing will break. Since: 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoDecoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
-output buffer. By default this method is copies all meta without
-tags and meta with only the "video" tag. subclasses can
-implement this method and return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
-copied. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoDither.html b/docs/libs/html/gst-plugins-base-libs-GstVideoDither.html
index c4fe29c..741d3e7 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoDither.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoDither.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-GstVideoDither.top_of_page"></a>GstVideoDither</span></h2>
-<p>GstVideoDither — Utility object for dithering and quantizing lines of video</p>
+<p>GstVideoDither</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -96,8 +96,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoDither.description"></a><h2>Description</h2>
-<p>GstVideoDither provides implementations of several dithering algorithms
-that can be applied to lines of video pixels to quantize and dither them.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoDither.functions_details"></a><h2>Functions</h2>
@@ -105,23 +103,6 @@
 <a name="gst-video-dither-free"></a><h3>gst_video_dither_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_dither_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDither.html#GstVideoDither" title="GstVideoDither"><span class="type">GstVideoDither</span></a> *dither</code></em>);</pre>
-<p>Free <em class="parameter"><code>dither</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-video-dither-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dither</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDither.html#GstVideoDither" title="GstVideoDither"><span class="type">GstVideoDither</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -132,51 +113,6 @@
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> x</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> y</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>);</pre>
-<p>Dither <em class="parameter"><code>width</code></em>
- pixels starting from offset <em class="parameter"><code>x</code></em>
- in <em class="parameter"><code>line</code></em>
- using <em class="parameter"><code>dither</code></em>
-.</p>
-<p><em class="parameter"><code>y</code></em>
- is the line number of <em class="parameter"><code>line</code></em>
- in the output image.</p>
-<div class="refsect3">
-<a name="gst-video-dither-line.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dither</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDither.html#GstVideoDither" title="GstVideoDither"><span class="type">GstVideoDither</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>line</p></td>
-<td class="parameter_description"><p>pointer to the pixels of the line</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>x coordinate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>y coordinate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -187,58 +123,6 @@
                       <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> quantizer[GST_VIDEO_MAX_COMPONENTS]</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>);</pre>
-<p>Make a new dither object for dithering lines of <em class="parameter"><code>format</code></em>
- using the
-algorithm described by <em class="parameter"><code>method</code></em>
-.</p>
-<p>Each component will be quantized to a multiple of <em class="parameter"><code>quantizer</code></em>
-. Better
-performance is achived when <em class="parameter"><code>quantizer</code></em>
- 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="gst-video-dither-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>method</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDither.html#GstVideoDitherMethod" title="enum GstVideoDitherMethod"><span class="type">GstVideoDitherMethod</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoDither.html#GstVideoDitherFlags" title="enum GstVideoDitherFlags"><span class="type">GstVideoDitherFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>quantizer</p></td>
-<td class="parameter_description"><p>quantizer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the width of the lines</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-dither-new.returns"></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>
 </div>
 <div class="refsect1">
@@ -250,7 +134,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoDitherFlags"></a><h3>enum GstVideoDitherFlags</h3>
-<p>Extra flags that influence the result from <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#gst-video-chroma-resample-new" title="gst_video_chroma_resample_new ()"><code class="function">gst_video_chroma_resample_new()</code></a>.</p>
 <div class="refsect3">
 <a name="GstVideoDitherFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -262,24 +145,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-FLAG-NONE:CAPS"></a>GST_VIDEO_DITHER_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-FLAG-INTERLACED:CAPS"></a>GST_VIDEO_DITHER_FLAG_INTERLACED</p></td>
-<td class="enum_member_description">
-<p>the input is interlaced</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-FLAG-QUANTIZE:CAPS"></a>GST_VIDEO_DITHER_FLAG_QUANTIZE</p></td>
-<td class="enum_member_description">
-<p>quantize values in addition to adding dither.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -288,7 +165,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoDitherMethod"></a><h3>enum GstVideoDitherMethod</h3>
-<p>Different dithering methods to use.</p>
 <div class="refsect3">
 <a name="GstVideoDitherMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -300,38 +176,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-NONE:CAPS"></a>GST_VIDEO_DITHER_NONE</p></td>
-<td class="enum_member_description">
-<p>no dithering</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-VERTERR:CAPS"></a>GST_VIDEO_DITHER_VERTERR</p></td>
-<td class="enum_member_description">
-<p>propagate rounding errors downwards</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-FLOYD-STEINBERG:CAPS"></a>GST_VIDEO_DITHER_FLOYD_STEINBERG</p></td>
-<td class="enum_member_description">
-<p>Dither with floyd-steinberg error diffusion</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-SIERRA-LITE:CAPS"></a>GST_VIDEO_DITHER_SIERRA_LITE</p></td>
-<td class="enum_member_description">
-<p>Dither with Sierra Lite error diffusion</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-DITHER-BAYER:CAPS"></a>GST_VIDEO_DITHER_BAYER</p></td>
-<td class="enum_member_description">
-<p>ordered dither using a bayer pattern</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html b/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
index eb1f085..b8b3e8b 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoEncoder.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-GstVideoEncoder.top_of_page"></a>GstVideoEncoder</span></h2>
-<p>GstVideoEncoder — Base class for video encoders</p>
+<p>GstVideoEncoder</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -241,79 +241,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoEncoder.description"></a><h2>Description</h2>
-<p>This base class is for video encoders turning raw video into
-encoded video data.</p>
-<p>GstVideoEncoder and subclass should cooperate as follows.</p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Configuration</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-    Initially, GstVideoEncoder calls <em class="parameter"><code>start</code></em> when the encoder element
-    is activated, which allows subclass to perform any global setup.
-  </p></li>
-<li class="listitem"><p>
-    GstVideoEncoder calls <em class="parameter"><code>set_format</code></em> to inform subclass of the format
-    of input video data that it is about to receive.  Subclass should
-    setup for encoding and configure base class as appropriate
-    (e.g. latency). While unlikely, it might be called more than once,
-    if changing input parameters require reconfiguration.  Baseclass
-    will ensure that processing of current configuration is finished.
-  </p></li>
-<li class="listitem"><p>
-    GstVideoEncoder calls <em class="parameter"><code>stop</code></em> at end of all processing.
-  </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Data processing</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-      Base class collects input data and metadata into a frame and hands
-      this to subclass' <em class="parameter"><code>handle_frame</code></em>.
-    </p></li>
-<li class="listitem"><p>
-      If codec processing results in encoded data, subclass should call
-      <em class="parameter"><code>gst_video_encoder_finish_frame</code></em> to have encoded data pushed
-      downstream.
-    </p></li>
-<li class="listitem"><p>
-      If implemented, baseclass calls subclass <em class="parameter"><code>pre_push</code></em> just prior to
-      pushing to allow subclasses to modify some metadata on the buffer.
-      If it returns GST_FLOW_OK, the buffer is pushed downstream.
-    </p></li>
-<li class="listitem"><p>
-      GstVideoEncoderClass will handle both srcpad and sinkpad events.
-      Sink events will be passed to subclass if <em class="parameter"><code>event</code></em> callback has been
-      provided.
-    </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Shutdown phase</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-    GstVideoEncoder class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
-    parsing will be stopped.
-  </p></li></ul>
-</div></li>
-</ol></div>
-<p>Subclass is responsible for providing pad template caps for
-source and sink pads. The pads need to be named "sink" and "src". It should
-also be able to provide fixed src pad caps in <em class="parameter"><code>getcaps</code></em>
- by the time it calls
-<em class="parameter"><code>gst_video_encoder_finish_frame</code></em>
-.</p>
-<p>Things that subclass need to take care of:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Provide pad templates</p></li>
-<li class="listitem"><p>
-     Provide source pad caps before pushing the first buffer
-  </p></li>
-<li class="listitem"><p>
-     Accept data in <em class="parameter"><code>handle_frame</code></em> and provide encoded results to
-     <em class="parameter"><code>gst_video_encoder_finish_frame</code></em>.
-  </p></li>
-</ul></div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoEncoder.functions_details"></a><h2>Functions</h2>
@@ -327,132 +254,36 @@
 <a name="GST-VIDEO-ENCODER-SINK-PAD:CAPS"></a><h3>GST_VIDEO_ENCODER_SINK_PAD()</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_SINK_PAD(obj)        (((GstVideoEncoder *) (obj))-&gt;sinkpad)
 </pre>
-<p>Gives the pointer to the sink <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-ENCODER-SINK-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-SRC-PAD:CAPS"></a><h3>GST_VIDEO_ENCODER_SRC_PAD()</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_SRC_PAD(obj)         (((GstVideoEncoder *) (obj))-&gt;srcpad)
 </pre>
-<p>Gives the pointer to the source <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-ENCODER-SRC-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-INPUT-SEGMENT:CAPS"></a><h3>GST_VIDEO_ENCODER_INPUT_SEGMENT()</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_INPUT_SEGMENT(obj)     (GST_VIDEO_ENCODER_CAST (obj)-&gt;input_segment)
 </pre>
-<p>Gives the segment of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-ENCODER-INPUT-SEGMENT.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>base parse instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-OUTPUT-SEGMENT:CAPS"></a><h3>GST_VIDEO_ENCODER_OUTPUT_SEGMENT()</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_OUTPUT_SEGMENT(obj)     (GST_VIDEO_ENCODER_CAST (obj)-&gt;output_segment)
 </pre>
-<p>Gives the segment of the element.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-ENCODER-OUTPUT-SEGMENT.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>base parse instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-STREAM-LOCK:CAPS"></a><h3>GST_VIDEO_ENCODER_STREAM_LOCK()</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_STREAM_LOCK(encoder) g_rec_mutex_lock (&amp;GST_VIDEO_ENCODER (encoder)-&gt;stream_lock)
 </pre>
-<p>Obtain a lock to protect the encoder function from concurrent access.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-ENCODER-STREAM-LOCK.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>video encoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-STREAM-UNLOCK:CAPS"></a><h3>GST_VIDEO_ENCODER_STREAM_UNLOCK()</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_STREAM_UNLOCK(encoder) g_rec_mutex_unlock (&amp;GST_VIDEO_ENCODER (encoder)-&gt;stream_lock)
 </pre>
-<p>Release the lock that protects the encoder function from concurrent access.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-ENCODER-STREAM-UNLOCK.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>video encoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -461,36 +292,6 @@
 gst_video_encoder_allocate_output_buffer
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
-<p>Helper function that allocates a buffer to hold an encoded video frame
-for <em class="parameter"><code>encoder</code></em>
-'s current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-allocate-output-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>size of the buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-allocate-output-buffer.returns"></a><h4>Returns</h4>
-<p> allocated buffer. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -500,43 +301,6 @@
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
-<p>Helper function that allocates a buffer to hold an encoded video frame for <em class="parameter"><code>encoder</code></em>
-'s
-current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.  Subclass should already have configured video
-state and set src pad caps.</p>
-<p>The buffer allocated here is owned by the frame and you should only
-keep references to the frame, not the buffer.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-allocate-output-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>size of the buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-allocate-output-frame.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GST-FLOW-OK:CAPS"><code class="literal">GST_FLOW_OK</code></a> if an output buffer could be allocated</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -545,42 +309,6 @@
 gst_video_encoder_get_allocator (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a> **allocator</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
-<p>Lets <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
-
-used by the base class and its <em class="parameter"><code>params</code></em>
-.</p>
-<p>Unref the <em class="parameter"><code>allocator</code></em>
- after use it.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-get-allocator.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>allocator</p></td>
-<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a>
-used. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>params</p></td>
-<td class="parameter_description"><p> the
-<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -588,70 +316,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_video_encoder_finish_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p><em class="parameter"><code>frame</code></em>
- must have a valid encoded data buffer, whose metadata fields
-are then appropriately set according to frame data or no buffer at
-all if the frame should be dropped.
-It is subsequently pushed downstream or provided to <em class="parameter"><code>pre_push</code></em>
-.
-In any case, the frame is considered finished and released.</p>
-<p>After calling this function the output buffer of the frame is to be
-considered read-only. This function will also change the metadata
-of the buffer.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-finish-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame</p></td>
-<td class="parameter_description"><p> an encoded <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-finish-frame.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> resulting from sending data downstream</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-encoder-negotiate"></a><h3>gst_video_encoder_negotiate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_encoder_negotiate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
-<p>Negotiate with downstream elements to currently configured <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.
-Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
-negotiate fails.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-negotiate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-negotiate.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the negotiation succeeded, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -659,89 +329,18 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
 gst_video_encoder_get_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                              <em class="parameter"><code><span class="type">int</span> frame_number</code></em>);</pre>
-<p>Get a pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
-<div class="refsect3">
-<a name="gst-video-encoder-get-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <span class="type">GstVideoEnccoder</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame_number</p></td>
-<td class="parameter_description"><p>system_frame_number of a frame</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-get-frame.returns"></a><h4>Returns</h4>
-<p> pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> identified by <em class="parameter"><code>frame_number</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-encoder-get-frames"></a><h3>gst_video_encoder_get_frames ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_video_encoder_get_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
-<p>Get all pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
-<div class="refsect3">
-<a name="gst-video-encoder-get-frames.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-get-frames.returns"></a><h4>Returns</h4>
-<p> pending unfinished <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstVideoCodecFrame]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-encoder-get-oldest-frame"></a><h3>gst_video_encoder_get_oldest_frame ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
 gst_video_encoder_get_oldest_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
-<p>Get the oldest unfinished pending <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
-<div class="refsect3">
-<a name="gst-video-encoder-get-oldest-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-get-oldest-frame.returns"></a><h4>Returns</h4>
-<p> oldest unfinished pending <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -749,29 +348,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_encoder_set_headers (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *headers</code></em>);</pre>
-<p>Set the codec headers to be sent downstream whenever requested.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-set-headers.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>headers</p></td>
-<td class="parameter_description"><p> a list of <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> containing the codec header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstBuffer]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -780,39 +356,6 @@
 gst_video_encoder_get_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
-<p>Query the configured encoding latency. Results will be returned via
-<em class="parameter"><code>min_latency</code></em>
- and <em class="parameter"><code>max_latency</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-get-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min_latency</p></td>
-<td class="parameter_description"><p> address of variable in which to store the
-configured minimum latency, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max_latency</p></td>
-<td class="parameter_description"><p> address of variable in which to store the
-configured maximum latency, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -821,34 +364,6 @@
 gst_video_encoder_set_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
-<p>Informs baseclass of encoding latency.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-set-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min_latency</p></td>
-<td class="parameter_description"><p>minimum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max_latency</p></td>
-<td class="parameter_description"><p>maximum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -857,83 +372,12 @@
 gst_video_encoder_set_output_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> *reference</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> with the specified caps as the output state
-for the encoder.
-Any previously set output state on <em class="parameter"><code>encoder</code></em>
- will be replaced by the newly
-created one.</p>
-<p>The specified <em class="parameter"><code>caps</code></em>
- should not contain any resolution, pixel-aspect-ratio,
-framerate, codec-data, .... Those should be specified instead in the returned
-<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
-<p>If the subclass wishes to copy over existing fields (like pixel aspect ratio,
-or framerate) from an existing <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>, it can be provided as a
-<em class="parameter"><code>reference</code></em>
-.</p>
-<p>If the subclass wishes to override some fields from the output state (like
-pixel-aspect-ratio or framerate) it can do so on the returned <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a>.</p>
-<p>The new output state will only take effect (set on pads and buffers) starting
-from the next call to <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-finish-frame" title="gst_video_encoder_finish_frame ()"><code class="function">gst_video_encoder_finish_frame()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-set-output-state.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to use for the output. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reference</p></td>
-<td class="parameter_description"><p> An optional reference <em class="parameter"><code>GstVideoCodecState</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-set-output-state.returns"></a><h4>Returns</h4>
-<p> the newly configured output state. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-encoder-get-output-state"></a><h3>gst_video_encoder_get_output_state ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> *
 gst_video_encoder_get_output_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>);</pre>
-<p>Get the current <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a></p>
-<div class="refsect3">
-<a name="gst-video-encoder-get-output-state.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-get-output-state.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> describing format of video data. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -942,43 +386,6 @@
 gst_video_encoder_proxy_getcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *enc</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *filter</code></em>);</pre>
-<p>Returns caps that express <em class="parameter"><code>caps</code></em>
- (or sink template caps if <em class="parameter"><code>caps</code></em>
- == NULL)
-restricted to resolution/format/... combinations supported by downstream
-elements (e.g. muxers).</p>
-<div class="refsect3">
-<a name="gst-video-encoder-proxy-getcaps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p> initial caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>filter</p></td>
-<td class="parameter_description"><p> filter caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-encoder-proxy-getcaps.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> owned by caller. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -987,40 +394,6 @@
 gst_video_encoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> *encoder</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Sets the video encoder tags and how they should be merged with any
-upstream stream tags. This will override any tags previously-set
-with <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-merge-tags" title="gst_video_encoder_merge_tags ()"><code class="function">gst_video_encoder_merge_tags()</code></a>.</p>
-<p>Note that this is provided for convenience, and the subclass is
-not required to use this and can still do tag handling on its own.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-video-encoder-merge-tags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> to merge, or NULL to unset
-previously-set tags. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -1029,33 +402,25 @@
 <a name="GST-VIDEO-ENCODER-FLOW-DROPPED:CAPS"></a><h3>GST_VIDEO_ENCODER_FLOW_DROPPED</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_FLOW_DROPPED GST_FLOW_CUSTOM_SUCCESS_1
 </pre>
-<div class="warning">
-<p><code class="literal">GST_VIDEO_ENCODER_FLOW_DROPPED</code> is deprecated and should not be used in newly-written code.</p>
-<p>since 1.8. use gst_video_encoder_finish_frame with
-a <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> frame-&gt;output_buffer to drop the frame instead.</p>
-</div>
-<p>Returned when the event/buffer should be dropped.</p>
+<div class="warning"><p><code class="literal">GST_VIDEO_ENCODER_FLOW_DROPPED</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-FLOW-NEED-DATA:CAPS"></a><h3>GST_VIDEO_ENCODER_FLOW_NEED_DATA</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_FLOW_NEED_DATA GST_FLOW_CUSTOM_SUCCESS
 </pre>
-<p>Returned while parsing to indicate more data is needed.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-SINK-NAME:CAPS"></a><h3>GST_VIDEO_ENCODER_SINK_NAME</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_SINK_NAME    "sink"
 </pre>
-<p>The name of the templates for the sink pad.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-ENCODER-SRC-NAME:CAPS"></a><h3>GST_VIDEO_ENCODER_SRC_NAME</h3>
 <pre class="programlisting">#define GST_VIDEO_ENCODER_SRC_NAME     "src"
 </pre>
-<p>The name of the templates for the source pad.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1063,7 +428,6 @@
 <pre class="programlisting">struct GstVideoEncoder {
 };
 </pre>
-<p>The opaque <a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder" title="struct GstVideoEncoder"><span class="type">GstVideoEncoder</span></a> data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1120,176 +484,6 @@
                                    GstMeta * meta);
 };
 </pre>
-<p>Subclasses can override any of the available virtual methods or not, as
-needed. At minimum <em class="parameter"><code>handle_frame</code></em>
- needs to be overridden, and <em class="parameter"><code>set_format</code></em>
-
-and <em class="parameter"><code>get_caps</code></em>
- are likely needed as well.</p>
-<div class="refsect3">
-<a name="GstVideoEncoderClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.open"></a>open</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_READY.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.close"></a>close</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_NULL.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.start"></a>start</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element starts processing.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.stop"></a>stop</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element stops processing.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.set-format"></a>set_format</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Notifies subclass of incoming data format.
-GstVideoCodecState fields have already been
-set according to provided caps.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.handle-frame"></a>handle_frame</code></em> ()</p></td>
-<td class="struct_member_description"><p>Provides input frame to subclass.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.reset"></a>reset</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows subclass (encoder) to perform post-seek semantics reset.
-Deprecated.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.finish"></a>finish</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called to request subclass to dispatch any pending remaining
-data (e.g. at EOS).</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.pre-push"></a>pre_push</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows subclass to push frame downstream in whatever
-shape or form it deems appropriate.  If not provided,
-provided encoded frame data is simply pushed downstream.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.getcaps"></a>getcaps</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows for a custom sink getcaps implementation (e.g.
-for multichannel input specification).  If not implemented,
-default returns gst_video_encoder_proxy_getcaps
-applied to sink template caps.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.sink-event"></a>sink_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the sink pad. This function should return
-TRUE if the event was handled and should be discarded
-(i.e. not unref'ed).
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.src-event"></a>src_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the source pad. This function should return
-TRUE if the event was handled and should be discarded
-(i.e. not unref'ed).
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.negotiate"></a>negotiate</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Negotiate with downstream and configure buffer pools, etc.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.decide-allocation"></a>decide_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Setup the allocation parameters for allocating output
-buffers. The passed in query contains the result of the
-downstream allocation query.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.propose-allocation"></a>propose_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Propose buffer allocation parameters for upstream elements.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.flush"></a>flush</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Flush all remaining data from the encoder without
-pushing it downstream. Since: 1.2</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.sink-query"></a>sink_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the sink pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.4</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.src-query"></a>src_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the source pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.4</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoEncoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
-output buffer. By default this method is copies all meta without
-tags and meta with only the "video" tag. subclasses can
-implement this method and return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
-copied. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoPool.html b/docs/libs/html/gst-plugins-base-libs-GstVideoPool.html
index ee30e51..e286e49 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoPool.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoPool.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-GstVideoPool.top_of_page"></a>GstVideoPool</span></h2>
-<p>GstVideoPool — GstBufferPool for raw video buffers</p>
+<p>GstVideoPool</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -100,10 +100,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoPool.description"></a><h2>Description</h2>
-<p>Special GstBufferPool subclass for raw video buffers.</p>
-<p>Allows configuration of video-specific requirements such as
-stride alignments or pixel padding, and can also be configured
-to automatically add <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> to the buffers.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoPool.functions_details"></a><h2>Functions</h2>
@@ -111,13 +107,6 @@
 <a name="gst-video-buffer-pool-new"></a><h3>gst_video_buffer_pool_new ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="returnvalue">GstBufferPool</span></a> *
 gst_video_buffer_pool_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Create a new bufferpool that can allocate video frames. This bufferpool
-supports all the video bufferpool options.</p>
-<div class="refsect3">
-<a name="gst-video-buffer-pool-new.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="type">GstBufferPool</span></a> to allocate video frames. </p>
-<p><span class="annotation">[<acronym title="Alias for transfer none, used for objects with floating refs."><span class="acronym">transfer floating</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -126,37 +115,6 @@
 gst_buffer_pool_config_get_video_alignment
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);</pre>
-<p>Get the video alignment from the bufferpool configuration <em class="parameter"><code>config</code></em>
- in
-in <em class="parameter"><code>align</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-buffer-pool-config-get-video-alignment.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>config</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>align</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-pool-config-get-video-alignment.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>config</code></em>
-could be parsed correctly.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -165,32 +123,6 @@
 gst_buffer_pool_config_set_video_alignment
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);</pre>
-<p>Set the video alignment in <em class="parameter"><code>align</code></em>
- to the bufferpool configuration
-<em class="parameter"><code>config</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-buffer-pool-config-set-video-alignment.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>config</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>align</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -217,24 +149,14 @@
 <a name="GST-BUFFER-POOL-OPTION-VIDEO-ALIGNMENT:CAPS"></a><h3>GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT</h3>
 <pre class="programlisting">#define GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT "GstBufferPoolOptionVideoAlignment"
 </pre>
-<p>A bufferpool option to enable extra padding. When a bufferpool supports this
-option, <a class="link" href="gst-plugins-base-libs-GstVideoPool.html#gst-buffer-pool-config-set-video-alignment" title="gst_buffer_pool_config_set_video_alignment ()"><code class="function">gst_buffer_pool_config_set_video_alignment()</code></a> can be called.</p>
-<p>When this option is enabled on the bufferpool,
-<a class="link" href="gst-plugins-base-libs-GstVideoPool.html#GST-BUFFER-POOL-OPTION-VIDEO-META:CAPS" title="GST_BUFFER_POOL_OPTION_VIDEO_META"><span class="type">GST_BUFFER_POOL_OPTION_VIDEO_META</span></a> should also be enabled.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-BUFFER-POOL-OPTION-VIDEO-META:CAPS"></a><h3>GST_BUFFER_POOL_OPTION_VIDEO_META</h3>
 <pre class="programlisting">#define GST_BUFFER_POOL_OPTION_VIDEO_META "GstBufferPoolOptionVideoMeta"
 </pre>
-<p>An option that can be activated on bufferpool to request video metadata
-on buffers from the pool.</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-GstVideoPool.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="type">GstBufferPool</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoResampler.html b/docs/libs/html/gst-plugins-base-libs-GstVideoResampler.html
index 16dd037..2006eee 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoResampler.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoResampler.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-GstVideoResampler.top_of_page"></a>GstVideoResampler</span></h2>
-<p>GstVideoResampler — Utility structure for resampler information</p>
+<p>GstVideoResampler</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -112,8 +112,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoResampler.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler" title="struct GstVideoResampler"><span class="type">GstVideoResampler</span></a> is a structure which holds the information
-required to perform various kinds of resampling filtering.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoResampler.functions_details"></a><h2>Functions</h2>
@@ -121,24 +119,6 @@
 <a name="gst-video-resampler-clear"></a><h3>gst_video_resampler_clear ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_resampler_clear (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler" title="struct GstVideoResampler"><span class="type">GstVideoResampler</span></a> *resampler</code></em>);</pre>
-<p>Clear a previously initialized <a class="link" href="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler" title="struct GstVideoResampler"><span class="type">GstVideoResampler</span></a> <em class="parameter"><code>resampler</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-resampler-clear.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>resampler</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResampler" title="struct GstVideoResampler"><span class="type">GstVideoResampler</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">
@@ -170,65 +150,10 @@
   gdouble *taps;
 };
 </pre>
-<p>A structure holding resampler information.</p>
-<div class="refsect3">
-<a name="GstVideoResampler.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoResampler.in-size"></a>in_size</code></em>;</p></td>
-<td class="struct_member_description"><p>the input size</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoResampler.out-size"></a>out_size</code></em>;</p></td>
-<td class="struct_member_description"><p>the output size</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoResampler.max-taps"></a>max_taps</code></em>;</p></td>
-<td class="struct_member_description"><p>the maximum number of taps</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoResampler.n-phases"></a>n_phases</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of phases</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *<em class="structfield"><code><a name="GstVideoResampler.offset"></a>offset</code></em>;</p></td>
-<td class="struct_member_description"><p>array with the source offset for each output element</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *<em class="structfield"><code><a name="GstVideoResampler.phase"></a>phase</code></em>;</p></td>
-<td class="struct_member_description"><p>array with the phase to use for each output element</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *<em class="structfield"><code><a name="GstVideoResampler.n-taps"></a>n_taps</code></em>;</p></td>
-<td class="struct_member_description"><p>array with new number of taps for each phase</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *<em class="structfield"><code><a name="GstVideoResampler.taps"></a>taps</code></em>;</p></td>
-<td class="struct_member_description"><p>the taps for all phases</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoResamplerFlags"></a><h3>enum GstVideoResamplerFlags</h3>
-<p>Different resampler flags.</p>
 <div class="refsect3">
 <a name="GstVideoResamplerFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -237,21 +162,24 @@
 <col class="enum_members_description">
 <col width="200px" class="enum_members_annotations">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-RESAMPLER-FLAG-NONE:CAPS"></a>GST_VIDEO_RESAMPLER_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr></tbody>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-RESAMPLER-FLAG-HALF-TAPS:CAPS"></a>GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoResamplerMethod"></a><h3>enum GstVideoResamplerMethod</h3>
-<p>Different subsampling and upsampling methods</p>
 <div class="refsect3">
 <a name="GstVideoResamplerMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -263,113 +191,68 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-RESAMPLER-METHOD-NEAREST:CAPS"></a>GST_VIDEO_RESAMPLER_METHOD_NEAREST</p></td>
-<td class="enum_member_description">
-<p>Duplicates the samples when
-   upsampling and drops when downsampling</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-RESAMPLER-METHOD-LINEAR:CAPS"></a>GST_VIDEO_RESAMPLER_METHOD_LINEAR</p></td>
-<td class="enum_member_description">
-<p>Uses linear interpolation to reconstruct
-   missing samples and averaging to downsample</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-RESAMPLER-METHOD-CUBIC:CAPS"></a>GST_VIDEO_RESAMPLER_METHOD_CUBIC</p></td>
-<td class="enum_member_description">
-<p>Uses cubic interpolation</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-RESAMPLER-METHOD-SINC:CAPS"></a>GST_VIDEO_RESAMPLER_METHOD_SINC</p></td>
-<td class="enum_member_description">
-<p>Uses sinc interpolation</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-RESAMPLER-METHOD-LANCZOS:CAPS"></a>GST_VIDEO_RESAMPLER_METHOD_LANCZOS</p></td>
-<td class="enum_member_description">
-<p>Uses lanczos interpolation</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-RESAMPLER-OPT-CUBIC-B:CAPS"></a><h3>GST_VIDEO_RESAMPLER_OPT_CUBIC_B</h3>
 <pre class="programlisting">#define GST_VIDEO_RESAMPLER_OPT_CUBIC_B      "GstVideoResampler.cubic-b"
 </pre>
-<p>G_TYPE_DOUBLE, B parameter of the cubic filter. The B
-parameter controls the bluriness. Values between 0.0 and
-2.0 are accepted. 1/3 is the default.</p>
-<p>Below are some values of popular filters:
-                   B       C
-Hermite           0.0     0.0
-Spline            1.0     0.0
-Catmull-Rom       0.0     1/2
-Mitchell          1/3     1/3
-Robidoux          0.3782  0.3109
-Robidoux
- Sharp            0.2620  0.3690
-Robidoux
- Soft             0.6796  0.1602</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-RESAMPLER-OPT-CUBIC-C:CAPS"></a><h3>GST_VIDEO_RESAMPLER_OPT_CUBIC_C</h3>
 <pre class="programlisting">#define GST_VIDEO_RESAMPLER_OPT_CUBIC_C      "GstVideoResampler.cubic-c"
 </pre>
-<p>G_TYPE_DOUBLE, C parameter of the cubic filter. The C
-parameter controls the Keys alpha value. Values between 0.0 and
-2.0 are accepted. 1/3 is the default.</p>
-<p>See <a class="link" href="gst-plugins-base-libs-GstVideoResampler.html#GST-VIDEO-RESAMPLER-OPT-CUBIC-B:CAPS" title="GST_VIDEO_RESAMPLER_OPT_CUBIC_B"><span class="type">GST_VIDEO_RESAMPLER_OPT_CUBIC_B</span></a> for some more common values</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-RESAMPLER-OPT-ENVELOPE:CAPS"></a><h3>GST_VIDEO_RESAMPLER_OPT_ENVELOPE</h3>
 <pre class="programlisting">#define GST_VIDEO_RESAMPLER_OPT_ENVELOPE      "GstVideoResampler.envelope"
 </pre>
-<p>G_TYPE_DOUBLE, specifies the size of filter envelope for
-<em class="parameter"><code>GST_VIDEO_RESAMPLER_METHOD_LANCZOS</code></em>
-. values are clamped between
-1.0 and 5.0. 2.0 is the default.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-RESAMPLER-OPT-MAX-TAPS:CAPS"></a><h3>GST_VIDEO_RESAMPLER_OPT_MAX_TAPS</h3>
 <pre class="programlisting">#define GST_VIDEO_RESAMPLER_OPT_MAX_TAPS     "GstVideoResampler.max-taps"
 </pre>
-<p>G_TYPE_INT, limits the maximum number of taps to use.
-16 is the default.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-RESAMPLER-OPT-SHARPEN:CAPS"></a><h3>GST_VIDEO_RESAMPLER_OPT_SHARPEN</h3>
 <pre class="programlisting">#define GST_VIDEO_RESAMPLER_OPT_SHARPEN      "GstVideoResampler.sharpen"
 </pre>
-<p>G_TYPE_DOUBLE, specifies sharpening of the filter for
-<em class="parameter"><code>GST_VIDEO_RESAMPLER_METHOD_LANCZOS</code></em>
-. values are clamped between
-0.0 and 1.0. 0.0 is the default.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-RESAMPLER-OPT-SHARPNESS:CAPS"></a><h3>GST_VIDEO_RESAMPLER_OPT_SHARPNESS</h3>
 <pre class="programlisting">#define GST_VIDEO_RESAMPLER_OPT_SHARPNESS     "GstVideoResampler.sharpness"
 </pre>
-<p>G_TYPE_DOUBLE, specifies sharpness of the filter for
-<em class="parameter"><code>GST_VIDEO_RESAMPLER_METHOD_LANCZOS</code></em>
-. values are clamped between
-0.5 and 1.5. 1.0 is the default.</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.html b/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.html
index 8c69cea..9760faf 100644
--- a/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.html
+++ b/docs/libs/html/gst-plugins-base-libs-GstVideoScaler.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-GstVideoScaler.top_of_page"></a>GstVideoScaler</span></h2>
-<p>GstVideoScaler — Utility object for rescaling video frames</p>
+<p>GstVideoScaler</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -123,8 +123,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoScaler.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a> is a utility object for rescaling and resampling
-video frames using various interpolation / sampling methods.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-GstVideoScaler.functions_details"></a><h2>Functions</h2>
@@ -142,91 +140,6 @@
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> y</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>);</pre>
-<p>Scale a rectangle of pixels in <em class="parameter"><code>src</code></em>
- with <em class="parameter"><code>src_stride</code></em>
- to <em class="parameter"><code>dest</code></em>
- with
-<em class="parameter"><code>dest_stride</code></em>
- using the horizontal scaler <em class="parameter"><code>hscaler</code></em>
- and the vertical
-scaler <em class="parameter"><code>vscale</code></em>
-.</p>
-<p>One or both of <em class="parameter"><code>hscale</code></em>
- and <em class="parameter"><code>vscale</code></em>
- can be NULL to only perform scaling in
-one dimension or do a copy without scaling.</p>
-<p><em class="parameter"><code>x</code></em>
- and <em class="parameter"><code>y</code></em>
- are the coordinates in the destination image to process.</p>
-<div class="refsect3">
-<a name="gst-video-scaler-2d.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>hscale</p></td>
-<td class="parameter_description"><p>a horzontal <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vscale</p></td>
-<td class="parameter_description"><p>a vertical <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> for <em class="parameter"><code>srcs</code></em>
-and <em class="parameter"><code>dest</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>source pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_stride</p></td>
-<td class="parameter_description"><p>source pixels stride</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p>destination pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_stride</p></td>
-<td class="parameter_description"><p>destination pixels stride</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>the horizontal destination offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>the vertical destination offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the number of output pixels to scale</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>the number of output lines to scale</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -236,70 +149,12 @@
                                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a> *uv_scale</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> in_format</code></em>,
                                      <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="gst-video-scaler-combine-packed-YUV.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>y_scale</p></td>
-<td class="parameter_description"><p>a scaler for the Y component</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uv_scale</p></td>
-<td class="parameter_description"><p>a scaler for the U and V components</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_format</p></td>
-<td class="parameter_description"><p>the input video format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_format</p></td>
-<td class="parameter_description"><p>the output video format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-scaler-combine-packed-YUV.returns"></a><h4>Returns</h4>
-<p> a new horizontal videoscaler for <em class="parameter"><code>format</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-scaler-free"></a><h3>gst_video_scaler_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_scaler_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a> *scale</code></em>);</pre>
-<p>Free a previously allocated <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a> <em class="parameter"><code>scale</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-scaler-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>scale</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -309,51 +164,6 @@
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> out_offset</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *in_offset</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_taps</code></em>);</pre>
-<p>For a given pixel at <em class="parameter"><code>out_offset</code></em>
-, get the first required input pixel at
-<em class="parameter"><code>in_offset</code></em>
- and the <em class="parameter"><code>n_taps</code></em>
- filter coefficients.</p>
-<p>Note that for interlaced content, <em class="parameter"><code>in_offset</code></em>
- needs to be incremented with
-2 to get the next input line.</p>
-<div class="refsect3">
-<a name="gst-video-scaler-get-coeff.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>scale</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_offset</p></td>
-<td class="parameter_description"><p>an output offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_offset</p></td>
-<td class="parameter_description"><p>result input offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_taps</p></td>
-<td class="parameter_description"><p>result n_taps</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-scaler-get-coeff.returns"></a><h4>Returns</h4>
-<p> an array of <em class="parameter"><code>n_tap</code></em>
-gdouble values with filter coefficients.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -365,56 +175,6 @@
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dest</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> dest_offset</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>);</pre>
-<p>Horizontally scale the pixels in <em class="parameter"><code>src</code></em>
- to <em class="parameter"><code>dest</code></em>
-, starting from <em class="parameter"><code>dest_offset</code></em>
-
-for <em class="parameter"><code>width</code></em>
- samples.</p>
-<div class="refsect3">
-<a name="gst-video-scaler-horizontal.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>scale</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> for <em class="parameter"><code>src</code></em>
-and <em class="parameter"><code>dest</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>source pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p>destination pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_offset</p></td>
-<td class="parameter_description"><p>the horizontal destination offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the number of pixels to scale</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -426,65 +186,6 @@
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> in_size</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> out_size</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *options</code></em>);</pre>
-<p>Make a new <em class="parameter"><code>method</code></em>
- video scaler. <em class="parameter"><code>in_size</code></em>
- source lines/pixels will
-be scaled to <em class="parameter"><code>out_size</code></em>
- destination lines/pixels.</p>
-<p><em class="parameter"><code>n_taps</code></em>
- specifies the amount of pixels to use from the source for one output
-pixel. If n_taps is 0, this function chooses a good value automatically based
-on the <em class="parameter"><code>method</code></em>
- 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="gst-video-scaler-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>method</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoResampler.html#GstVideoResamplerMethod" title="enum GstVideoResamplerMethod"><span class="type">GstVideoResamplerMethod</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScalerFlags" title="enum GstVideoScalerFlags"><span class="type">GstVideoScalerFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_taps</p></td>
-<td class="parameter_description"><p>number of taps to use</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_size</p></td>
-<td class="parameter_description"><p>number of source elements</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_size</p></td>
-<td class="parameter_description"><p>number of destination elements</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>options</p></td>
-<td class="parameter_description"><p> extra options. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-scaler-new.returns"></a><h4>Returns</h4>
-<p> a <span class="type">GstVideoResample</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -496,61 +197,6 @@
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dest</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> dest_offset</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>);</pre>
-<p>Vertically combine <em class="parameter"><code>width</code></em>
- pixels in the lines in <em class="parameter"><code>src_lines</code></em>
- to <em class="parameter"><code>dest</code></em>
-.
-<em class="parameter"><code>dest</code></em>
- is the location of the target line at <em class="parameter"><code>dest_offset</code></em>
- and
-<em class="parameter"><code>srcs</code></em>
- are the input lines for <em class="parameter"><code>dest_offset</code></em>
-, as obtained with
-<code class="function">gst_video_scaler_get_info()</code>.</p>
-<div class="refsect3">
-<a name="gst-video-scaler-vertical.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>scale</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoScaler.html#GstVideoScaler" title="GstVideoScaler"><span class="type">GstVideoScaler</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> for <em class="parameter"><code>srcs</code></em>
-and <em class="parameter"><code>dest</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_lines</p></td>
-<td class="parameter_description"><p>source pixels lines</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p>destination pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_offset</p></td>
-<td class="parameter_description"><p>the vertical destination offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the number of pixels to scale</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -562,7 +208,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoScalerFlags"></a><h3>enum GstVideoScalerFlags</h3>
-<p>Different scale flags.</p>
 <div class="refsect3">
 <a name="GstVideoScalerFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -574,17 +219,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-SCALER-FLAG-NONE:CAPS"></a>GST_VIDEO_SCALER_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-SCALER-FLAG-INTERLACED:CAPS"></a>GST_VIDEO_SCALER_FLAG_INTERLACED</p></td>
-<td class="enum_member_description">
-<p>Set up a scaler for interlaced content</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-appsink.html b/docs/libs/html/gst-plugins-base-libs-appsink.html
index 1fdc197..bf1bb11 100644
--- a/docs/libs/html/gst-plugins-base-libs-appsink.html
+++ b/docs/libs/html/gst-plugins-base-libs-appsink.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-appsink.top_of_page"></a>appsink</span></h2>
-<p>appsink — Easy way for applications to extract samples from a
-    pipeline</p>
+<p>appsink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -159,33 +158,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-appsink.description"></a><h2>Description</h2>
-<p>Appsink is a sink plugin that supports many different methods for making
-the application get a handle on the GStreamer data in a pipeline. Unlike
-most GStreamer elements, Appsink provides external API functions.</p>
-<p>appsink can be used by linking to the gstappsink.h header file to access the
-methods or by using the appsink action signals and properties.</p>
-<p>The normal way of retrieving samples from appsink is by using the
-<a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-pull-sample" title="gst_app_sink_pull_sample ()"><code class="function">gst_app_sink_pull_sample()</code></a> and <a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-pull-preroll" title="gst_app_sink_pull_preroll ()"><code class="function">gst_app_sink_pull_preroll()</code></a> methods.
-These methods block until a sample becomes available in the sink or when the
-sink is shut down or reaches EOS.</p>
-<p>Appsink will internally use a queue to collect buffers from the streaming
-thread. If the application is not pulling samples fast enough, this queue
-will consume a lot of memory over time. The "max-buffers" property can be
-used to limit the queue size. The "drop" property controls whether the
-streaming thread blocks or if older buffers are dropped when the maximum
-queue size is reached. Note that blocking the streaming thread can negatively
-affect real-time performance and should be avoided.</p>
-<p>If a blocking behaviour is not desirable, setting the "emit-signals" property
-to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> will make appsink emit the "new-sample" and "new-preroll" signals
-when a sample can be pulled without blocking.</p>
-<p>The "caps" property on appsink can be used to control the formats that
-appsink can receive. This property can contain non-fixed caps, the format of
-the pulled samples can be obtained by getting the sample caps.</p>
-<p>If one of the pull-preroll or pull-sample methods return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the appsink
-is stopped or in the EOS state. You can check for the EOS state with the
-"eos" property or with the <a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-is-eos" title="gst_app_sink_is_eos ()"><code class="function">gst_app_sink_is_eos()</code></a> method.</p>
-<p>The eos signal can also be used to be informed when the EOS state is reached
-to avoid polling.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-appsink.functions_details"></a><h2>Functions</h2>
@@ -194,91 +166,18 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_sink_set_caps (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>,
                        <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Set the capabilities on the appsink element.  This function takes
-a copy of the caps structure. After calling this method, the sink will only
-accept caps that match <em class="parameter"><code>caps</code></em>
-. If <em class="parameter"><code>caps</code></em>
- is non-fixed, or incomplete,
-you must check the caps on the samples to get the actual used caps.</p>
-<div class="refsect3">
-<a name="gst-app-sink-set-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>caps to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-sink-get-caps"></a><h3>gst_app_sink_get_caps ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_app_sink_get_caps (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>);</pre>
-<p>Get the configured caps on <em class="parameter"><code>appsink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-app-sink-get-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-sink-get-caps.returns"></a><h4>Returns</h4>
-<p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> accepted by the sink. <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-sink-is-eos"></a><h3>gst_app_sink_is_eos ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_app_sink_is_eos (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>);</pre>
-<p>Check if <em class="parameter"><code>appsink</code></em>
- is EOS, which is when no more samples can be pulled because
-an EOS event was received.</p>
-<p>This function also returns <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the appsink is not in the PAUSED or
-PLAYING state.</p>
-<div class="refsect3">
-<a name="gst-app-sink-is-eos.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-sink-is-eos.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if no more samples can be pulled and the appsink is EOS.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -286,59 +185,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_sink_set_emit_signals (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> emit</code></em>);</pre>
-<p>Make appsink emit the "new-preroll" and "new-sample" signals. This option is
-by default disabled because signal emission is expensive and unneeded when
-the application prefers to operate in pull mode.</p>
-<div class="refsect3">
-<a name="gst-app-sink-set-emit-signals.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>emit</p></td>
-<td class="parameter_description"><p>the new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-sink-get-emit-signals"></a><h3>gst_app_sink_get_emit_signals ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_app_sink_get_emit_signals (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>);</pre>
-<p>Check if appsink will emit the "new-preroll" and "new-sample" signals.</p>
-<div class="refsect3">
-<a name="gst-app-sink-get-emit-signals.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-sink-get-emit-signals.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>appsink</code></em>
-is emiting the "new-preroll" and "new-sample"
-signals.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -346,60 +198,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_sink_set_max_buffers (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> max</code></em>);</pre>
-<p>Set the maximum amount of buffers that can be queued in <em class="parameter"><code>appsink</code></em>
-. After this
-amount of buffers are queued in appsink, any more buffers will block upstream
-elements until a sample is pulled from <em class="parameter"><code>appsink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-app-sink-set-max-buffers.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p>the maximum number of buffers to queue</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-sink-get-max-buffers"></a><h3>gst_app_sink_get_max_buffers ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_app_sink_get_max_buffers (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>);</pre>
-<p>Get the maximum amount of buffers that can be queued in <em class="parameter"><code>appsink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-app-sink-get-max-buffers.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-sink-get-max-buffers.returns"></a><h4>Returns</h4>
-<p> The maximum amount of buffers that can be queued.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -407,137 +211,24 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_sink_set_drop (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> drop</code></em>);</pre>
-<p>Instruct <em class="parameter"><code>appsink</code></em>
- to drop old buffers when the maximum amount of queued
-buffers is reached.</p>
-<div class="refsect3">
-<a name="gst-app-sink-set-drop.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>drop</p></td>
-<td class="parameter_description"><p>the new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-sink-get-drop"></a><h3>gst_app_sink_get_drop ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_app_sink_get_drop (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>);</pre>
-<p>Check if <em class="parameter"><code>appsink</code></em>
- will drop old buffers when the maximum amount of queued
-buffers is reached.</p>
-<div class="refsect3">
-<a name="gst-app-sink-get-drop.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-sink-get-drop.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>appsink</code></em>
-is dropping old buffers when the queue is
-filled.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-sink-pull-preroll"></a><h3>gst_app_sink_pull_preroll ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="returnvalue">GstSample</span></a> *
 gst_app_sink_pull_preroll (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>);</pre>
-<p>Get the last preroll sample in <em class="parameter"><code>appsink</code></em>
-. This was the sample that caused the
-appsink to preroll in the PAUSED state. This sample can be pulled many times
-and remains available to the application even after EOS.</p>
-<p>This function is typically used when dealing with a pipeline in the PAUSED
-state. Calling this function after doing a seek will give the sample right
-after the seek position.</p>
-<p>Note that the preroll sample will also be returned as the first sample
-when calling <a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-pull-sample" title="gst_app_sink_pull_sample ()"><code class="function">gst_app_sink_pull_sample()</code></a>.</p>
-<p>If an EOS event was received before any buffers, this function returns
-<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Use <a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-is-eos" title="gst_app_sink_is_eos ()"><code class="function">gst_app_sink_is_eos()</code></a> to check for the EOS condition.</p>
-<p>This function blocks until a preroll sample or EOS is received or the appsink
-element is set to the READY/NULL state.</p>
-<div class="refsect3">
-<a name="gst-app-sink-pull-preroll.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-sink-pull-preroll.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a> or NULL when the appsink is stopped or EOS.
-Call <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#gst-sample-unref"><code class="function">gst_sample_unref()</code></a> after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-sink-pull-sample"></a><h3>gst_app_sink_pull_sample ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="returnvalue">GstSample</span></a> *
 gst_app_sink_pull_sample (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a> *appsink</code></em>);</pre>
-<p>This function blocks until a sample or EOS becomes available or the appsink
-element is set to the READY/NULL state.</p>
-<p>This function will only return samples when the appsink is in the PLAYING
-state. All rendered buffers will be put in a queue so that the application
-can pull samples at its own rate. Note that when the application does not
-pull samples fast enough, the queued buffers could consume a lot of memory,
-especially when dealing with raw video frames.</p>
-<p>If an EOS event was received before any buffers, this function returns
-<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Use <a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-is-eos" title="gst_app_sink_is_eos ()"><code class="function">gst_app_sink_is_eos()</code></a> to check for the EOS condition.</p>
-<div class="refsect3">
-<a name="gst-app-sink-pull-sample.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-sink-pull-sample.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a> or NULL when the appsink is stopped or EOS.
-Call <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#gst-sample-unref"><code class="function">gst_sample_unref()</code></a> after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -547,44 +238,6 @@
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-appsink.html#GstAppSinkCallbacks" title="GstAppSinkCallbacks"><span class="type">GstAppSinkCallbacks</span></a> *callbacks</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
-<p>Set callbacks which will be executed for each new preroll, new sample and eos.
-This is an alternative to using the signals, it has lower overhead and is thus
-less expensive, but also less flexible.</p>
-<p>If callbacks are installed, no signals will be emitted for performance
-reasons.</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="gst-app-sink-set-callbacks.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsink</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsink.html#GstAppSink-struct"><span class="type">GstAppSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>callbacks</p></td>
-<td class="parameter_description"><p>the callbacks</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>a user_data argument for the callbacks</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>notify</p></td>
-<td class="parameter_description"><p>a destroy notify function</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -597,51 +250,9 @@
   GstFlowReturn (*new_sample)       (GstAppSink *appsink, gpointer user_data);
 } GstAppSinkCallbacks;
 </pre>
-<p>A set of callbacks that can be installed on the appsink with
-<a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-set-callbacks" title="gst_app_sink_set_callbacks ()"><code class="function">gst_app_sink_set_callbacks()</code></a>.</p>
-<div class="refsect3">
-<a name="GstAppSinkCallbacks.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAppSinkCallbacks.eos"></a>eos</code></em> ()</p></td>
-<td class="struct_member_description"><p>Called when the end-of-stream has been reached. This callback
-is called from the streaming thread.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAppSinkCallbacks.new-preroll"></a>new_preroll</code></em> ()</p></td>
-<td class="struct_member_description"><p>Called when a new preroll sample is available.
-This callback is called from the streaming thread.
-The new preroll sample can be retrieved with
-<a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-pull-preroll" title="gst_app_sink_pull_preroll ()"><code class="function">gst_app_sink_pull_preroll()</code></a> either from this callback
-or from any other thread.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAppSinkCallbacks.new-sample"></a>new_sample</code></em> ()</p></td>
-<td class="struct_member_description"><p>Called when a new sample is available.
-This callback is called from the streaming thread.
-The new sample can be retrieved with
-<a class="link" href="gst-plugins-base-libs-appsink.html#gst-app-sink-pull-sample" title="gst_app_sink_pull_sample ()"><code class="function">gst_app_sink_pull_sample()</code></a> either from this callback
-or from any other thread.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-appsink.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a>, <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSink.html#GstBaseSink-struct"><span class="type">GstBaseSink</span></a>, appsrc</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-appsrc.html b/docs/libs/html/gst-plugins-base-libs-appsrc.html
index 705b231..834f5dd 100644
--- a/docs/libs/html/gst-plugins-base-libs-appsrc.html
+++ b/docs/libs/html/gst-plugins-base-libs-appsrc.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-appsrc.top_of_page"></a>appsrc</span></h2>
-<p>appsrc — Easy way for applications to inject buffers into a
-    pipeline</p>
+<p>appsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -93,6 +92,22 @@
 <span class="returnvalue">void</span>
 </td>
 <td class="function_name">
+<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-duration" title="gst_app_src_set_duration ()">gst_app_src_set_duration</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-get-duration" title="gst_app_src_get_duration ()">gst_app_src_get_duration</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-appsrc.html#gst-app-src-set-stream-type" title="gst_app_src_set_stream_type ()">gst_app_src_set_stream_type</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
@@ -205,59 +220,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-appsrc.description"></a><h2>Description</h2>
-<p>The appsrc element can be used by applications to insert data into a
-GStreamer pipeline. Unlike most GStreamer elements, appsrc provides
-external API functions.</p>
-<p>appsrc can be used by linking with the libgstapp library to access the
-methods directly or by using the appsrc action signals.</p>
-<p>Before operating appsrc, the caps property must be set to fixed caps
-describing the format of the data that will be pushed with appsrc. An
-exception to this is when pushing buffers with unknown caps, in which case no
-caps should be set. This is typically true of file-like sources that push raw
-byte buffers. If you don't want to explicitly set the caps, you can use
-gst_app_src_push_sample. This method gets the caps associated with the
-sample and sets them on the appsrc replacing any previously set caps (if
-different from sample's caps).</p>
-<p>The main way of handing data to the appsrc element is by calling the
-<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-push-buffer" title="gst_app_src_push_buffer ()"><code class="function">gst_app_src_push_buffer()</code></a> method or by emitting the push-buffer action signal.
-This will put the buffer onto a queue from which appsrc will read from in its
-streaming thread. It is important to note that data transport will not happen
-from the thread that performed the push-buffer call.</p>
-<p>The "max-bytes" property controls how much data can be queued in appsrc
-before appsrc considers the queue full. A filled internal queue will always
-signal the "enough-data" signal, which signals the application that it should
-stop pushing data into appsrc. The "block" property will cause appsrc to
-block the push-buffer method until free data becomes available again.</p>
-<p>When the internal queue is running out of data, the "need-data" signal is
-emitted, which signals the application that it should start pushing more data
-into appsrc.</p>
-<p>In addition to the "need-data" and "enough-data" signals, appsrc can emit the
-"seek-data" signal when the "stream-mode" property is set to "seekable" or
-"random-access". The signal argument will contain the new desired position in
-the stream expressed in the unit set with the "format" property. After
-receiving the seek-data signal, the application should push-buffers from the
-new position.</p>
-<p>These signals allow the application to operate the appsrc in two different
-ways:</p>
-<p>The push mode, in which the application repeatedly calls the push-buffer/push-sample
-method with a new buffer/sample. Optionally, the queue size in the appsrc 
-can be controlled with the enough-data and need-data signals by respectively 
-stopping/starting the push-buffer/push-sample calls. This is a typical 
-mode of operation for the stream-type "stream" and "seekable". Use this 
-mode when implementing various network protocols or hardware devices.</p>
-<p>The pull mode, in which the need-data signal triggers the next push-buffer call.
-This mode is typically used in the "random-access" stream-type. Use this
-mode for file access or other randomly accessable sources. In this mode, a
-buffer of exactly the amount of bytes given by the need-data signal should be
-pushed into appsrc.</p>
-<p>In all modes, the size property on appsrc should contain the total stream
-size in bytes. Setting this property is mandatory in the random-access mode.
-For the stream and seekable modes, setting this property is optional but
-recommended.</p>
-<p>When the application has finished pushing data into appsrc, it should call
-<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-end-of-stream" title="gst_app_src_end_of_stream ()"><code class="function">gst_app_src_end_of_stream()</code></a> or emit the end-of-stream action signal. After
-this call, no more buffers can be pushed into appsrc until a flushing seek
-occurs or the state of the appsrc has gone through READY.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-appsrc.functions_details"></a><h2>Functions</h2>
@@ -266,61 +228,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_src_set_caps (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Set the capabilities on the appsrc element.  This function takes
-a copy of the caps structure. After calling this method, the source will
-only produce caps that match <em class="parameter"><code>caps</code></em>
-. <em class="parameter"><code>caps</code></em>
- must be fixed and the caps on the
-buffers must match the caps or left NULL.</p>
-<div class="refsect3">
-<a name="gst-app-src-set-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>caps to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-src-get-caps"></a><h3>gst_app_src_get_caps ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_app_src_get_caps (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
-<p>Get the configured caps on <em class="parameter"><code>appsrc</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-app-src-get-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-get-caps.returns"></a><h4>Returns</h4>
-<p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> produced by the source. <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -329,36 +242,6 @@
 gst_app_src_get_latency (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> *min</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> *max</code></em>);</pre>
-<p>Retrieve the min and max latencies in <em class="parameter"><code>min</code></em>
- and <em class="parameter"><code>max</code></em>
- respectively.</p>
-<div class="refsect3">
-<a name="gst-app-src-get-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min</p></td>
-<td class="parameter_description"><p>the min latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p>the min latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -367,39 +250,6 @@
 gst_app_src_set_latency (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> min</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> max</code></em>);</pre>
-<p>Configure the <em class="parameter"><code>min</code></em>
- and <em class="parameter"><code>max</code></em>
- latency in <em class="parameter"><code>src</code></em>
-. If <em class="parameter"><code>min</code></em>
- is set to -1, the
-default latency calculations for pseudo-live sources will be used.</p>
-<div class="refsect3">
-<a name="gst-app-src-set-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min</p></td>
-<td class="parameter_description"><p>the min latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p>the min latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -407,57 +257,25 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_src_set_size (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> size</code></em>);</pre>
-<p>Set the size of the stream in bytes. A value of -1 means that the size is
-not known.</p>
-<div class="refsect3">
-<a name="gst-app-src-set-size.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-src-get-size"></a><h3>gst_app_src_get_size ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>
 gst_app_src_get_size (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
-<p>Get the size of the stream in bytes. A value of -1 means that the size is
-not known.</p>
-<div class="refsect3">
-<a name="gst-app-src-get-size.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
 </div>
-<div class="refsect3">
-<a name="gst-app-src-get-size.returns"></a><h4>Returns</h4>
-<p> the size of the stream previously set with <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-size" title="gst_app_src_set_size ()"><code class="function">gst_app_src_set_size()</code></a>;</p>
+<hr>
+<div class="refsect2">
+<a name="gst-app-src-set-duration"></a><h3>gst_app_src_set_duration ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_app_src_set_duration (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
+                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> duration</code></em>);</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="gst-app-src-get-duration"></a><h3>gst_app_src_get_duration ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
+gst_app_src_get_duration (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -465,60 +283,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_src_set_stream_type (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-appsrc.html#GstAppStreamType" title="enum GstAppStreamType"><span class="type">GstAppStreamType</span></a> type</code></em>);</pre>
-<p>Set the stream type on <em class="parameter"><code>appsrc</code></em>
-. For seekable streams, the "seek" signal must
-be connected to.</p>
-<p>A stream_type stream</p>
-<div class="refsect3">
-<a name="gst-app-src-set-stream-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-src-get-stream-type"></a><h3>gst_app_src_get_stream_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-appsrc.html#GstAppStreamType" title="enum GstAppStreamType"><span class="returnvalue">GstAppStreamType</span></a>
 gst_app_src_get_stream_type (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
-<p>Get the stream type. Control the stream type of <em class="parameter"><code>appsrc</code></em>
-
-with <a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-stream-type" title="gst_app_src_set_stream_type ()"><code class="function">gst_app_src_set_stream_type()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-app-src-get-stream-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-get-stream-type.returns"></a><h4>Returns</h4>
-<p> the stream type.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -526,116 +296,24 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_src_set_max_bytes (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> max</code></em>);</pre>
-<p>Set the maximum amount of bytes that can be queued in <em class="parameter"><code>appsrc</code></em>
-.
-After the maximum amount of bytes are queued, <em class="parameter"><code>appsrc</code></em>
- will emit the
-"enough-data" signal.</p>
-<div class="refsect3">
-<a name="gst-app-src-set-max-bytes.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p>the maximum number of bytes to queue</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-src-get-max-bytes"></a><h3>gst_app_src_get_max_bytes ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 gst_app_src_get_max_bytes (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
-<p>Get the maximum amount of bytes that can be queued in <em class="parameter"><code>appsrc</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-app-src-get-max-bytes.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-get-max-bytes.returns"></a><h4>Returns</h4>
-<p> The maximum amount of bytes that can be queued.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-src-get-current-level-bytes"></a><h3>gst_app_src_get_current_level_bytes ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 gst_app_src_get_current_level_bytes (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
-<p>Get the number of currently queued bytes inside <em class="parameter"><code>appsrc</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-app-src-get-current-level-bytes.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-get-current-level-bytes.returns"></a><h4>Returns</h4>
-<p> The number of currently queued bytes.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-app-src-get-emit-signals"></a><h3>gst_app_src_get_emit_signals ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_app_src_get_emit_signals (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
-<p>Check if appsrc will emit the "new-preroll" and "new-buffer" signals.</p>
-<div class="refsect3">
-<a name="gst-app-src-get-emit-signals.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-get-emit-signals.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>appsrc</code></em>
-is emitting the "new-preroll" and "new-buffer"
-signals.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -643,31 +321,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_app_src_set_emit_signals (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> emit</code></em>);</pre>
-<p>Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is
-by default disabled because signal emission is expensive and unneeded when
-the application prefers to operate in pull mode.</p>
-<div class="refsect3">
-<a name="gst-app-src-set-emit-signals.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>emit</p></td>
-<td class="parameter_description"><p>the new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -677,45 +330,6 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-appsrc.html#GstAppSrcCallbacks" title="GstAppSrcCallbacks"><span class="type">GstAppSrcCallbacks</span></a> *callbacks</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
-<p>Set callbacks which will be executed when data is needed, enough data has
-been collected or when a seek should be performed.
-This is an alternative to using the signals, it has lower overhead and is thus
-less expensive, but also less flexible.</p>
-<p>If callbacks are installed, no signals will be emitted for performance
-reasons.</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="gst-app-src-set-callbacks.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>callbacks</p></td>
-<td class="parameter_description"><p>the callbacks</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>a user_data argument for the callbacks</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>notify</p></td>
-<td class="parameter_description"><p>a destroy notify function</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -723,39 +337,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_app_src_push_buffer (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Adds a buffer to the queue of buffers that the appsrc element will
-push to its source pad.  This function takes ownership of the buffer.</p>
-<p>When the block property is TRUE, this function can block until free
-space becomes available in the queue.</p>
-<div class="refsect3">
-<a name="gst-app-src-push-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> to push. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-push-buffer.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> when the buffer was successfuly queued.
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.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.
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GST-FLOW-EOS:CAPS"><span class="type">GST_FLOW_EOS</span></a> when EOS occured.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -763,79 +344,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_app_src_push_sample (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a> *sample</code></em>);</pre>
-<p>Extract a buffer from the provided sample and adds it to the queue of 
-buffers that the appsrc element will push to its source pad. Any 
-previous caps that were set on appsrc will be replaced by the caps
-associated with the sample if not equal.</p>
-<p>When the block property is TRUE, this function can block until free
-space becomes available in the queue.</p>
-<div class="refsect3">
-<a name="gst-app-src-push-sample.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sample</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a> from which buffer and caps may be
-extracted. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-push-sample.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> when the buffer was successfuly queued.
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.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.
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.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>
 <hr>
 <div class="refsect2">
 <a name="gst-app-src-end-of-stream"></a><h3>gst_app_src_end_of_stream ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_app_src_end_of_stream (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a> *appsrc</code></em>);</pre>
-<p>Indicates to the appsrc element that the last buffer queued in the
-element is the last buffer of the stream.</p>
-<div class="refsect3">
-<a name="gst-app-src-end-of-stream.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>appsrc</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"><span class="type">GstAppSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-app-src-end-of-stream.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GST-FLOW-OK:CAPS"><span class="type">GST_FLOW_OK</span></a> when the EOS was successfuly queued.
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.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>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-appsrc.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstAppStreamType"></a><h3>enum GstAppStreamType</h3>
-<p>The stream type.</p>
 <div class="refsect3">
 <a name="GstAppStreamType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -847,27 +367,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-APP-STREAM-TYPE-STREAM:CAPS"></a>GST_APP_STREAM_TYPE_STREAM</p></td>
-<td class="enum_member_description">
-<p>No seeking is supported in the stream, such as a
-live stream.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-APP-STREAM-TYPE-SEEKABLE:CAPS"></a>GST_APP_STREAM_TYPE_SEEKABLE</p></td>
-<td class="enum_member_description">
-<p>The stream is seekable but seeking might not
-be very fast, such as data from a webserver.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-APP-STREAM-TYPE-RANDOM-ACCESS:CAPS"></a>GST_APP_STREAM_TYPE_RANDOM_ACCESS</p></td>
-<td class="enum_member_description">
-<p>The stream is seekable and seeking is fast,
-such as in a local file.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -882,51 +393,9 @@
   gboolean  (*seek_data)    (GstAppSrc *src, guint64 offset, gpointer user_data);
 } GstAppSrcCallbacks;
 </pre>
-<p>A set of callbacks that can be installed on the appsrc with
-<a class="link" href="gst-plugins-base-libs-appsrc.html#gst-app-src-set-callbacks" title="gst_app_src_set_callbacks ()"><code class="function">gst_app_src_set_callbacks()</code></a>.</p>
-<div class="refsect3">
-<a name="GstAppSrcCallbacks.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAppSrcCallbacks.need-data"></a>need_data</code></em> ()</p></td>
-<td class="struct_member_description"><p>Called when the appsrc needs more data. A buffer or EOS should be
-pushed to appsrc from this thread or another thread. <em class="parameter"><code>length</code></em>
-is just a hint
-and when it is set to -1, any number of bytes can be pushed into <em class="parameter"><code>appsrc</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAppSrcCallbacks.enough-data"></a>enough_data</code></em> ()</p></td>
-<td class="struct_member_description"><p>Called when appsrc has enough data. It is recommended that the
-application stops calling push-buffer until the need_data callback is
-emitted again to avoid excessive buffer queueing.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAppSrcCallbacks.seek-data"></a>seek_data</code></em> ()</p></td>
-<td class="struct_member_description"><p>Called when a seek should be performed to the offset.
-The next push-buffer should produce buffers from the new <em class="parameter"><code>offset</code></em>
-.
-This callback is only called for seekable stream types.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-appsrc.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSrc.html#GstBaseSrc-struct"><span class="type">GstBaseSrc</span></a>, appsink</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-dmabuf.html b/docs/libs/html/gst-plugins-base-libs-dmabuf.html
index d246154..20b94c4 100644
--- a/docs/libs/html/gst-plugins-base-libs-dmabuf.html
+++ b/docs/libs/html/gst-plugins-base-libs-dmabuf.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-dmabuf.top_of_page"></a>dmabuf</span></h2>
-<p>dmabuf — Memory wrapper for Linux dmabuf memory</p>
+<p>dmabuf</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -88,15 +88,6 @@
 <a name="gst-dmabuf-allocator-new"></a><h3>gst_dmabuf_allocator_new ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="returnvalue">GstAllocator</span></a> *
 gst_dmabuf_allocator_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Return a new dmabuf allocator.</p>
-<div class="refsect3">
-<a name="gst-dmabuf-allocator-new.returns"></a><h4>Returns</h4>
-<p> a new dmabuf allocator, or NULL if the allocator
-isn't available. Use <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-unref"><code class="function">gst_object_unref()</code></a> to release the allocator after
-usage. </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.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -105,112 +96,23 @@
 gst_dmabuf_allocator_alloc (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a> *allocator</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> fd</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
-<p>Return a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><code class="literal">GstMemory</code></a> that wraps a dmabuf file descriptor.</p>
-<div class="refsect3">
-<a name="gst-dmabuf-allocator-alloc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>allocator</p></td>
-<td class="parameter_description"><p>allocator to be used for this memory</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fd</p></td>
-<td class="parameter_description"><p>dmabuf file descriptor</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>memory size</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-dmabuf-allocator-alloc.returns"></a><h4>Returns</h4>
-<p> a GstMemory based on <em class="parameter"><code>allocator</code></em>
-.
-When the buffer will be released dmabuf allocator will close the <em class="parameter"><code>fd</code></em>
-.
-The memory is only mmapped on <code class="function">gst_buffer_mmap()</code> request. </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.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-dmabuf-memory-get-fd"></a><h3>gst_dmabuf_memory_get_fd ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_dmabuf_memory_get_fd (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
-<p>Return the file descriptor associated with <em class="parameter"><code>mem</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-dmabuf-memory-get-fd.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mem</p></td>
-<td class="parameter_description"><p>the memory to get the file descriptor</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-dmabuf-memory-get-fd.returns"></a><h4>Returns</h4>
-<p> the file descriptor associated with the memory, or -1.  The file
-descriptor is still owned by the GstMemory.  Use dup to take a copy
-if you intend to use it beyond the lifetime of this GstMemory.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-is-dmabuf-memory"></a><h3>gst_is_dmabuf_memory ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_is_dmabuf_memory (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
-<p>Check if <em class="parameter"><code>mem</code></em>
- is dmabuf memory.</p>
-<div class="refsect3">
-<a name="gst-is-dmabuf-memory.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mem</p></td>
-<td class="parameter_description"><p>the memory to be check</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-is-dmabuf-memory.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>mem</code></em>
-is dmabuf memory, otherwise <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-dmabuf.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-dmabuf.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-encoding-profile.html b/docs/libs/html/gst-plugins-base-libs-encoding-profile.html
index 4c3c140..0f5c6ef 100644
--- a/docs/libs/html/gst-plugins-base-libs-encoding-profile.html
+++ b/docs/libs/html/gst-plugins-base-libs-encoding-profile.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-encoding-profile.top_of_page"></a>encoding-profile</span></h2>
-<p>encoding-profile — Encoding profile library</p>
+<p>encoding-profile</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -497,403 +497,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-encoding-profile.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.14.10.13.2"></a><p>
-Functions to create and handle encoding profiles.
-</p>
-<p>
-Encoding profiles describe the media types and settings one wishes to use for
-an encoding process. The top-level profiles are commonly
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a>(s) (which contains a user-readable name and
-description along with which container format to use). These, in turn,
-reference one or more <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>(s) which indicate which encoding
-format should be used on each individual streams.
-</p>
-<p>
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>(s) can be provided to the 'encodebin' element, which will take
-care of selecting and setting up the required elements to produce an output stream
-conforming to the specifications of the profile.
-</p>
-<p>
-Unlike other systems, the encoding profiles do not specify which <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> to use
-for the various encoding and muxing steps, but instead relies on specifying the format
-one wishes to use.
-</p>
-<p>
-Encoding profiles can be created at runtime by the application or loaded from (and saved
-to) file using the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> API.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-validate-transcoding--encoding-profile"></a><h3>The encoding profile serialization format</h3>
-<p>This is the serialization format of a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>.</p>
-<p>
-     Internally the transcoding application uses <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-encodebin.html#GstEncodeBin-struct"><span class="type">GstEncodeBin</span></a>. <span class="command"><strong>gst-validate-transcoding-&amp;GST_API_VERSION;</strong></span> uses its own
-     serialization format to describe the <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-encodebin.html#GstEncodeBin--profile"><span class="type">GstEncodeBin.profile</span></a>
-    property of the encodebin.
-   </p>
-<p>
-       The simplest serialized profile looks like:
-   </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">muxer_source_caps<span class="gtkdoc opt">:</span>videoencoder_source_caps<span class="gtkdoc opt">:</span>audioencoder_source_caps</pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-        For example to encode a stream into a WebM container, with an OGG audio stream and a VP8 video stream,
-        the serialized <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> will look like:
-    </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">video<span class="gtkdoc opt">/</span>webm<span class="gtkdoc opt">:</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vp8<span class="gtkdoc opt">:</span>audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vorbis</pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-       You can also set the preset name of the encoding profile using the caps+preset_name syntax as in:
-   </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">video<span class="gtkdoc opt">/</span>webm<span class="gtkdoc opt">:</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vp8<span class="gtkdoc opt">+</span>youtube<span class="gtkdoc opt">-</span>preset<span class="gtkdoc opt">:</span>audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vorbis</pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-       Moreover, you can set the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-profile-set-presence" title="gst_encoding_profile_set_presence ()">presence</a> property of an
-       encoding profile using the <code class="code">|presence</code> syntax as in:
-   </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">video<span class="gtkdoc opt">/</span>webm<span class="gtkdoc opt">:</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vp8<span class="gtkdoc opt">|</span><span class="number">1</span><span class="gtkdoc opt">:</span>audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vorbis</pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-     This field allows you to specify how many times maximum a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> can be used inside an encodebin.
-   </p>
-<p>
-     You can also use the <code class="code">restriction_caps-&gt;encoded_format_caps</code> syntax to specify the
-     restriction caps
-     to be set on a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>. It corresponds to the
-     restriction <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to apply before
-     the encoder that will be used in the profile. The fields present in restriction
-     caps are properties of the raw stream (that is, before encoding), such as height
-     and width for video and depth and sampling rate for audio. This property does not
-     make sense for muxers.
-   </p>
-<p>
-       To force a video stream to be encoded with a Full HD resolution (using WebM as the container format,
-       VP8 as the video codec and Vorbis as the audio codec), you should use:
-   </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">video<span class="gtkdoc opt">/</span>webm<span class="gtkdoc opt">:</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">1920</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">1080</span><span class="gtkdoc opt">-&gt;</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vp8<span class="gtkdoc opt">:</span>audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vorbis</pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<div class="refsect3">
-<a name="id-1.2.14.10.13.3.16"></a><h4>Some serialized encoding formats examples:</h4>
-<p>
-     MP3 audio and H264 in MP4:
-   </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">video<span class="gtkdoc opt">/</span>quicktime<span class="gtkdoc opt">,</span>variant<span class="gtkdoc opt">=</span>iso<span class="gtkdoc opt">:</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>h264<span class="gtkdoc opt">:</span>audio<span class="gtkdoc opt">/</span>mpeg<span class="gtkdoc opt">,</span>mpegversion<span class="gtkdoc opt">=</span><span class="number">1</span><span class="gtkdoc opt">,</span>layer<span class="gtkdoc opt">=</span><span class="number">3</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-     Vorbis and theora in OGG:
-   </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">application<span class="gtkdoc opt">/</span>ogg<span class="gtkdoc opt">:</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>theora<span class="gtkdoc opt">:</span>audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>vorbis</pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-     AC3 and H264 in MPEG-TS:
-   </p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">video<span class="gtkdoc opt">/</span>mpegts<span class="gtkdoc opt">:</span>video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>h264<span class="gtkdoc opt">:</span>audio<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>ac3</pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.14.10.13.4"></a><h3>Example: Creating a profile</h3>
-<p>
-</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;gst/pbutils/encoding-profile.h&gt;</span>
-<span class="gtkdoc opt">...</span>
-GstEncodingProfile <span class="gtkdoc opt">*</span>
-<span class="function">create_ogg_theora_profile</span><span class="gtkdoc opt">(</span><span class="gtkdoc kwb">void</span><span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
- GstEncodingContainerProfile <span class="gtkdoc opt">*</span>prof<span class="gtkdoc opt">;</span>
- GstCaps <span class="gtkdoc opt">*</span>caps<span class="gtkdoc opt">;</span>
-
- caps <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-from-string">gst_caps_from_string</a></span><span class="gtkdoc opt">(</span><span class="string">&quot;application/ogg&quot;</span><span class="gtkdoc opt">);</span>
- prof <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-container-profile-new">gst_encoding_container_profile_new</a></span><span class="gtkdoc opt">(</span><span class="string">&quot;Ogg audio/video&quot;</span><span class="gtkdoc opt">,</span>
-    <span class="string">&quot;Standard OGG/THEORA/VORBIS&quot;</span><span class="gtkdoc opt">,</span>
-    caps<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref">gst_caps_unref</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">);</span>
-
- caps <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-from-string">gst_caps_from_string</a></span><span class="gtkdoc opt">(</span><span class="string">&quot;video/x-theora&quot;</span><span class="gtkdoc opt">);</span>
- <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-container-profile-add-profile">gst_encoding_container_profile_add_profile</a></span><span class="gtkdoc opt">(</span>prof<span class="gtkdoc opt">,</span>
-      <span class="gtkdoc opt">(</span>GstEncodingProfile<span class="gtkdoc opt">*)</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-video-profile-new">gst_encoding_video_profile_new</a></span><span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">));</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref">gst_caps_unref</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">);</span>
-
- caps <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-from-string">gst_caps_from_string</a></span><span class="gtkdoc opt">(</span><span class="string">&quot;audio/x-vorbis&quot;</span><span class="gtkdoc opt">);</span>
- <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-container-profile-add-profile">gst_encoding_container_profile_add_profile</a></span><span class="gtkdoc opt">(</span>prof<span class="gtkdoc opt">,</span>
-      <span class="gtkdoc opt">(</span>GstEncodingProfile<span class="gtkdoc opt">*)</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-audio-profile-new">gst_encoding_audio_profile_new</a></span><span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">));</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref">gst_caps_unref</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">);</span>
-
- <span class="keyword">return</span> <span class="gtkdoc opt">(</span>GstEncodingProfile<span class="gtkdoc opt">*)</span> prof<span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">}</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.14.10.13.5"></a><h3>Example: Using an encoder preset with a profile</h3>
-<p>
-</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;gst/pbutils/encoding-profile.h&gt;</span>
-<span class="gtkdoc opt">...</span>
-GstEncodingProfile <span class="gtkdoc opt">*</span>
-<span class="function">create_ogg_theora_profile</span><span class="gtkdoc opt">(</span><span class="gtkdoc kwb">void</span><span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
- GstEncodingVideoProfile <span class="gtkdoc opt">*</span>v<span class="gtkdoc opt">;</span>
- GstEncodingAudioProfile <span class="gtkdoc opt">*</span>a<span class="gtkdoc opt">;</span>
- GstEncodingContainerProfile <span class="gtkdoc opt">*</span>prof<span class="gtkdoc opt">;</span>
- GstCaps <span class="gtkdoc opt">*</span>caps<span class="gtkdoc opt">;</span>
- GstPreset <span class="gtkdoc opt">*</span>preset<span class="gtkdoc opt">;</span>
-
- caps <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-from-string">gst_caps_from_string</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;application/ogg&quot;</span><span class="gtkdoc opt">);</span>
- prof <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-container-profile-new">gst_encoding_container_profile_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Ogg audio/video&quot;</span><span class="gtkdoc opt">,</span>
-    <span class="string">&quot;Standard OGG/THEORA/VORBIS&quot;</span><span class="gtkdoc opt">,</span>
-    caps<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref">gst_caps_unref</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">);</span>
-
- preset <span class="gtkdoc opt">=</span> <span class="function">GST_PRESET</span> <span class="gtkdoc opt">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElementFactory.html#gst-element-factory-make">gst_element_factory_make</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;theoraenc&quot;</span><span class="gtkdoc opt">,</span> <span class="string">&quot;theorapreset&quot;</span><span class="gtkdoc opt">));</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-set">g_object_set</a></span> <span class="gtkdoc opt">(</span>preset<span class="gtkdoc opt">,</span> <span class="string">&quot;bitrate&quot;</span><span class="gtkdoc opt">,</span> <span class="number">1000</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
- <span class="gtkdoc slc">// The preset will be saved on the filesystem,</span>
- <span class="gtkdoc slc">// so try to use a descriptive name</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#gst-preset-save-preset">gst_preset_save_preset</a></span> <span class="gtkdoc opt">(</span>preset<span class="gtkdoc opt">,</span> <span class="string">&quot;theora_bitrate_preset&quot;</span><span class="gtkdoc opt">);</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>preset<span class="gtkdoc opt">);</span>
-
- caps <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-from-string">gst_caps_from_string</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;video/x-theora&quot;</span><span class="gtkdoc opt">);</span>
- v <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-video-profile-new">gst_encoding_video_profile_new</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">,</span> <span class="string">&quot;theorapreset&quot;</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
- <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-container-profile-add-profile">gst_encoding_container_profile_add_profile</a></span> <span class="gtkdoc opt">(</span>prof<span class="gtkdoc opt">, (</span>GstEncodingProfile<span class="gtkdoc opt">*)</span> v<span class="gtkdoc opt">);</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref">gst_caps_unref</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">);</span>
-
- caps <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-from-string">gst_caps_from_string</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;audio/x-vorbis&quot;</span><span class="gtkdoc opt">);</span>
- a <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-audio-profile-new">gst_encoding_audio_profile_new</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
- <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-container-profile-add-profile">gst_encoding_container_profile_add_profile</a></span> <span class="gtkdoc opt">(</span>prof<span class="gtkdoc opt">, (</span>GstEncodingProfile<span class="gtkdoc opt">*)</span> a<span class="gtkdoc opt">);</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref">gst_caps_unref</a></span> <span class="gtkdoc opt">(</span>caps<span class="gtkdoc opt">);</span>
-
- <span class="keyword">return</span> <span class="gtkdoc opt">(</span>GstEncodingProfile<span class="gtkdoc opt">*)</span> prof<span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">}</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.14.10.13.6"></a><h3>Example: Listing categories, targets and profiles</h3>
-<p>
-</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;gst/pbutils/encoding-profile.h&gt;</span>
-<span class="gtkdoc opt">...</span>
-GstEncodingProfile <span class="gtkdoc opt">*</span>prof<span class="gtkdoc opt">;</span>
-GList <span class="gtkdoc opt">*</span>categories<span class="gtkdoc opt">, *</span>tmpc<span class="gtkdoc opt">;</span>
-GList <span class="gtkdoc opt">*</span>targets<span class="gtkdoc opt">, *</span>tmpt<span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">...</span>
-categories <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-list-available-categories">gst_encoding_list_available_categories</a></span> <span class="gtkdoc opt">();</span>
-
-<span class="gtkdoc opt">...</span> Show available categories to user <span class="gtkdoc opt">...</span>
-
-<span class="keyword">for</span> <span class="gtkdoc opt">(</span>tmpc <span class="gtkdoc opt">=</span> categories<span class="gtkdoc opt">;</span> tmpc<span class="gtkdoc opt">;</span> tmpc <span class="gtkdoc opt">=</span> tmpc<span class="gtkdoc opt">-&gt;</span>next<span class="gtkdoc opt">) {</span>
-  gchar <span class="gtkdoc opt">*</span>category <span class="gtkdoc opt">= (</span>gchar <span class="gtkdoc opt">*)</span> tmpc<span class="gtkdoc opt">-&gt;</span>data<span class="gtkdoc opt">;</span>
-
-  <span class="gtkdoc opt">...</span> <span class="keyword">and</span> we can list all targets within that category <span class="gtkdoc opt">...</span>
-
-  targets <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-list-all-targets">gst_encoding_list_all_targets</a></span> <span class="gtkdoc opt">(</span>category<span class="gtkdoc opt">);</span>
-
-  <span class="gtkdoc opt">...</span> <span class="keyword">and</span> show a list to our users <span class="gtkdoc opt">...</span>
-
-  <span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#g-list-foreach">g_list_foreach</a></span> <span class="gtkdoc opt">(</span>targets<span class="gtkdoc opt">, (</span>GFunc<span class="gtkdoc opt">)</span> gst_encoding_target_unref<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span> <span class="gtkdoc opt">(</span>targets<span class="gtkdoc opt">);</span>
-<span class="gtkdoc opt">}</span>
-
-<span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#g-list-foreach">g_list_foreach</a></span> <span class="gtkdoc opt">(</span>categories<span class="gtkdoc opt">, (</span>GFunc<span class="gtkdoc opt">)</span> g_free<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
-<span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span> <span class="gtkdoc opt">(</span>categories<span class="gtkdoc opt">);</span>
-
-<span class="gtkdoc opt">...</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-encoding-profile.functions_details"></a><h2>Functions</h2>
@@ -901,47 +504,12 @@
 <a name="gst-encoding-profile-unref"></a><h3>gst_encoding_profile_unref()</h3>
 <pre class="programlisting">#define gst_encoding_profile_unref(profile) (g_object_unref ((GObject*) profile))
 </pre>
-<p>Decreases the reference count of the <em class="parameter"><code>profile</code></em>
-, possibly freeing the <em class="parameter"><code>profile</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-ref"></a><h3>gst_encoding_profile_ref()</h3>
 <pre class="programlisting">#define gst_encoding_profile_ref(profile) (g_object_ref ((GObject*) profile))
 </pre>
-<p>Increases the reference count of the <em class="parameter"><code>profile</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -950,254 +518,54 @@
 gst_encoding_profile_find (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *targetname</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *profilename</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category</code></em>);</pre>
-<p>Find the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> with the specified name and category.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-find.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>targetname</p></td>
-<td class="parameter_description"><p> The name of the target. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>profilename</p></td>
-<td class="parameter_description"><p> (allow-none): The name of the profile, if <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-provided, it will default to the encoding profile called <code class="literal">default</code>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>category</p></td>
-<td class="parameter_description"><p> The target category. Can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-find.returns"></a><h4>Returns</h4>
-<p> The matching <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-from-discoverer"></a><h3>gst_encoding_profile_from_discoverer ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="returnvalue">GstEncodingProfile</span></a> *
 gst_encoding_profile_from_discoverer (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<p>Creates a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> matching the formats from the given
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a>. Streams other than audio or video (eg,
-subtitles), are currently ignored.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-from-discoverer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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> The <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> to read from. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-from-discoverer.returns"></a><h4>Returns</h4>
-<p> The new <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-name"></a><h3>gst_encoding_profile_get_name ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_profile_get_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-name.returns"></a><h4>Returns</h4>
-<p> the name of the profile, can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-description"></a><h3>gst_encoding_profile_get_description ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_profile_get_description (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-description.returns"></a><h4>Returns</h4>
-<p> the description of the profile, can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-format"></a><h3>gst_encoding_profile_get_format ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_encoding_profile_get_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-format.returns"></a><h4>Returns</h4>
-<p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> corresponding to the media format used
-in the profile. Unref after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-preset"></a><h3>gst_encoding_profile_get_preset ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_profile_get_preset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-preset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-preset.returns"></a><h4>Returns</h4>
-<p> the name of the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#GstPreset-struct"><span class="type">GstPreset</span></a> to be used in the profile.
-This is the name that has been set when saving the preset.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-preset-name"></a><h3>gst_encoding_profile_get_preset_name ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_profile_get_preset_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-preset-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-preset-name.returns"></a><h4>Returns</h4>
-<p> the name of the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#GstPreset-struct"><span class="type">GstPreset</span></a> factory to be used in the profile.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-presence"></a><h3>gst_encoding_profile_get_presence ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_encoding_profile_get_presence (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-presence.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-presence.returns"></a><h4>Returns</h4>
-<p> The number of times the profile is used in its parent
-container profile. If 0, it is not a mandatory stream.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-restriction"></a><h3>gst_encoding_profile_get_restriction ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_encoding_profile_get_restriction (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-restriction.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-restriction.returns"></a><h4>Returns</h4>
-<p> The restriction <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to apply before the encoder
-that will be used in the profile. The fields present in restriction caps are
-properties of the raw stream (that is before encoding), such as height and
-width for video and depth and sampling rate for audio. Does not apply to
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a> (since there is no corresponding raw stream).
-Can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Unref after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1205,26 +573,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_profile_get_file_extension
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-file-extension.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-file-extension.returns"></a><h4>Returns</h4>
-<p> a suitable file extension for <em class="parameter"><code>profile</code></em>
-, or NULL.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1232,33 +580,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
-<p>Set <em class="parameter"><code>name</code></em>
- as the given name for the <em class="parameter"><code>profile</code></em>
-. A copy of <em class="parameter"><code>name</code></em>
- will be made
-internally.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p>the name to set on the profile</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1266,33 +587,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_description (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>);</pre>
-<p>Set <em class="parameter"><code>description</code></em>
- as the given description for the <em class="parameter"><code>profile</code></em>
-. A copy of
-<em class="parameter"><code>description</code></em>
- will be made internally.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>description</p></td>
-<td class="parameter_description"><p>the description to set on the profile</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1300,29 +594,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_enabled (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Set whether the profile should be used or not.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-enabled.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to disable <span class="type">profile</span>, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to enable it</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1330,29 +601,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *format</code></em>);</pre>
-<p>Sets the media format used in the profile.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the media format to use in the profile.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1360,31 +608,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_preset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *preset</code></em>);</pre>
-<p>Sets the name of the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> that implements the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#GstPreset-struct"><span class="type">GstPreset</span></a> interface
-to use for the profile.
-This is the name that has been set when saving the preset.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-preset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>preset</p></td>
-<td class="parameter_description"><p>the element preset to use</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1392,30 +615,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_preset_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *preset_name</code></em>);</pre>
-<p>Sets the name of the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#GstPreset-struct"><span class="type">GstPreset</span></a>'s factory to be used in the profile.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-preset-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>preset_name</p></td>
-<td class="parameter_description"><p>The name of the preset to use in this <em class="parameter"><code>profile</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1423,31 +622,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_restriction (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *restriction</code></em>);</pre>
-<p>Set the restriction <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to apply before the encoder
-that will be used in the profile. See <a class="link" href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-profile-get-restriction" title="gst_encoding_profile_get_restriction ()"><code class="function">gst_encoding_profile_get_restriction()</code></a>
-for more about restrictions. Does not apply to <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a>.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-restriction.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>restriction</p></td>
-<td class="parameter_description"><p> the restriction to apply. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1455,30 +629,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_profile_set_presence (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> presence</code></em>);</pre>
-<p>Set the number of time the profile is used in its parent
-container profile. If 0, it is not a mandatory stream</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-set-presence.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>presence</p></td>
-<td class="parameter_description"><p>the number of time the profile can be used</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1486,35 +636,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_encoding_profile_is_equal (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *a</code></em>,
                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *b</code></em>);</pre>
-<p>Checks whether the two <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> are equal</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-is-equal.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>a</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>b</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-is-equal.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>a</code></em>
-and <em class="parameter"><code>b</code></em>
-are equal, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1527,56 +648,12 @@
 <a name="gst-encoding-profile-get-input-caps"></a><h3>gst_encoding_profile_get_input_caps ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_encoding_profile_get_input_caps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<p>Computes the full output caps that this <em class="parameter"><code>profile</code></em>
- will be able to consume.</p>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-input-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-input-caps.returns"></a><h4>Returns</h4>
-<p> The full caps the given <em class="parameter"><code>profile</code></em>
-can consume. Call
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref"><code class="function">gst_caps_unref()</code></a> when you are done with the caps. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-profile-get-type-nick"></a><h3>gst_encoding_profile_get_type_nick ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_profile_get_type_nick (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-type-nick.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-profile-get-type-nick.returns"></a><h4>Returns</h4>
-<p> the human-readable name of the type of <em class="parameter"><code>profile</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1586,44 +663,6 @@
                                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *format</code></em>,
                                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *preset</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a>.</p>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>name</p></td>
-<td class="parameter_description"><p> The name of the container profile, can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>description</p></td>
-<td class="parameter_description"><p> The description of the container profile,
-can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>The format to use for this profile</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>preset</p></td>
-<td class="parameter_description"><p> The preset to use for this profile. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-new.returns"></a><h4>Returns</h4>
-<p> The newly created <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1632,38 +671,6 @@
 gst_encoding_container_profile_add_profile
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a> *container</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<p>Add a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> to the list of profiles handled by <em class="parameter"><code>container</code></em>
-.</p>
-<p>No copy of <em class="parameter"><code>profile</code></em>
- will be made, if you wish to use it elsewhere after this
-method you should increment its reference count.</p>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-add-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>container</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a> to use</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>profile</p></td>
-<td class="parameter_description"><p> the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> to add. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-add-profile.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>stream</code></em>
-was properly added, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1672,39 +679,6 @@
 gst_encoding_container_profile_contains_profile
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a> *container</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<p>Checks if <em class="parameter"><code>container</code></em>
- contains a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> identical to
-<em class="parameter"><code>profile</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-contains-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>container</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-contains-profile.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>container</code></em>
-contains a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> identical
-to <em class="parameter"><code>profile</code></em>
-, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1712,26 +686,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_encoding_container_profile_get_profiles
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a> *profile</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-get-profiles.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingContainerProfile"><span class="type">GstEncodingContainerProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-container-profile-get-profiles.returns"></a><h4>Returns</h4>
-<p>the list of contained <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>. </p>
-<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.EncodingProfile][<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">
@@ -1741,47 +695,6 @@
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *preset</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *restriction</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> presence</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingAudioProfile"><span class="type">GstEncodingAudioProfile</span></a></p>
-<p>All provided allocatable arguments will be internally copied, so can be
-safely freed/unreferenced after calling this method.</p>
-<div class="refsect3">
-<a name="gst-encoding-audio-profile-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>preset</p></td>
-<td class="parameter_description"><p> the preset(s) to use on the encoder, can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>restriction</p></td>
-<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> used to restrict the input to the encoder, can be
-NULL. See <a class="link" href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-profile-get-restriction" title="gst_encoding_profile_get_restriction ()"><code class="function">gst_encoding_profile_get_restriction()</code></a> for more details. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>presence</p></td>
-<td class="parameter_description"><p>the number of time this stream must be used. 0 means any number of
-times (including never)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-audio-profile-new.returns"></a><h4>Returns</h4>
-<p> the newly created <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingAudioProfile"><span class="type">GstEncodingAudioProfile</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1791,78 +704,12 @@
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *preset</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *restriction</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> presence</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a></p>
-<p>All provided allocatable arguments will be internally copied, so can be
-safely freed/unreferenced after calling this method.</p>
-<p>If you wish to control the pass number (in case of multi-pass scenarios),
-please refer to the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-video-profile-set-pass" title="gst_encoding_video_profile_set_pass ()"><code class="function">gst_encoding_video_profile_set_pass()</code></a> documentation.</p>
-<p>If you wish to use/force a constant framerate please refer to the
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-video-profile-set-variableframerate" title="gst_encoding_video_profile_set_variableframerate ()"><code class="function">gst_encoding_video_profile_set_variableframerate()</code></a> documentation.</p>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>preset</p></td>
-<td class="parameter_description"><p> the preset(s) to use on the encoder, can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>restriction</p></td>
-<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> used to restrict the input to the encoder, can be
-NULL. See <a class="link" href="gst-plugins-base-libs-encoding-profile.html#gst-encoding-profile-get-restriction" title="gst_encoding_profile_get_restriction ()"><code class="function">gst_encoding_profile_get_restriction()</code></a> for more details. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>presence</p></td>
-<td class="parameter_description"><p>the number of time this stream must be used. 0 means any number of
-times (including never)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-new.returns"></a><h4>Returns</h4>
-<p> the newly created <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-video-profile-get-pass"></a><h3>gst_encoding_video_profile_get_pass ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_encoding_video_profile_get_pass (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a> *prof</code></em>);</pre>
-<p>Get the pass number if this is part of a multi-pass profile.</p>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-get-pass.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>prof</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-get-pass.returns"></a><h4>Returns</h4>
-<p> The pass number. Starts at 1 for multi-pass. 0 if this is
-not a multi-pass profile</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1870,25 +717,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_encoding_video_profile_get_variableframerate
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a> *prof</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-get-variableframerate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>prof</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-get-variableframerate.returns"></a><h4>Returns</h4>
-<p> Whether non-constant video framerate is allowed for encoding.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1896,31 +724,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_encoding_video_profile_set_pass (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a> *prof</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> pass</code></em>);</pre>
-<p>Sets the pass number of this video profile. The first pass profile should have
-this value set to 1. If this video profile isn't part of a multi-pass profile,
-you may set it to 0 (the default value).</p>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-set-pass.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>prof</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pass</p></td>
-<td class="parameter_description"><p>the pass number for this profile</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1929,76 +732,16 @@
 gst_encoding_video_profile_set_variableframerate
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a> *prof</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> variableframerate</code></em>);</pre>
-<p>If set to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the incoming stream will be allowed to have non-constant
-framerate. If set to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (default value), then the incoming stream will
-be normalized by dropping/duplicating frames in order to produce a
-constance framerate.</p>
-<div class="refsect3">
-<a name="gst-encoding-video-profile-set-variableframerate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>prof</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingVideoProfile"><span class="type">GstEncodingVideoProfile</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>variableframerate</p></td>
-<td class="parameter_description"><p>a boolean</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-target-unref"></a><h3>gst_encoding_target_unref()</h3>
 <pre class="programlisting">#define             gst_encoding_target_unref(target)</pre>
-<p>Decreases the reference count of the <em class="parameter"><code>target</code></em>
-, possibly freeing it.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-target-ref"></a><h3>gst_encoding_target_ref()</h3>
 <pre class="programlisting">#define             gst_encoding_target_ref(target)</pre>
-<p>Increases the reference count of the <em class="parameter"><code>target</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2008,166 +751,30 @@
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *profiles</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a>.</p>
-<p>The name and category can only consist of lowercase ASCII letters for the
-first character, followed by either lowercase ASCII letters, digits or
-hyphens ('-').</p>
-<p>The <em class="parameter"><code>category</code></em>
- <span class="emphasis"><em>should</em></span> be one of the existing
-well-defined categories, like <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GST-ENCODING-CATEGORY-DEVICE:CAPS" title="GST_ENCODING_CATEGORY_DEVICE"><span class="type">GST_ENCODING_CATEGORY_DEVICE</span></a>, but it
-<span class="emphasis"><em>can</em></span> be a application or user specific category if
-needed.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>name</p></td>
-<td class="parameter_description"><p>The name of the target.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>category</p></td>
-<td class="parameter_description"><p> The name of the category to which this <em class="parameter"><code>target</code></em>
-belongs. For example: <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GST-ENCODING-CATEGORY-DEVICE:CAPS" title="GST_ENCODING_CATEGORY_DEVICE"><span class="type">GST_ENCODING_CATEGORY_DEVICE</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>description</p></td>
-<td class="parameter_description"><p> A description of <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> in the
-current locale. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>profiles</p></td>
-<td class="parameter_description"><p> A <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.EncodingProfile]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-new.returns"></a><h4>Returns</h4>
-<p> The newly created <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
-there was an error. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-target-get-name"></a><h3>gst_encoding_target_get_name ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_target_get_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-target-get-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-get-name.returns"></a><h4>Returns</h4>
-<p> The name of the <em class="parameter"><code>target</code></em>
-. </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">
 <a name="gst-encoding-target-get-category"></a><h3>gst_encoding_target_get_category ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_target_get_category (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-target-get-category.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-get-category.returns"></a><h4>Returns</h4>
-<p> The category of the <em class="parameter"><code>target</code></em>
-. For example:
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GST-ENCODING-CATEGORY-DEVICE:CAPS" title="GST_ENCODING_CATEGORY_DEVICE"><span class="type">GST_ENCODING_CATEGORY_DEVICE</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">
 <a name="gst-encoding-target-get-description"></a><h3>gst_encoding_target_get_description ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_encoding_target_get_description (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-target-get-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-get-description.returns"></a><h4>Returns</h4>
-<p> The description of the <em class="parameter"><code>target</code></em>
-. </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">
 <a name="gst-encoding-target-get-profiles"></a><h3>gst_encoding_target_get_profiles ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_encoding_target_get_profiles (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-target-get-profiles.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-get-profiles.returns"></a><h4>Returns</h4>
-<p> A list of
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>(s) this <em class="parameter"><code>target</code></em>
-handles. </p>
-<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.EncodingProfile]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2175,33 +782,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="returnvalue">GstEncodingProfile</span></a> *
 gst_encoding_target_get_profile (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-encoding-target-get-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p>the name of the profile to retrieve</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-get-profile.returns"></a><h4>Returns</h4>
-<p> The matching <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a>, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2209,41 +789,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_encoding_target_add_profile (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> *profile</code></em>);</pre>
-<p>Adds the given <em class="parameter"><code>profile</code></em>
- to the <em class="parameter"><code>target</code></em>
-. Each added profile must have
-a unique name within the profile.</p>
-<p>The <em class="parameter"><code>target</code></em>
- will steal a reference to the <em class="parameter"><code>profile</code></em>
-. If you wish to use
-the profile after calling this method, you should increase its reference
-count.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-add-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> to add a profile to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>profile</p></td>
-<td class="parameter_description"><p> the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> to add. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-add-profile.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the profile was added, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2251,34 +796,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_encoding_target_save (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Saves the <em class="parameter"><code>target</code></em>
- to a default user-local directory.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-save.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>If an error occured, this field will be filled in.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-save.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the target was correctly saved, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2287,40 +804,6 @@
 gst_encoding_target_save_to_file (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> *target</code></em>,
                                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filepath</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Saves the <em class="parameter"><code>target</code></em>
- to the provided file location.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-save-to-file.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>target</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>filepath</p></td>
-<td class="parameter_description"><p>the location to store the <em class="parameter"><code>target</code></em>
-at.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>If an error occured, this field will be filled in.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-save-to-file.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the target was correctly saved, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2329,43 +812,6 @@
 gst_encoding_target_load (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *category</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Searches for the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> with the given name, loads it
-and returns it.</p>
-<p>If the category name is specified only targets from that category will be
-searched for.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-load.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>name</p></td>
-<td class="parameter_description"><p>the name of the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> to load.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>category</p></td>
-<td class="parameter_description"><p> the name of the target category, like
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GST-ENCODING-CATEGORY-DEVICE:CAPS" title="GST_ENCODING_CATEGORY_DEVICE"><span class="type">GST_ENCODING_CATEGORY_DEVICE</span></a>. Can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>If an error occured, this field will be filled in.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-load.returns"></a><h4>Returns</h4>
-<p> The <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> if available, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2373,65 +819,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="returnvalue">GstEncodingTarget</span></a> *
 gst_encoding_target_load_from_file (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filepath</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Opens the provided file and returns the contained <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a>.</p>
-<div class="refsect3">
-<a name="gst-encoding-target-load-from-file.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>filepath</p></td>
-<td class="parameter_description"><p>The file location to load the <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>If an error occured, this field will be filled in.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-target-load-from-file.returns"></a><h4>Returns</h4>
-<p> The <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> contained in the file, else
-<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-encoding-list-all-targets"></a><h3>gst_encoding_list_all_targets ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_encoding_list_all_targets (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *categoryname</code></em>);</pre>
-<p>List all available <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> for the specified category, or all categories
-if <em class="parameter"><code>categoryname</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<div class="refsect3">
-<a name="gst-encoding-list-all-targets.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>categoryname</p></td>
-<td class="parameter_description"><p> The category, for ex: <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GST-ENCODING-CATEGORY-DEVICE:CAPS" title="GST_ENCODING_CATEGORY_DEVICE"><span class="type">GST_ENCODING_CATEGORY_DEVICE</span></a>.
-Can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-encoding-list-all-targets.returns"></a><h4>Returns</h4>
-<p> The list of <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstEncodingTarget]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2439,13 +832,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_encoding_list_available_categories
                                (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Lists all <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> categories present on disk.</p>
-<div class="refsect3">
-<a name="gst-encoding-list-available-categories.returns"></a><h4>Returns</h4>
-<p> A list
-of <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> categories. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*]</span></p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -2453,73 +839,50 @@
 <div class="refsect2">
 <a name="GstEncodingProfile-struct"></a><h3>GstEncodingProfile</h3>
 <pre class="programlisting">typedef struct _GstEncodingProfile GstEncodingProfile;</pre>
-<p>The opaque base class object for all encoding profiles. This contains generic
-information like name, description, format and preset.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstEncodingContainerProfile-struct"></a><h3>GstEncodingContainerProfile</h3>
 <pre class="programlisting">typedef struct _GstEncodingContainerProfile GstEncodingContainerProfile;</pre>
-<p>Encoding profiles for containers. Keeps track of a list of <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstEncodingAudioProfile-struct"></a><h3>GstEncodingAudioProfile</h3>
 <pre class="programlisting">typedef struct _GstEncodingAudioProfile GstEncodingAudioProfile;</pre>
-<p>Variant of <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> for audio streams.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstEncodingVideoProfile-struct"></a><h3>GstEncodingVideoProfile</h3>
 <pre class="programlisting">typedef struct _GstEncodingVideoProfile GstEncodingVideoProfile;</pre>
-<p>Variant of <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> for video streams, allows specifying the <em class="parameter"><code>pass</code></em>
-.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-ENCODING-CATEGORY-DEVICE:CAPS"></a><h3>GST_ENCODING_CATEGORY_DEVICE</h3>
 <pre class="programlisting">#define GST_ENCODING_CATEGORY_DEVICE            "device"
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> category for device-specific targets.
-The name of the target will usually be the constructor and model of the device,
-and that target will contain <a href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfiles</span></a> suitable for that device.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-ENCODING-CATEGORY-ONLINE-SERVICE:CAPS"></a><h3>GST_ENCODING_CATEGORY_ONLINE_SERVICE</h3>
 <pre class="programlisting">#define GST_ENCODING_CATEGORY_ONLINE_SERVICE    "online-service"
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> category for online-services.
-The name of the target will usually be the name of the online service
-and that target will contain <a href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfiles</span></a> suitable for that online
-service.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-ENCODING-CATEGORY-STORAGE-EDITING:CAPS"></a><h3>GST_ENCODING_CATEGORY_STORAGE_EDITING</h3>
 <pre class="programlisting">#define GST_ENCODING_CATEGORY_STORAGE_EDITING   "storage-editing"
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> category for storage, archiving and editing targets.
-Those targets can be lossless and/or provide very fast random access content.
-The name of the target will usually be the container type or editing target,
-and that target will contain <a href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfiles</span></a> suitable for editing or
-storage.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-ENCODING-CATEGORY-CAPTURE:CAPS"></a><h3>GST_ENCODING_CATEGORY_CAPTURE</h3>
 <pre class="programlisting">#define GST_ENCODING_CATEGORY_CAPTURE           "capture"
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingTarget"><span class="type">GstEncodingTarget</span></a> category for recording and capture.
-Targets within this category are optimized for low latency encoding.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstEncodingTarget-struct"></a><h3>GstEncodingTarget</h3>
 <pre class="programlisting">typedef struct _GstEncodingTarget GstEncodingTarget;</pre>
-<p>Collection of <a class="link" href="gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile"><span class="type">GstEncodingProfile</span></a> for a specific target or use-case.</p>
-<p>When being stored/loaded, targets come from a specific category, like
-<a class="link" href="gst-plugins-base-libs-encoding-profile.html#GST-ENCODING-CATEGORY-DEVICE:CAPS" title="GST_ENCODING_CATEGORY_DEVICE"><span class="type">GST_ENCODING_CATEGORY_DEVICE</span></a>.</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-fdmemory.html b/docs/libs/html/gst-plugins-base-libs-fdmemory.html
index b56b312..8fa82f8 100644
--- a/docs/libs/html/gst-plugins-base-libs-fdmemory.html
+++ b/docs/libs/html/gst-plugins-base-libs-fdmemory.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-fdmemory.top_of_page"></a>fdmemory</span></h2>
-<p>fdmemory — Memory wrapper for fd backed memory</p>
+<p>fdmemory</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -112,49 +112,6 @@
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> fd</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
                         <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-fdmemory.html#GstFdMemoryFlags" title="enum GstFdMemoryFlags"><span class="type">GstFdMemoryFlags</span></a> flags</code></em>);</pre>
-<p>Return a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><code class="literal">GstMemory</code></a> that wraps a generic file descriptor.</p>
-<div class="refsect3">
-<a name="gst-fd-allocator-alloc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>allocator</p></td>
-<td class="parameter_description"><p>allocator to be used for this memory</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fd</p></td>
-<td class="parameter_description"><p>file descriptor</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>memory size</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>extra <a class="link" href="gst-plugins-base-libs-fdmemory.html#GstFdMemoryFlags" title="enum GstFdMemoryFlags"><span class="type">GstFdMemoryFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-fd-allocator-alloc.returns"></a><h4>Returns</h4>
-<p> a GstMemory based on <em class="parameter"><code>allocator</code></em>
-.
-When the buffer will be released the allocator will close the <em class="parameter"><code>fd</code></em>
-.
-The memory is only mmapped on <code class="function">gst_buffer_mmap()</code> request. </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">
@@ -167,84 +124,24 @@
 <a name="gst-fd-allocator-new"></a><h3>gst_fd_allocator_new ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="returnvalue">GstAllocator</span></a> *
 gst_fd_allocator_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Return a new fd allocator.</p>
-<div class="refsect3">
-<a name="gst-fd-allocator-new.returns"></a><h4>Returns</h4>
-<p> a new fd allocator, or NULL if the allocator
-isn't available. Use <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-unref"><code class="function">gst_object_unref()</code></a> to release the allocator after
-usage. </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-fd-memory-get-fd"></a><h3>gst_fd_memory_get_fd ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_fd_memory_get_fd (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
-<p>Get the fd from <em class="parameter"><code>mem</code></em>
-. Call <a class="link" href="gst-plugins-base-libs-fdmemory.html#gst-is-fd-memory" title="gst_is_fd_memory ()"><code class="function">gst_is_fd_memory()</code></a> to check if <em class="parameter"><code>mem</code></em>
- has
-an fd.</p>
-<div class="refsect3">
-<a name="gst-fd-memory-get-fd.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mem</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-fd-memory-get-fd.returns"></a><h4>Returns</h4>
-<p> the fd of <em class="parameter"><code>mem</code></em>
-or -1 when there is no fd on <em class="parameter"><code>mem</code></em>
-</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-is-fd-memory"></a><h3>gst_is_fd_memory ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_is_fd_memory (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
-<p>Check if <em class="parameter"><code>mem</code></em>
- is memory backed by an fd</p>
-<div class="refsect3">
-<a name="gst-is-fd-memory.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mem</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-is-fd-memory.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>mem</code></em>
-has an fd that can be retrieved with
-<a class="link" href="gst-plugins-base-libs-fdmemory.html#gst-fd-memory-get-fd" title="gst_fd_memory_get_fd ()"><code class="function">gst_fd_memory_get_fd()</code></a>.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-fdmemory.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstFdMemoryFlags"></a><h3>enum GstFdMemoryFlags</h3>
-<p>Various flags to control the operation of the fd backed memory.</p>
 <div class="refsect3">
 <a name="GstFdMemoryFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -256,37 +153,24 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FD-MEMORY-FLAG-NONE:CAPS"></a>GST_FD_MEMORY_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FD-MEMORY-FLAG-KEEP-MAPPED:CAPS"></a>GST_FD_MEMORY_FLAG_KEEP_MAPPED</p></td>
-<td class="enum_member_description">
-<p>once the memory is mapped,
-       keep it mapped until the memory is destroyed.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FD-MEMORY-FLAG-MAP-PRIVATE:CAPS"></a>GST_FD_MEMORY_FLAG_MAP_PRIVATE</p></td>
-<td class="enum_member_description">
-<p>do a private mapping instead of
-       the default shared mapping.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.6</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-fdmemory.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudio.html b/docs/libs/html/gst-plugins-base-libs-gstaudio.html
index 75e2948..588f4c9 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudio.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudio.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-gstaudio.top_of_page"></a>gstaudio</span></h2>
-<p>gstaudio — Support library for audio elements</p>
+<p>gstaudio</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -468,7 +468,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudio.description"></a><h2>Description</h2>
-<p>This library contains some helper functions for audio elements.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudio.functions_details"></a><h2>Functions</h2>
@@ -480,46 +479,6 @@
                        <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> src</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> length</code></em>);</pre>
-<p>Packs <em class="parameter"><code>length</code></em>
- samples from <em class="parameter"><code>src</code></em>
- to the data array in format <em class="parameter"><code>info</code></em>
-.
-The samples from source have each channel interleaved
-and will be packed into <em class="parameter"><code>data</code></em>
-.</p>
-<div class="refsect3">
-<a name="GstAudioFormatPack.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="type">GstAudioFormatInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p> a source array. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> pointer to the destination
-data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p>the amount of samples to pack.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -530,70 +489,12 @@
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dest</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> length</code></em>);</pre>
-<p>Unpacks <em class="parameter"><code>length</code></em>
- samples from the given data of format <em class="parameter"><code>info</code></em>
-.
-The samples will be unpacked into <em class="parameter"><code>dest</code></em>
- which each channel
-interleaved. <em class="parameter"><code>dest</code></em>
- should at least be big enough to hold <em class="parameter"><code>length</code></em>
- *
-channels * size(unpack_format) bytes.</p>
-<div class="refsect3">
-<a name="GstAudioFormatUnpack.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="type">GstAudioFormatInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p> a destination array. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> pointer to the audio data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p>the amount of samples to unpack.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-info-init"></a><h3>gst_audio_info_init ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_info_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *info</code></em>);</pre>
-<p>Initialize <em class="parameter"><code>info</code></em>
- with default values.</p>
-<div class="refsect3">
-<a name="gst-audio-info-init.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -601,66 +502,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_info_from_caps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *info</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Parse <em class="parameter"><code>caps</code></em>
- and update <em class="parameter"><code>info</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-info-from-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-info-from-caps.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>caps</code></em>
-could be parsed</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-info-to-caps"></a><h3>gst_audio_info_to_caps ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_audio_info_to_caps (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *info</code></em>);</pre>
-<p>Convert the values of <em class="parameter"><code>info</code></em>
- into a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.</p>
-<div class="refsect3">
-<a name="gst-audio-info-to-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-info-to-caps.returns"></a><h4>Returns</h4>
-<p> the new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> containing the
-info of <em class="parameter"><code>info</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -671,142 +518,30 @@
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> src_val</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_fmt</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *dest_val</code></em>);</pre>
-<p>Converts among various <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> types.  This function handles
-GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT.  For
-raw audio, GST_FORMAT_DEFAULT corresponds to audio frames.  This
-function can be used to handle pad queries of the type GST_QUERY_CONVERT.</p>
-<div class="refsect3">
-<a name="gst-audio-info-convert.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_fmt</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the <em class="parameter"><code>src_val</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_val</p></td>
-<td class="parameter_description"><p>value to convert</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_fmt</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the <em class="parameter"><code>dest_val</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_val</p></td>
-<td class="parameter_description"><p>pointer to destination value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-info-convert.returns"></a><h4>Returns</h4>
-<p> TRUE if the conversion was successful.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-format-get-info"></a><h3>gst_audio_format_get_info ()</h3>
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="returnvalue">GstAudioFormatInfo</span></a> *
 gst_audio_format_get_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a> format</code></em>);</pre>
-<p>Get the <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="type">GstAudioFormatInfo</span></a> for <em class="parameter"><code>format</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-audio-format-get-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-format-get-info.returns"></a><h4>Returns</h4>
-<p> The <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="type">GstAudioFormatInfo</span></a> for <em class="parameter"><code>format</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-info-copy"></a><h3>gst_audio_info_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="returnvalue">GstAudioInfo</span></a> *
 gst_audio_info_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *info</code></em>);</pre>
-<p>Copy a GstAudioInfo structure.</p>
-<div class="refsect3">
-<a name="gst-audio-info-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-info-copy.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a>. free with gst_audio_info_free.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-info-free"></a><h3>gst_audio_info_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_info_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *info</code></em>);</pre>
-<p>Free a GstAudioInfo structure previously allocated with <a class="link" href="gst-plugins-base-libs-gstaudio.html#gst-audio-info-new" title="gst_audio_info_new ()"><code class="function">gst_audio_info_new()</code></a>
-or <a class="link" href="gst-plugins-base-libs-gstaudio.html#gst-audio-info-copy" title="gst_audio_info_copy ()"><code class="function">gst_audio_info_copy()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-audio-info-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-info-new"></a><h3>gst_audio_info_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="returnvalue">GstAudioInfo</span></a> *
 gst_audio_info_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Allocate a new <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> that is also initialized with
-<a class="link" href="gst-plugins-base-libs-gstaudio.html#gst-audio-info-init" title="gst_audio_info_init ()"><code class="function">gst_audio_info_init()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-audio-info-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a>. free with <a class="link" href="gst-plugins-base-libs-gstaudio.html#gst-audio-info-free" title="gst_audio_info_free ()"><code class="function">gst_audio_info_free()</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -817,49 +552,6 @@
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> rate</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>,
                            <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *position</code></em>);</pre>
-<p>Set the default info for the audio info of <em class="parameter"><code>format</code></em>
- and <em class="parameter"><code>rate</code></em>
- and <em class="parameter"><code>channels</code></em>
-.</p>
-<p>Note: This initializes <em class="parameter"><code>info</code></em>
- first, no values are preserved.</p>
-<div class="refsect3">
-<a name="gst-audio-info-set-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rate</p></td>
-<td class="parameter_description"><p>the samplerate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>the number of channels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>position</p></td>
-<td class="parameter_description"><p>the channel positions</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -867,36 +559,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_info_is_equal (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *info</code></em>,
                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *other</code></em>);</pre>
-<p>Compares two <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> and returns whether they are equal or not</p>
-<div class="refsect3">
-<a name="gst-audio-info-is-equal.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>other</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-info-is-equal.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-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="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -906,45 +568,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> endianness</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> depth</code></em>);</pre>
-<p>Construct a <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a> with given parameters.</p>
-<div class="refsect3">
-<a name="gst-audio-format-build-integer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sign</p></td>
-<td class="parameter_description"><p>signed or unsigned format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>endianness</p></td>
-<td class="parameter_description"><p>G_LITTLE_ENDIAN or G_BIG_ENDIAN</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>amount of bits used per sample</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>depth</p></td>
-<td class="parameter_description"><p>amount of used bits in <em class="parameter"><code>width</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-format-build-integer.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a> or GST_AUDIO_FORMAT_UNKNOWN when no audio format
-exists with the given parameters.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -953,67 +576,12 @@
 gst_audio_format_fill_silence (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="type">GstAudioFormatInfo</span></a> *info</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dest</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>);</pre>
-<p>Fill <em class="parameter"><code>length</code></em>
- bytes in <em class="parameter"><code>dest</code></em>
- with silence samples for <em class="parameter"><code>info</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-format-fill-silence.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="type">GstAudioFormatInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p> a destination
-to fill. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p>the length to fill</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-format-from-string"></a><h3>gst_audio_format_from_string ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="returnvalue">GstAudioFormat</span></a>
 gst_audio_format_from_string (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format</code></em>);</pre>
-<p>Convert the <em class="parameter"><code>format</code></em>
- string to its <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a>.</p>
-<div class="refsect3">
-<a name="gst-audio-format-from-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>a format string</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-format-from-string.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a> for <em class="parameter"><code>format</code></em>
-or GST_AUDIO_FORMAT_UNKNOWN when the
-string is not a known format.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1205,193 +773,43 @@
 <div class="refsect2">
 <a name="GST-FRAMES-TO-CLOCK-TIME:CAPS"></a><h3>GST_FRAMES_TO_CLOCK_TIME()</h3>
 <pre class="programlisting">#define             GST_FRAMES_TO_CLOCK_TIME(frames, rate)</pre>
-<p>Calculate clocktime from sample <em class="parameter"><code>frames</code></em>
- and <em class="parameter"><code>rate</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-FRAMES-TO-CLOCK-TIME.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frames</p></td>
-<td class="parameter_description"><p>sample frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rate</p></td>
-<td class="parameter_description"><p>sampling rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-CLOCK-TIME-TO-FRAMES:CAPS"></a><h3>GST_CLOCK_TIME_TO_FRAMES()</h3>
 <pre class="programlisting">#define             GST_CLOCK_TIME_TO_FRAMES(clocktime, rate)</pre>
-<p>Calculate frames from <em class="parameter"><code>clocktime</code></em>
- and sample <em class="parameter"><code>rate</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-CLOCK-TIME-TO-FRAMES.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>clocktime</p></td>
-<td class="parameter_description"><p>clock time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rate</p></td>
-<td class="parameter_description"><p>sampling rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-NE:CAPS"></a><h3>GST_AUDIO_NE()</h3>
 <pre class="programlisting"># define GST_AUDIO_NE(s) G_STRINGIFY(s)"LE"
 </pre>
-<p>Turns audio format string <em class="parameter"><code>s</code></em>
- into the format string for native endianness.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-NE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>s</p></td>
-<td class="parameter_description"><p>format string without endianness marker</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-OE:CAPS"></a><h3>GST_AUDIO_OE()</h3>
 <pre class="programlisting"># define GST_AUDIO_OE(s) G_STRINGIFY(s)"BE"
 </pre>
-<p>Turns audio format string <em class="parameter"><code>s</code></em>
- into the format string for other endianness.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-OE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>s</p></td>
-<td class="parameter_description"><p>format string without endianness marker</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-CAPS-MAKE:CAPS"></a><h3>GST_AUDIO_CAPS_MAKE()</h3>
 <pre class="programlisting">#define             GST_AUDIO_CAPS_MAKE(format)</pre>
-<p>Generic caps string for audio, for use in pad templates.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-CAPS-MAKE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>string format that describes the sample layout, as string
-(e.g. "S16LE", "S8", etc.)</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-buffer-clip"></a><h3>gst_audio_buffer_clip ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_audio_buffer_clip (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
-                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSegment.html#GstSegment-struct"><span class="type">GstSegment</span></a> *segment</code></em>,
+                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSegment.html#GstSegment-struct"><span class="type">GstSegment</span></a> *segment</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> rate</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> bpf</code></em>);</pre>
-<p>Clip the buffer to the given <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSegment.html#GstSegment-struct"><code class="literal">GstSegment</code></a>.</p>
-<p>After calling this function the caller does not own a reference to
-<em class="parameter"><code>buffer</code></em>
- anymore.</p>
-<div class="refsect3">
-<a name="gst-audio-buffer-clip.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p> The buffer to clip. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>segment</p></td>
-<td class="parameter_description"><p>Segment in <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GST-FORMAT-TIME:CAPS"><code class="literal">GST_FORMAT_TIME</code></a> or <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-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>
-<tr>
-<td class="parameter_name"><p>rate</p></td>
-<td class="parameter_description"><p>sample rate.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bpf</p></td>
-<td class="parameter_description">
-<p>size of one audio frame in bytes. This is the size of one sample</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>channels.</p></li></ul></div>
-</td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-buffer-clip.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the buffer is completely outside the configured segment,
-otherwise the clipped buffer is returned.</p>
-<p>If the buffer has no timestamp, it is assumed to be inside the segment and
-is not clipped. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudio.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstAudioFlags"></a><h3>enum GstAudioFlags</h3>
-<p>Extra audio flags</p>
 <div class="refsect3">
 <a name="GstAudioFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1403,18 +821,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FLAG-NONE:CAPS"></a>GST_AUDIO_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no valid flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FLAG-UNPOSITIONED:CAPS"></a>GST_AUDIO_FLAG_UNPOSITIONED</p></td>
-<td class="enum_member_description">
-<p>the position array explicitly
-    contains unpositioned channels.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1423,7 +836,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioFormat"></a><h3>enum GstAudioFormat</h3>
-<p>Enum value describing the most common audio formats.</p>
 <div class="refsect3">
 <a name="GstAudioFormat.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1435,325 +847,233 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-UNKNOWN:CAPS"></a>GST_AUDIO_FORMAT_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>unknown or unset audio format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-ENCODED:CAPS"></a>GST_AUDIO_FORMAT_ENCODED</p></td>
-<td class="enum_member_description">
-<p>encoded audio format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S8:CAPS"></a>GST_AUDIO_FORMAT_S8</p></td>
-<td class="enum_member_description">
-<p>8 bits in 8 bits, signed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U8:CAPS"></a>GST_AUDIO_FORMAT_U8</p></td>
-<td class="enum_member_description">
-<p>8 bits in 8 bits, unsigned</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S16LE:CAPS"></a>GST_AUDIO_FORMAT_S16LE</p></td>
-<td class="enum_member_description">
-<p>16 bits in 16 bits, signed, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S16BE:CAPS"></a>GST_AUDIO_FORMAT_S16BE</p></td>
-<td class="enum_member_description">
-<p>16 bits in 16 bits, signed, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U16LE:CAPS"></a>GST_AUDIO_FORMAT_U16LE</p></td>
-<td class="enum_member_description">
-<p>16 bits in 16 bits, unsigned, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U16BE:CAPS"></a>GST_AUDIO_FORMAT_U16BE</p></td>
-<td class="enum_member_description">
-<p>16 bits in 16 bits, unsigned, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S24-32LE:CAPS"></a>GST_AUDIO_FORMAT_S24_32LE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 32 bits, signed, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S24-32BE:CAPS"></a>GST_AUDIO_FORMAT_S24_32BE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 32 bits, signed, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U24-32LE:CAPS"></a>GST_AUDIO_FORMAT_U24_32LE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 32 bits, unsigned, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U24-32BE:CAPS"></a>GST_AUDIO_FORMAT_U24_32BE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 32 bits, unsigned, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S32LE:CAPS"></a>GST_AUDIO_FORMAT_S32LE</p></td>
-<td class="enum_member_description">
-<p>32 bits in 32 bits, signed, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S32BE:CAPS"></a>GST_AUDIO_FORMAT_S32BE</p></td>
-<td class="enum_member_description">
-<p>32 bits in 32 bits, signed, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U32LE:CAPS"></a>GST_AUDIO_FORMAT_U32LE</p></td>
-<td class="enum_member_description">
-<p>32 bits in 32 bits, unsigned, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U32BE:CAPS"></a>GST_AUDIO_FORMAT_U32BE</p></td>
-<td class="enum_member_description">
-<p>32 bits in 32 bits, unsigned, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S24LE:CAPS"></a>GST_AUDIO_FORMAT_S24LE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 24 bits, signed, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S24BE:CAPS"></a>GST_AUDIO_FORMAT_S24BE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 24 bits, signed, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U24LE:CAPS"></a>GST_AUDIO_FORMAT_U24LE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 24 bits, unsigned, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U24BE:CAPS"></a>GST_AUDIO_FORMAT_U24BE</p></td>
-<td class="enum_member_description">
-<p>24 bits in 24 bits, unsigned, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S20LE:CAPS"></a>GST_AUDIO_FORMAT_S20LE</p></td>
-<td class="enum_member_description">
-<p>20 bits in 24 bits, signed, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S20BE:CAPS"></a>GST_AUDIO_FORMAT_S20BE</p></td>
-<td class="enum_member_description">
-<p>20 bits in 24 bits, signed, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U20LE:CAPS"></a>GST_AUDIO_FORMAT_U20LE</p></td>
-<td class="enum_member_description">
-<p>20 bits in 24 bits, unsigned, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U20BE:CAPS"></a>GST_AUDIO_FORMAT_U20BE</p></td>
-<td class="enum_member_description">
-<p>20 bits in 24 bits, unsigned, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S18LE:CAPS"></a>GST_AUDIO_FORMAT_S18LE</p></td>
-<td class="enum_member_description">
-<p>18 bits in 24 bits, signed, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S18BE:CAPS"></a>GST_AUDIO_FORMAT_S18BE</p></td>
-<td class="enum_member_description">
-<p>18 bits in 24 bits, signed, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U18LE:CAPS"></a>GST_AUDIO_FORMAT_U18LE</p></td>
-<td class="enum_member_description">
-<p>18 bits in 24 bits, unsigned, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U18BE:CAPS"></a>GST_AUDIO_FORMAT_U18BE</p></td>
-<td class="enum_member_description">
-<p>18 bits in 24 bits, unsigned, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-F32LE:CAPS"></a>GST_AUDIO_FORMAT_F32LE</p></td>
-<td class="enum_member_description">
-<p>32-bit floating point samples, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-F32BE:CAPS"></a>GST_AUDIO_FORMAT_F32BE</p></td>
-<td class="enum_member_description">
-<p>32-bit floating point samples, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-F64LE:CAPS"></a>GST_AUDIO_FORMAT_F64LE</p></td>
-<td class="enum_member_description">
-<p>64-bit floating point samples, little endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-F64BE:CAPS"></a>GST_AUDIO_FORMAT_F64BE</p></td>
-<td class="enum_member_description">
-<p>64-bit floating point samples, big endian</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S16:CAPS"></a>GST_AUDIO_FORMAT_S16</p></td>
-<td class="enum_member_description">
-<p>16 bits in 16 bits, signed, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U16:CAPS"></a>GST_AUDIO_FORMAT_U16</p></td>
-<td class="enum_member_description">
-<p>16 bits in 16 bits, unsigned, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S24-32:CAPS"></a>GST_AUDIO_FORMAT_S24_32</p></td>
-<td class="enum_member_description">
-<p>24 bits in 32 bits, signed, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U24-32:CAPS"></a>GST_AUDIO_FORMAT_U24_32</p></td>
-<td class="enum_member_description">
-<p>24 bits in 32 bits, unsigned, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S32:CAPS"></a>GST_AUDIO_FORMAT_S32</p></td>
-<td class="enum_member_description">
-<p>32 bits in 32 bits, signed, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U32:CAPS"></a>GST_AUDIO_FORMAT_U32</p></td>
-<td class="enum_member_description">
-<p>32 bits in 32 bits, unsigned, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S24:CAPS"></a>GST_AUDIO_FORMAT_S24</p></td>
-<td class="enum_member_description">
-<p>24 bits in 24 bits, signed, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U24:CAPS"></a>GST_AUDIO_FORMAT_U24</p></td>
-<td class="enum_member_description">
-<p>24 bits in 24 bits, unsigned, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S20:CAPS"></a>GST_AUDIO_FORMAT_S20</p></td>
-<td class="enum_member_description">
-<p>20 bits in 24 bits, signed, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U20:CAPS"></a>GST_AUDIO_FORMAT_U20</p></td>
-<td class="enum_member_description">
-<p>20 bits in 24 bits, unsigned, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-S18:CAPS"></a>GST_AUDIO_FORMAT_S18</p></td>
-<td class="enum_member_description">
-<p>18 bits in 24 bits, signed, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-U18:CAPS"></a>GST_AUDIO_FORMAT_U18</p></td>
-<td class="enum_member_description">
-<p>18 bits in 24 bits, unsigned, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-F32:CAPS"></a>GST_AUDIO_FORMAT_F32</p></td>
-<td class="enum_member_description">
-<p>32-bit floating point samples, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-F64:CAPS"></a>GST_AUDIO_FORMAT_F64</p></td>
-<td class="enum_member_description">
-<p>64-bit floating point samples, native endianness</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1762,7 +1082,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioFormatFlags"></a><h3>enum GstAudioFormatFlags</h3>
-<p>The different audio flags that a format info can have.</p>
 <div class="refsect3">
 <a name="GstAudioFormatFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1774,39 +1093,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-FLAG-INTEGER:CAPS"></a>GST_AUDIO_FORMAT_FLAG_INTEGER</p></td>
-<td class="enum_member_description">
-<p>integer samples</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-FLAG-FLOAT:CAPS"></a>GST_AUDIO_FORMAT_FLAG_FLOAT</p></td>
-<td class="enum_member_description">
-<p>float samples</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-FLAG-SIGNED:CAPS"></a>GST_AUDIO_FORMAT_FLAG_SIGNED</p></td>
-<td class="enum_member_description">
-<p>signed samples</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-FLAG-COMPLEX:CAPS"></a>GST_AUDIO_FORMAT_FLAG_COMPLEX</p></td>
-<td class="enum_member_description">
-<p>complex layout</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-FORMAT-FLAG-UNPACK:CAPS"></a>GST_AUDIO_FORMAT_FLAG_UNPACK</p></td>
-<td class="enum_member_description">
-<p>the format can be used in
-<a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatUnpack" title="GstAudioFormatUnpack ()"><span class="type">GstAudioFormatUnpack</span></a> and <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatPack" title="GstAudioFormatPack ()"><span class="type">GstAudioFormatPack</span></a> functions</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1830,76 +1138,6 @@
   GstAudioFormatPack pack_func;
 };
 </pre>
-<p>Information for an audio format.</p>
-<div class="refsect3">
-<a name="GstAudioFormatInfo.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.format"></a>format</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstAudioFormatInfo.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>string representation of the format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstAudioFormatInfo.description"></a>description</code></em>;</p></td>
-<td class="struct_member_description"><p>user readable description of the format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatFlags" title="enum GstAudioFormatFlags"><span class="type">GstAudioFormatFlags</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.flags"></a>flags</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatFlags" title="enum GstAudioFormatFlags"><span class="type">GstAudioFormatFlags</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.endianness"></a>endianness</code></em>;</p></td>
-<td class="struct_member_description"><p>the endianness</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.width"></a>width</code></em>;</p></td>
-<td class="struct_member_description"><p>amount of bits used for one sample</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.depth"></a>depth</code></em>;</p></td>
-<td class="struct_member_description"><p>amount of valid bits in <em class="parameter"><code>width</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.silence"></a>silence</code></em>[8];</p></td>
-<td class="struct_member_description"><p><em class="parameter"><code>width</code></em>
-/8 bytes with 1 silent sample</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><span class="type">GstAudioFormat</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.unpack-format"></a>unpack_format</code></em>;</p></td>
-<td class="struct_member_description"><p>the format of the unpacked samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatUnpack" title="GstAudioFormatUnpack ()"><span class="type">GstAudioFormatUnpack</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.unpack-func"></a>unpack_func</code></em>;</p></td>
-<td class="struct_member_description"><p>function to unpack samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatPack" title="GstAudioFormatPack ()"><span class="type">GstAudioFormatPack</span></a> <em class="structfield"><code><a name="GstAudioFormatInfo.pack-func"></a>pack_func</code></em>;</p></td>
-<td class="struct_member_description"><p>function to pack samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1914,63 +1152,10 @@
   GstAudioChannelPosition   position[64];
 };
 </pre>
-<p>Information describing audio properties. This information can be filled
-in from GstCaps with <a class="link" href="gst-plugins-base-libs-gstaudio.html#gst-audio-info-from-caps" title="gst_audio_info_from_caps ()"><code class="function">gst_audio_info_from_caps()</code></a>.</p>
-<p>Use the provided macros to access the info in this structure.</p>
-<div class="refsect3">
-<a name="GstAudioInfo.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p>const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormatInfo" title="struct GstAudioFormatInfo"><span class="type">GstAudioFormatInfo</span></a> *<em class="structfield"><code><a name="GstAudioInfo.finfo"></a>finfo</code></em>;</p></td>
-<td class="struct_member_description"><p>the format info of the audio</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFlags" title="enum GstAudioFlags"><span class="type">GstAudioFlags</span></a> <em class="structfield"><code><a name="GstAudioInfo.flags"></a>flags</code></em>;</p></td>
-<td class="struct_member_description"><p>additional audio flags</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioLayout" title="enum GstAudioLayout"><span class="type">GstAudioLayout</span></a> <em class="structfield"><code><a name="GstAudioInfo.layout"></a>layout</code></em>;</p></td>
-<td class="struct_member_description"><p>audio layout</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioInfo.rate"></a>rate</code></em>;</p></td>
-<td class="struct_member_description"><p>the audio sample rate</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioInfo.channels"></a>channels</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of channels</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioInfo.bpf"></a>bpf</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of bytes for one frame, this is the size of one
-sample * <em class="parameter"><code>channels</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> <em class="structfield"><code><a name="GstAudioInfo.position"></a>position</code></em>[64];</p></td>
-<td class="struct_member_description"><p>the positions for each channel</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstAudioLayout"></a><h3>enum GstAudioLayout</h3>
-<p>Layout of the audio samples for the different channels.</p>
 <div class="refsect3">
 <a name="GstAudioLayout.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1982,17 +1167,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-LAYOUT-INTERLEAVED:CAPS"></a>GST_AUDIO_LAYOUT_INTERLEAVED</p></td>
-<td class="enum_member_description">
-<p>interleaved audio</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-LAYOUT-NON-INTERLEAVED:CAPS"></a>GST_AUDIO_LAYOUT_NON_INTERLEAVED</p></td>
-<td class="enum_member_description">
-<p>non-interleaved audio</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2001,7 +1182,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioPackFlags"></a><h3>enum GstAudioPackFlags</h3>
-<p>The different flags that can be used when packing and unpacking.</p>
 <div class="refsect3">
 <a name="GstAudioPackFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2013,21 +1193,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-PACK-FLAG-NONE:CAPS"></a>GST_AUDIO_PACK_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>No flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-PACK-FLAG-TRUNCATE-RANGE:CAPS"></a>GST_AUDIO_PACK_FLAG_TRUNCATE_RANGE</p></td>
-<td class="enum_member_description">
-<p>When the source has a smaller depth
-  than the target format, set the least significant bits of the target
-  to 0. This is likely sightly faster but less accurate. When this flag
-  is not specified, the most significant bits of the source are duplicated
-  in the least significant bits of the destination.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2038,65 +1210,53 @@
 <a name="GST-META-TAG-AUDIO-STR:CAPS"></a><h3>GST_META_TAG_AUDIO_STR</h3>
 <pre class="programlisting">#define GST_META_TAG_AUDIO_STR "audio"
 </pre>
-<p>This metadata is relevant for audio streams.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-META-TAG-AUDIO-CHANNELS-STR:CAPS"></a><h3>GST_META_TAG_AUDIO_CHANNELS_STR</h3>
 <pre class="programlisting">#define GST_META_TAG_AUDIO_CHANNELS_STR "channels"
 </pre>
-<p>This metadata stays relevant as long as channels are unchanged.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-META-TAG-AUDIO-RATE-STR:CAPS"></a><h3>GST_META_TAG_AUDIO_RATE_STR</h3>
 <pre class="programlisting">#define GST_META_TAG_AUDIO_RATE_STR "rate"
 </pre>
-<p>This metadata stays relevant as long as sample rate is unchanged.</p>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-RATE-RANGE:CAPS"></a><h3>GST_AUDIO_RATE_RANGE</h3>
 <pre class="programlisting">#define GST_AUDIO_RATE_RANGE "(int) [ 1, max ]"
 </pre>
-<p>Maximum range of allowed sample rates, for use in template caps strings.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-CHANNELS-RANGE:CAPS"></a><h3>GST_AUDIO_CHANNELS_RANGE</h3>
 <pre class="programlisting">#define GST_AUDIO_CHANNELS_RANGE "(int) [ 1, max ]"
 </pre>
-<p>Maximum range of allowed channels, for use in template caps strings.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-FORMATS-ALL:CAPS"></a><h3>GST_AUDIO_FORMATS_ALL</h3>
 <pre class="programlisting">#define             GST_AUDIO_FORMATS_ALL</pre>
-<p>List of all audio formats, for use in template caps strings.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-DEF-RATE:CAPS"></a><h3>GST_AUDIO_DEF_RATE</h3>
 <pre class="programlisting">#define GST_AUDIO_DEF_RATE 44100
 </pre>
-<p>Standard sampling rate used in consumer audio.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-DEF-CHANNELS:CAPS"></a><h3>GST_AUDIO_DEF_CHANNELS</h3>
 <pre class="programlisting">#define GST_AUDIO_DEF_CHANNELS 2
 </pre>
-<p>Standard number of channels used in consumer audio.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-DEF-FORMAT:CAPS"></a><h3>GST_AUDIO_DEF_FORMAT</h3>
 <pre class="programlisting">#define GST_AUDIO_DEF_FORMAT "S16LE"
 </pre>
-<p>Standard format used in consumer audio.</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html b/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html
index eefaca0..e7746db 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiobasesink.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiobasesink.top_of_page"></a>gstaudiobasesink</span></h2>
-<p>gstaudiobasesink — Base class for audio sinks</p>
+<p>gstaudiobasesink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -265,9 +265,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiobasesink.description"></a><h2>Description</h2>
-<p>This is the base class for audio sinks. Subclasses need to implement the
-::create_ringbuffer vmethod. This base class will then take care of
-writing samples to the ringbuffer, synchronisation, clipping and flushing.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiobasesink.functions_details"></a><h2>Functions</h2>
@@ -281,147 +278,24 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *requested_skew</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkDiscontReason" title="enum GstAudioBaseSinkDiscontReason"><span class="type">GstAudioBaseSinkDiscontReason</span></a> discont_reason</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>This function is set with <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-set-custom-slaving-callback" title="gst_audio_base_sink_set_custom_slaving_callback ()"><code class="function">gst_audio_base_sink_set_custom_slaving_callback()</code></a>
-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.</p>
-<p>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 &gt; etime means the external clock is going slower, while itime &lt; etime
-means it is going faster than the internal clock. etime and itime are always
-valid timestamps, except for when a discontinuity happens.</p>
-<p>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 a discontinuity occurs; otherwise, it is
-safe to write to *requested_skew. The default skew is 0.</p>
-<p>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.</p>
-<div class="refsect3">
-<a name="GstAudioBaseSinkCustomSlavingCallback.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>etime</p></td>
-<td class="parameter_description"><p>external clock time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>itime</p></td>
-<td class="parameter_description"><p>internal clock time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>requested_skew</p></td>
-<td class="parameter_description"><p>skew amount requested by the callback</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>discont_reason</p></td>
-<td class="parameter_description"><p>reason for discontinuity (if any)</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</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-AUDIO-BASE-SINK-CLOCK:CAPS"></a><h3>GST_AUDIO_BASE_SINK_CLOCK()</h3>
 <pre class="programlisting">#define GST_AUDIO_BASE_SINK_CLOCK(obj)   (GST_AUDIO_BASE_SINK (obj)-&gt;clock)
 </pre>
-<p>Get the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> of <em class="parameter"><code>obj</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-BASE-SINK-CLOCK.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-BASE-SINK-PAD:CAPS"></a><h3>GST_AUDIO_BASE_SINK_PAD()</h3>
 <pre class="programlisting">#define GST_AUDIO_BASE_SINK_PAD(obj)     (GST_BASE_SINK (obj)-&gt;sinkpad)
 </pre>
-<p>Get the sink <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> of <em class="parameter"><code>obj</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-BASE-SINK-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-base-sink-create-ringbuffer"></a><h3>gst_audio_base_sink_create_ringbuffer ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="returnvalue">GstAudioRingBuffer</span></a> *
 gst_audio_base_sink_create_ringbuffer (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>);</pre>
-<p>Create and return the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> for <em class="parameter"><code>sink</code></em>
-. This function will
-call the ::create_ringbuffer vmethod and will set <em class="parameter"><code>sink</code></em>
- as the parent of
-the returned buffer (see <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-set-parent"><code class="function">gst_object_set_parent()</code></a>).</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-create-ringbuffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-sink-create-ringbuffer.returns"></a><h4>Returns</h4>
-<p> The new ringbuffer of <em class="parameter"><code>sink</code></em>
-. </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">
@@ -429,65 +303,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_base_sink_set_provide_clock (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>,
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> provide</code></em>);</pre>
-<p>Controls whether <em class="parameter"><code>sink</code></em>
- will provide a clock or not. If <em class="parameter"><code>provide</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>,
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-provide-clock"><code class="function">gst_element_provide_clock()</code></a> will return a clock that reflects the datarate
-of <em class="parameter"><code>sink</code></em>
-. If <em class="parameter"><code>provide</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-provide-clock"><code class="function">gst_element_provide_clock()</code></a> will return
-NULL.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-set-provide-clock.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>provide</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-base-sink-get-provide-clock"></a><h3>gst_audio_base_sink_get_provide_clock ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_base_sink_get_provide_clock (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>);</pre>
-<p>Queries whether <em class="parameter"><code>sink</code></em>
- will provide a clock or not. See also
-gst_audio_base_sink_set_provide_clock.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-provide-clock.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-provide-clock.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>sink</code></em>
-will provide a clock.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -495,58 +316,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_base_sink_set_slave_method (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>,
                                       <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkSlaveMethod" title="enum GstAudioBaseSinkSlaveMethod"><span class="type">GstAudioBaseSinkSlaveMethod</span></a> method</code></em>);</pre>
-<p>Controls how clock slaving will be performed in <em class="parameter"><code>sink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-set-slave-method.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>method</p></td>
-<td class="parameter_description"><p>the new slave method</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-base-sink-get-slave-method"></a><h3>gst_audio_base_sink_get_slave_method ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkSlaveMethod" title="enum GstAudioBaseSinkSlaveMethod"><span class="returnvalue">GstAudioBaseSinkSlaveMethod</span></a>
 gst_audio_base_sink_get_slave_method (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>);</pre>
-<p>Get the current slave method used by <em class="parameter"><code>sink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-slave-method.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-slave-method.returns"></a><h4>Returns</h4>
-<p> The current slave method used by <em class="parameter"><code>sink</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -555,29 +330,6 @@
 gst_audio_base_sink_set_drift_tolerance
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> drift_tolerance</code></em>);</pre>
-<p>Controls the sink's drift tolerance.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-set-drift-tolerance.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>drift_tolerance</p></td>
-<td class="parameter_description"><p>the new drift tolerance in microseconds</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -585,28 +337,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>
 gst_audio_base_sink_get_drift_tolerance
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>);</pre>
-<p>Get the current drift tolerance, in microseconds, used by <em class="parameter"><code>sink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-drift-tolerance.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-drift-tolerance.returns"></a><h4>Returns</h4>
-<p> The current drift tolerance used by <em class="parameter"><code>sink</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -615,29 +345,6 @@
 gst_audio_base_sink_set_alignment_threshold
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> alignment_threshold</code></em>);</pre>
-<p>Controls the sink's alignment threshold.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-set-alignment-threshold.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>alignment_threshold</p></td>
-<td class="parameter_description"><p>the new alignment threshold in nanoseconds</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -645,28 +352,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_audio_base_sink_get_alignment_threshold
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>);</pre>
-<p>Get the current alignment threshold, in nanoseconds, used by <em class="parameter"><code>sink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-alignment-threshold.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-alignment-threshold.returns"></a><h4>Returns</h4>
-<p> The current alignment threshold used by <em class="parameter"><code>sink</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -674,57 +359,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_base_sink_set_discont_wait (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>,
                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> discont_wait</code></em>);</pre>
-<p>Controls how long the sink will wait before creating a discontinuity.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-set-discont-wait.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>discont_wait</p></td>
-<td class="parameter_description"><p>the new discont wait in nanoseconds</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-base-sink-get-discont-wait"></a><h3>gst_audio_base_sink_get_discont_wait ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_audio_base_sink_get_discont_wait (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>);</pre>
-<p>Get the current discont wait, in nanoseconds, used by <em class="parameter"><code>sink</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-discont-wait.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-sink-get-discont-wait.returns"></a><h4>Returns</h4>
-<p> The current discont wait used by <em class="parameter"><code>sink</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -735,46 +375,6 @@
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkCustomSlavingCallback" title="GstAudioBaseSinkCustomSlavingCallback ()"><span class="type">GstAudioBaseSinkCustomSlavingCallback</span></a> callback</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
-<p>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.</p>
-<p>Setting the callback to NULL causes the sink to
-behave as if the GST_AUDIO_BASE_SINK_SLAVE_NONE
-method were used.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-set-custom-slaving-callback.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>callback</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSinkCustomSlavingCallback" title="GstAudioBaseSinkCustomSlavingCallback ()"><span class="type">GstAudioBaseSinkCustomSlavingCallback</span></a></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 passed to the callback</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>notify</p></td>
-<td class="parameter_description"><p>called when user_data becomes unused</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -782,27 +382,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_base_sink_report_device_failure
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> *sink</code></em>);</pre>
-<p>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.</p>
-<div class="refsect3">
-<a name="gst-audio-base-sink-report-device-failure.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sink</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</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">
@@ -810,7 +389,6 @@
 <div class="refsect2">
 <a name="GstAudioBaseSink-struct"></a><h3>struct GstAudioBaseSink</h3>
 <pre class="programlisting">struct GstAudioBaseSink;</pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a>.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -826,39 +404,10 @@
                                              GstBuffer        *buffer);
 };
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> class. Override the vmethod to implement
-functionality.</p>
-<div class="refsect3">
-<a name="GstAudioBaseSinkClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioBaseSinkClass.create-ringbuffer"></a>create_ringbuffer</code></em> ()</p></td>
-<td class="struct_member_description"><p>create and return a <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to write to.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioBaseSinkClass.payload"></a>payload</code></em> ()</p></td>
-<td class="struct_member_description"><p>payload data in a format suitable to write to the sink. If no
-payloading is required, returns a reffed copy of the original
-buffer, else returns the payloaded buffer with all other metadata
-copied.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstAudioBaseSinkSlaveMethod"></a><h3>enum GstAudioBaseSinkSlaveMethod</h3>
-<p>Different possible clock slaving algorithms used when the internal audio
-clock is not selected as the pipeline master clock.</p>
 <div class="refsect3">
 <a name="GstAudioBaseSinkSlaveMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -870,32 +419,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-SLAVE-RESAMPLE:CAPS"></a>GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE</p></td>
-<td class="enum_member_description">
-<p>Resample to match the master clock</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-SLAVE-SKEW:CAPS"></a>GST_AUDIO_BASE_SINK_SLAVE_SKEW</p></td>
-<td class="enum_member_description">
-<p>Adjust playout pointer when master clock
-drifts too much.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-SLAVE-NONE:CAPS"></a>GST_AUDIO_BASE_SINK_SLAVE_NONE</p></td>
-<td class="enum_member_description">
-<p>No adjustment is done.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -904,8 +444,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioBaseSinkDiscontReason"></a><h3>enum GstAudioBaseSinkDiscontReason</h3>
-<p>Different possible reasons for discontinuities. This enum is useful for the custom
-slave method.</p>
 <div class="refsect3">
 <a name="GstAudioBaseSinkDiscontReason.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -917,51 +455,37 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-DISCONT-REASON-NO-DISCONT:CAPS"></a>GST_AUDIO_BASE_SINK_DISCONT_REASON_NO_DISCONT</p></td>
-<td class="enum_member_description">
-<p>No discontinuity occurred</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-DISCONT-REASON-NEW-CAPS"></a>GST_AUDIO_BASE_SINK_DISCONT_REASON_NEW_CAPS</p></td>
-<td class="enum_member_description">
-<p>New caps are set, causing renegotiotion</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-DISCONT-REASON-FLUSH:CAPS"></a>GST_AUDIO_BASE_SINK_DISCONT_REASON_FLUSH</p></td>
-<td class="enum_member_description">
-<p>Samples have been flushed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-DISCONT-REASON-SYNC-LATENCY:CAPS"></a>GST_AUDIO_BASE_SINK_DISCONT_REASON_SYNC_LATENCY</p></td>
-<td class="enum_member_description">
-<p>Sink was synchronized to the estimated latency (occurs during initialization)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-DISCONT-REASON-ALIGNMENT:CAPS"></a>GST_AUDIO_BASE_SINK_DISCONT_REASON_ALIGNMENT</p></td>
-<td class="enum_member_description">
-<p>Aligning buffers failed because the timestamps are too discontinuous</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SINK-DISCONT-REASON-DEVICE-FAILURE:CAPS"></a>GST_AUDIO_BASE_SINK_DISCONT_REASON_DEVICE_FAILURE</p></td>
-<td class="enum_member_description">
-<p>Audio output device experienced and recovered from an error but introduced latency in the process (see also <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#gst-audio-base-sink-report-device-failure" title="gst_audio_base_sink_report_device_failure ()"><code class="function">gst_audio_base_sink_report_device_failure()</code></a></code></em>
-)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -995,8 +519,7 @@
 <div class="refsect2">
 <a name="GstAudioBaseSink--discont-wait"></a><h3>The <code class="literal">“discont-wait”</code> property</h3>
 <pre class="programlisting">  “discont-wait”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
-<p>A window of time in nanoseconds to wait before creating a discontinuity as
-a result of breaching the drift-tolerance.</p>
+<p>Window of time in nanoseconds to wait before creating a discontinuity.</p>
 <p>Flags: Read / Write</p>
 <p>Allowed values: &lt;= 18446744073709551614</p>
 <p>Default value: 1000000000</p>
@@ -1005,8 +528,7 @@
 <div class="refsect2">
 <a name="GstAudioBaseSink--drift-tolerance"></a><h3>The <code class="literal">“drift-tolerance”</code> property</h3>
 <pre class="programlisting">  “drift-tolerance”          <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
-<p>Controls the amount of time in microseconds that clocks are allowed
-to drift before resynchronisation happens.</p>
+<p>Tolerance for clock drift in microseconds.</p>
 <p>Flags: Read / Write</p>
 <p>Allowed values: &gt;= 1</p>
 <p>Default value: 40000</p>
@@ -1037,10 +559,6 @@
 <p>Default value: GST_AUDIO_BASE_SINK_SLAVE_SKEW</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudiobasesink.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiosink.html#GstAudioSink"><span class="type">GstAudioSink</span></a>, <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a>.</p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiobasesrc.html b/docs/libs/html/gst-plugins-base-libs-gstaudiobasesrc.html
index 727fa91..814b486 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiobasesrc.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiobasesrc.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiobasesrc.top_of_page"></a>gstaudiobasesrc</span></h2>
-<p>gstaudiobasesrc — Base class for audio sources</p>
+<p>gstaudiobasesrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -180,9 +180,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiobasesrc.description"></a><h2>Description</h2>
-<p>This is the base class for audio sources. Subclasses need to implement the
-::create_ringbuffer vmethod. This base class will then take care of
-reading samples from the ringbuffer, synchronisation and flushing.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiobasesrc.functions_details"></a><h2>Functions</h2>
@@ -190,78 +187,18 @@
 <a name="GST-AUDIO-BASE-SRC-CLOCK:CAPS"></a><h3>GST_AUDIO_BASE_SRC_CLOCK()</h3>
 <pre class="programlisting">#define GST_AUDIO_BASE_SRC_CLOCK(obj)    (GST_AUDIO_BASE_SRC (obj)-&gt;clock)
 </pre>
-<p>Get the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> of <em class="parameter"><code>obj</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-BASE-SRC-CLOCK.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-BASE-SRC-PAD:CAPS"></a><h3>GST_AUDIO_BASE_SRC_PAD()</h3>
 <pre class="programlisting">#define GST_AUDIO_BASE_SRC_PAD(obj)      (GST_BASE_SRC (obj)-&gt;srcpad)
 </pre>
-<p>Get the source <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> of <em class="parameter"><code>obj</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-BASE-SRC-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-base-src-create-ringbuffer"></a><h3>gst_audio_base_src_create_ringbuffer ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="returnvalue">GstAudioRingBuffer</span></a> *
 gst_audio_base_src_create_ringbuffer (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>);</pre>
-<p>Create and return the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> for <em class="parameter"><code>src</code></em>
-. This function will call
-the ::create_ringbuffer vmethod and will set <em class="parameter"><code>src</code></em>
- as the parent of the
-returned buffer (see <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-set-parent"><code class="function">gst_object_set_parent()</code></a>).</p>
-<div class="refsect3">
-<a name="gst-audio-base-src-create-ringbuffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-src-create-ringbuffer.returns"></a><h4>Returns</h4>
-<p> The new ringbuffer of <em class="parameter"><code>src</code></em>
-. </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">
@@ -269,92 +206,18 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_base_src_set_provide_clock (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>,
                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> provide</code></em>);</pre>
-<p>Controls whether <em class="parameter"><code>src</code></em>
- will provide a clock or not. If <em class="parameter"><code>provide</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>,
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-provide-clock"><code class="function">gst_element_provide_clock()</code></a> will return a clock that reflects the datarate
-of <em class="parameter"><code>src</code></em>
-. If <em class="parameter"><code>provide</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-provide-clock"><code class="function">gst_element_provide_clock()</code></a> will return NULL.</p>
-<div class="refsect3">
-<a name="gst-audio-base-src-set-provide-clock.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>provide</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-base-src-get-provide-clock"></a><h3>gst_audio_base_src_get_provide_clock ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_base_src_get_provide_clock (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>);</pre>
-<p>Queries whether <em class="parameter"><code>src</code></em>
- will provide a clock or not. See also
-gst_audio_base_src_set_provide_clock.</p>
-<div class="refsect3">
-<a name="gst-audio-base-src-get-provide-clock.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-src-get-provide-clock.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>src</code></em>
-will provide a clock.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-base-src-get-slave-method"></a><h3>gst_audio_base_src_get_slave_method ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod"><span class="returnvalue">GstAudioBaseSrcSlaveMethod</span></a>
 gst_audio_base_src_get_slave_method (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>);</pre>
-<p>Get the current slave method used by <em class="parameter"><code>src</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-base-src-get-slave-method.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-base-src-get-slave-method.returns"></a><h4>Returns</h4>
-<p> The current slave method used by <em class="parameter"><code>src</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -362,30 +225,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_base_src_set_slave_method (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> *src</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrcSlaveMethod" title="enum GstAudioBaseSrcSlaveMethod"><span class="type">GstAudioBaseSrcSlaveMethod</span></a> method</code></em>);</pre>
-<p>Controls how clock slaving will be performed in <em class="parameter"><code>src</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-base-src-set-slave-method.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>method</p></td>
-<td class="parameter_description"><p>the new slave method</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -393,7 +232,6 @@
 <div class="refsect2">
 <a name="GstAudioBaseSrc-struct"></a><h3>struct GstAudioBaseSrc</h3>
 <pre class="programlisting">struct GstAudioBaseSrc;</pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a>.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -405,29 +243,10 @@
   GstAudioRingBuffer* (*create_ringbuffer)  (GstAudioBaseSrc *src);
 };
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> class. Override the vmethod to implement
-functionality.</p>
-<div class="refsect3">
-<a name="GstAudioBaseSrcClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioBaseSrcClass.create-ringbuffer"></a>create_ringbuffer</code></em> ()</p></td>
-<td class="struct_member_description"><p>create and return a <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to read from.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstAudioBaseSrcSlaveMethod"></a><h3>enum GstAudioBaseSrcSlaveMethod</h3>
-<p>Different possible clock slaving algorithms when the internal audio clock was
-not selected as the pipeline clock.</p>
 <div class="refsect3">
 <a name="GstAudioBaseSrcSlaveMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -439,33 +258,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-RESAMPLE:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE</p></td>
-<td class="enum_member_description">
-<p>Resample to match the master clock.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-RETIMESTAMP:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_RETIMESTAMP</p></td>
-<td class="enum_member_description">
-<p>Retimestamp output buffers with master
-clock time.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-SKEW:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_SKEW</p></td>
-<td class="enum_member_description">
-<p>Adjust capture pointer when master clock
-drifts too much.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-BASE-SRC-SLAVE-NONE:CAPS"></a>GST_AUDIO_BASE_SRC_SLAVE_NONE</p></td>
-<td class="enum_member_description">
-<p>No adjustment is done.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -526,10 +335,6 @@
 <p>Default value: GST_AUDIO_BASE_SRC_SLAVE_SKEW</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudiobasesrc.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrc"><span class="type">GstAudioSrc</span></a>, <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a>.</p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html b/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html
index b9a9f94..5d78439 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiocdsrc.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiocdsrc.top_of_page"></a>gstaudiocdsrc</span></h2>
-<p>gstaudiocdsrc — Base class for Audio CD sources</p>
+<p>gstaudiocdsrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -130,59 +130,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiocdsrc.description"></a><h2>Description</h2>
-<p>
-Provides a base class for CD digital audio (CDDA) sources, which handles
-things like seeking, querying, discid calculation, tags, and buffer
-timestamping.
-</p>
-<div class="refsect2">
-<a name="id-1.2.6.5.10.3"></a><h3>Using GstAudioCdSrc-based elements in applications</h3>
-<p>
-GstAudioCdSrc registers two <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>s of its own, namely
-the "track" format and the "sector" format. Applications will usually
-only find the "track" format interesting. You can retrieve that <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>
-for use in seek events or queries with gst_format_get_by_nick("track").
-</p>
-<p>
-In order to query the number of tracks, for example, an application would
-set the CDDA source element to READY or PAUSED state and then query the
-the number of tracks via <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-query-duration"><code class="function">gst_element_query_duration()</code></a> using the track
-format acquired above. Applications can query the currently playing track
-in the same way.
-</p>
-<p>
-Alternatively, applications may retrieve the currently playing track and
-the total number of tracks from the taglist that will posted on the bus
-whenever the CD is opened or the currently playing track changes. The
-taglist will contain GST_TAG_TRACK_NUMBER and GST_TAG_TRACK_COUNT tags.
-</p>
-<p>
-Applications playing back CD audio using playbin and cdda://n URIs should
-issue a seek command in track format to change between tracks, rather than
-setting a new cdda://n+1 URI on playbin (as setting a new URI on playbin
-involves closing and re-opening the CD device, which is much much slower).
-</p>
-<div class="refsect2"><a name="id-1.2.6.5.10.3.6"></a></div>
-<p>
-CDDA sources will automatically emit a number of tags, details about which
-can be found in the libgsttag documentation. Those tags are:
-<a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-CDDB-DISCID:CAPS" title="GST_TAG_CDDA_CDDB_DISCID"><span class="type">GST_TAG_CDDA_CDDB_DISCID</span></a>, <a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-CDDB-DISCID-FULL:CAPS" title="GST_TAG_CDDA_CDDB_DISCID_FULL"><span class="type">GST_TAG_CDDA_CDDB_DISCID_FULL</span></a>,
-<a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-MUSICBRAINZ-DISCID:CAPS" title="GST_TAG_CDDA_MUSICBRAINZ_DISCID"><span class="type">GST_TAG_CDDA_MUSICBRAINZ_DISCID</span></a>, <a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-MUSICBRAINZ-DISCID-FULL:CAPS" title="GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL"><span class="type">GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL</span></a>,
-among others.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.6.5.10.4"></a><h3>Tracks and Table of Contents (TOC)</h3>
-<p>
-Applications will be informed of the available tracks via a TOC message
-on the pipeline's <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a>. The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#GstToc-struct"><span class="type">GstToc</span></a> will contain a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#GstTocEntry-struct"><span class="type">GstTocEntry</span></a> for
-each track, with information about each track. The duration for each
-track can be retrieved via the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-DURATION:CAPS"><span class="type">GST_TAG_DURATION</span></a> tag from each entry's
-tag list, or calculated via <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#gst-toc-entry-get-start-stop-times"><code class="function">gst_toc_entry_get_start_stop_times()</code></a>.
-The track entries in the TOC will be sorted by track number.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiocdsrc.functions_details"></a><h2>Functions</h2>
@@ -191,37 +138,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_cd_src_add_track (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc"><span class="type">GstAudioCdSrc</span></a> *src</code></em>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack" title="struct GstAudioCdSrcTrack"><span class="type">GstAudioCdSrcTrack</span></a> *track</code></em>);</pre>
-<p>CDDA sources use this function from their start vfunc to announce the
-available data and audio tracks to the base source class. The caller
-should allocate <em class="parameter"><code>track</code></em>
- on the stack, the base source will do a shallow
-copy of the structure (and take ownership of the taglist if there is one).</p>
-<div class="refsect3">
-<a name="gst-audio-cd-src-add-track.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc"><span class="type">GstAudioCdSrc</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>track</p></td>
-<td class="parameter_description"><p>address of <a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack" title="struct GstAudioCdSrcTrack"><span class="type">GstAudioCdSrcTrack</span></a> to add</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-cd-src-add-track.returns"></a><h4>Returns</h4>
-<p> FALSE on error, otherwise TRUE.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -253,49 +169,6 @@
 #endif
 };
 </pre>
-<p>Audio CD source base class.</p>
-<div class="refsect3">
-<a name="GstAudioCdSrcClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstPushSrc.html#GstPushSrcClass"><span class="type">GstPushSrcClass</span></a> <em class="structfield"><code><a name="GstAudioCdSrcClass.pushsrc-class"></a>pushsrc_class</code></em>;</p></td>
-<td class="struct_member_description"><p>the parent class</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.open"></a>open</code></em> ()</p></td>
-<td class="struct_member_description"><p>opening the device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.close"></a>close</code></em> ()</p></td>
-<td class="struct_member_description"><p>closing the device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.read-sector"></a>read_sector</code></em> ()</p></td>
-<td class="struct_member_description"><p>reading a sector</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.get-default-device"></a>get_default_device</code></em> ()</p></td>
-<td class="struct_member_description"><p>getting the default device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.probe-devices"></a>probe_devices</code></em> ()</p></td>
-<td class="struct_member_description"><p>probing possible devices</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -308,54 +181,10 @@
   GstTagList  *tags;          /* NULL or tags for track (e.g. from cd-text) */
 };
 </pre>
-<p>CD track abstraction to communicate TOC entries to the base class.</p>
-<p>This structure is only for use by sub-classed in connection with
-<a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#gst-audio-cd-src-add-track" title="gst_audio_cd_src_add_track ()"><code class="function">gst_audio_cd_src_add_track()</code></a>.</p>
-<p>Applications will be informed of the available tracks via a TOC message
-on the pipeline's <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a> instead.</p>
-<div class="refsect3">
-<a name="GstAudioCdSrcTrack.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.is-audio"></a>is_audio</code></em>;</p></td>
-<td class="struct_member_description"><p>Whether this is an audio track</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.num"></a>num</code></em>;</p></td>
-<td class="struct_member_description"><p>Track number in TOC (usually starts from 1, but not always)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.start"></a>start</code></em>;</p></td>
-<td class="struct_member_description"><p>The first sector of this track (LBA)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.end"></a>end</code></em>;</p></td>
-<td class="struct_member_description"><p>The last sector of this track (LBA)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *<em class="structfield"><code><a name="GstAudioCdSrcTrack.tags"></a>tags</code></em>;</p></td>
-<td class="struct_member_description"><p>Track-specific tags (e.g. from cd-text information), or NULL</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstAudioCdSrcMode"></a><h3>enum GstAudioCdSrcMode</h3>
-<p>Mode in which the CD audio source operates. Influences timestamping,
-EOS handling and seeking.</p>
 <div class="refsect3">
 <a name="GstAudioCdSrcMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -367,17 +196,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CD-SRC-MODE-NORMAL:CAPS"></a>GST_AUDIO_CD_SRC_MODE_NORMAL</p></td>
-<td class="enum_member_description">
-<p>each single track is a stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CD-SRC-MODE-CONTINUOUS:CAPS"></a>GST_AUDIO_CD_SRC_MODE_CONTINUOUS</p></td>
-<td class="enum_member_description">
-<p>the entire disc is a single stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.html b/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.html
index b42a552..65936e5 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.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-gstaudiochannels.top_of_page"></a>gstaudiochannels</span></h2>
-<p>gstaudiochannels — Support library for audio channel handling</p>
+<p>gstaudiochannels</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -111,6 +111,14 @@
 </tr>
 <tr>
 <td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-positions-to-string" title="gst_audio_channel_positions_to_string ()">gst_audio_channel_positions_to_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelMixer" title="GstAudioChannelMixer"><span class="returnvalue">GstAudioChannelMixer</span></a> *
 </td>
 <td class="function_name">
@@ -174,7 +182,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiochannels.description"></a><h2>Description</h2>
-<p>This library contains some helper functions for multichannel audio.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiochannels.functions_details"></a><h2>Functions</h2>
@@ -191,48 +198,6 @@
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_order</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> *channel_mask</code></em>);</pre>
-<p>Convert the <em class="parameter"><code>position</code></em>
- array of <em class="parameter"><code>channels</code></em>
- channels to a bitmask.</p>
-<p>If <em class="parameter"><code>force_order</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> it additionally checks if the channels are
-in the order required by GStreamer.</p>
-<div class="refsect3">
-<a name="gst-audio-channel-positions-to-mask.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>position</p></td>
-<td class="parameter_description"><p> The <a href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition"><code class="literal">GstAudioChannelPositions</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=channels]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>The number of channels.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>force_order</p></td>
-<td class="parameter_description"><p>Only consider the GStreamer channel order.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mask</p></td>
-<td class="parameter_description"><p> the output channel mask. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-channel-positions-to-mask.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the channel positions are valid and could be converted.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -241,50 +206,6 @@
 gst_audio_channel_positions_from_mask (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>,
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> channel_mask</code></em>,
                                        <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *position</code></em>);</pre>
-<p>Convert the <em class="parameter"><code>channels</code></em>
- present in <em class="parameter"><code>channel_mask</code></em>
- to a <em class="parameter"><code>position</code></em>
- array
-(which should have at least <em class="parameter"><code>channels</code></em>
- entries ensured by caller).
-If <em class="parameter"><code>channel_mask</code></em>
- is set to 0, it is considered as 'not present' for purpose
-of conversion.
-A partially valid <em class="parameter"><code>channel_mask</code></em>
- with less bits set than the number
-of channels is considered valid.</p>
-<div class="refsect3">
-<a name="gst-audio-channel-positions-from-mask.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>channels</p></td>
-<td class="parameter_description"><p>The number of channels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mask</p></td>
-<td class="parameter_description"><p>The input channel_mask</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>position</p></td>
-<td class="parameter_description"><p> The
-<a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><code class="literal">GstAudioChannelPosition</code></a>s. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=channels]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-channel-positions-from-mask.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if channel and channel mask are valid and could be converted</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -293,68 +214,12 @@
 gst_audio_channel_positions_to_valid_order
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *position</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>);</pre>
-<p>Reorders the channel positions in <em class="parameter"><code>position</code></em>
- from any order to
-the GStreamer channel order.</p>
-<div class="refsect3">
-<a name="gst-audio-channel-positions-to-valid-order.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>position</p></td>
-<td class="parameter_description"><p> The channel positions to
-reorder to. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=channels]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>The number of channels.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-channel-positions-to-valid-order.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the channel positions are valid and reordering
-was successful.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-channel-get-fallback-mask"></a><h3>gst_audio_channel_get_fallback_mask ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 gst_audio_channel_get_fallback_mask (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>);</pre>
-<p>Get the fallback channel-mask for the given number of channels.</p>
-<p>This function returns a reasonable fallback channel-mask and should be
-called as a last resort when the specific channel map is unknown.</p>
-<div class="refsect3">
-<a name="gst-audio-channel-get-fallback-mask.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>channels</p></td>
-<td class="parameter_description"><p>the number of channels</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-channel-get-fallback-mask.returns"></a><h4>Returns</h4>
-<p> a fallback channel-mask for <em class="parameter"><code>channels</code></em>
-or 0 when there is no
-mask.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -364,44 +229,6 @@
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *position</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_order</code></em>);</pre>
-<p>Checks if <em class="parameter"><code>position</code></em>
- contains valid channel positions for
-<em class="parameter"><code>channels</code></em>
- channels. If <em class="parameter"><code>force_order</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> it additionally
-checks if the channels are in the order required by GStreamer.</p>
-<div class="refsect3">
-<a name="gst-audio-check-valid-channel-positions.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>position</p></td>
-<td class="parameter_description"><p> The <a href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition"><code class="literal">GstAudioChannelPositions</code></a>
-to check. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=channels]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>The number of channels.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>force_order</p></td>
-<td class="parameter_description"><p>Only consider the GStreamer channel order.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-check-valid-channel-positions.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the channel positions are valid.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -412,57 +239,6 @@
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>,
                                    <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *from</code></em>,
                                    <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to</code></em>);</pre>
-<p>Reorders <em class="parameter"><code>buffer</code></em>
- from the channel positions <em class="parameter"><code>from</code></em>
- to the channel
-positions <em class="parameter"><code>to</code></em>
-. <em class="parameter"><code>from</code></em>
- and <em class="parameter"><code>to</code></em>
- must contain the same number of
-positions and the same positions, only in a different order.
-<em class="parameter"><code>buffer</code></em>
- must be writable.</p>
-<div class="refsect3">
-<a name="gst-audio-buffer-reorder-channels.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>The buffer to reorder.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>The <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><code class="literal">GstAudioFormat</code></a> of the buffer.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>The number of channels.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>from</p></td>
-<td class="parameter_description"><p> The channel positions in the buffer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to</p></td>
-<td class="parameter_description"><p> The channel positions to convert to. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-buffer-reorder-channels.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the reordering was possible.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -474,61 +250,6 @@
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>,
                             <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *from</code></em>,
                             <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to</code></em>);</pre>
-<p>Reorders <em class="parameter"><code>data</code></em>
- from the channel positions <em class="parameter"><code>from</code></em>
- to the channel
-positions <em class="parameter"><code>to</code></em>
-. <em class="parameter"><code>from</code></em>
- and <em class="parameter"><code>to</code></em>
- must contain the same number of
-positions and the same positions, only in a different order.</p>
-<div class="refsect3">
-<a name="gst-audio-reorder-channels.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> The pointer to
-the memory. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>The size of the memory.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>The <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioFormat" title="enum GstAudioFormat"><code class="literal">GstAudioFormat</code></a> of the buffer.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>The number of channels.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>from</p></td>
-<td class="parameter_description"><p> The channel positions in the buffer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to</p></td>
-<td class="parameter_description"><p> The channel positions to convert to. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-reorder-channels.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the reordering was possible.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -538,55 +259,13 @@
                                    <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *from</code></em>,
                                    <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *reorder_map</code></em>);</pre>
-<p>Returns a reorder map for <em class="parameter"><code>from</code></em>
- to <em class="parameter"><code>to</code></em>
- that can be used in
-custom channel reordering code, e.g. to convert from or to the
-GStreamer channel order. <em class="parameter"><code>from</code></em>
- and <em class="parameter"><code>to</code></em>
- must contain the same
-number of positions and the same positions, only in a
-different order.</p>
-<p>The resulting <em class="parameter"><code>reorder_map</code></em>
- can be used for reordering by assigning
-channel i of the input to channel reorder_map[i] of the output.</p>
-<div class="refsect3">
-<a name="gst-audio-get-channel-reorder-map.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>channels</p></td>
-<td class="parameter_description"><p>The number of channels.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>from</p></td>
-<td class="parameter_description"><p> The channel positions to reorder from. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to</p></td>
-<td class="parameter_description"><p> The channel positions to reorder to. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reorder_map</p></td>
-<td class="parameter_description"><p> Pointer to the reorder map. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
 </div>
-<div class="refsect3">
-<a name="gst-audio-get-channel-reorder-map.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the channel positions are valid and reordering
-is possible.</p>
-</div>
+<hr>
+<div class="refsect2">
+<a name="gst-audio-channel-positions-to-string"></a><h3>gst_audio_channel_positions_to_string ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+gst_audio_channel_positions_to_string (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *position</code></em>,
+                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> channels</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -604,23 +283,6 @@
 <a name="gst-audio-channel-mixer-free"></a><h3>gst_audio_channel_mixer_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_channel_mixer_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelMixer" title="GstAudioChannelMixer"><span class="type">GstAudioChannelMixer</span></a> *mix</code></em>);</pre>
-<p>Free memory allocated by <em class="parameter"><code>mix</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-channel-mixer-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mix</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelMixer" title="GstAudioChannelMixer"><span class="type">GstAudioChannelMixer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -628,28 +290,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_channel_mixer_is_passthrough
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelMixer" title="GstAudioChannelMixer"><span class="type">GstAudioChannelMixer</span></a> *mix</code></em>);</pre>
-<p>Check if <em class="parameter"><code>mix</code></em>
- is in passthrough.</p>
-<div class="refsect3">
-<a name="gst-audio-channel-mixer-is-passthrough.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mix</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelMixer" title="GstAudioChannelMixer"><span class="type">GstAudioChannelMixer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-channel-mixer-is-passthrough.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is <em class="parameter"><code>mix</code></em>
-is passthrough.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -659,82 +299,12 @@
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> in[]</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> out[]</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> samples</code></em>);</pre>
-<p>In case the samples are interleaved, <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- must point to an
-array with a single element pointing to a block of interleaved samples.</p>
-<p>If non-interleaved samples are used, <em class="parameter"><code>in</code></em>
- and <em class="parameter"><code>out</code></em>
- must point to an
-array with pointers to memory blocks, one for each channel.</p>
-<p>Perform channel mixing on <em class="parameter"><code>in_data</code></em>
- and write the result to <em class="parameter"><code>out_data</code></em>
-.
-<em class="parameter"><code>in_data</code></em>
- and <em class="parameter"><code>out_data</code></em>
- need to be in <em class="parameter"><code>format</code></em>
- and <em class="parameter"><code>layout</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-channel-mixer-samples.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mix</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelMixer" title="GstAudioChannelMixer"><span class="type">GstAudioChannelMixer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in</p></td>
-<td class="parameter_description"><p>input samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out</p></td>
-<td class="parameter_description"><p>output samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>samples</p></td>
-<td class="parameter_description"><p>number of samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiochannels.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstAudioChannelPosition"></a><h3>enum GstAudioChannelPosition</h3>
-<p>Audio channel positions.</p>
-<p>These are the channels defined in SMPTE 2036-2-2008
-Table 1 for 22.2 audio systems with the Surround and Wide channels from
-DTS Coherent Acoustics (v.1.3.1) and 10.2 and 7.1 layouts. In the caps the
-actual channel layout is expressed with a channel count and a channel mask,
-which describes the existing channels. The positions in the bit mask correspond
-to the enum values.
-For negotiation it is allowed to have more bits set in the channel mask than
-the number of channels to specify the allowed channel positions but this is
-not allowed in negotiated caps. It is not allowed in any situation other
-than the one mentioned below to have less bits set in the channel mask than
-the number of channels.</p>
-<p><em class="parameter"><code>GST_AUDIO_CHANNEL_POSITION_MONO</code></em>
- can only be used with a single mono channel that
-has no direction information and would be mixed into all directional channels.
-This is expressed in caps by having a single channel and no channel mask.</p>
-<p><em class="parameter"><code>GST_AUDIO_CHANNEL_POSITION_NONE</code></em>
- can only be used if all channels have this position.
-This is expressed in caps by having a channel mask with no bits set.</p>
-<p>As another special case it is allowed to have two channels without a channel mask.
-This implicitely means that this is a stereo stream with a front left and front right
-channel.</p>
 <div class="refsect3">
 <a name="GstAudioChannelPosition.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -746,223 +316,158 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-NONE:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_NONE</p></td>
-<td class="enum_member_description">
-<p>used for position-less channels, e.g.
-    from a sound card that records 1024 channels; mutually exclusive with
-    any other channel position</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-MONO:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_MONO</p></td>
-<td class="enum_member_description">
-<p>Mono without direction;
-    can only be used with 1 channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-INVALID:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_INVALID</p></td>
-<td class="enum_member_description">
-<p>invalid position</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT</p></td>
-<td class="enum_member_description">
-<p>Front left</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Front right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER</p></td>
-<td class="enum_member_description">
-<p>Front center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-LFE1:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_LFE1</p></td>
-<td class="enum_member_description">
-<p>Low-frequency effects 1 (subwoofer)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-REAR-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_REAR_LEFT</p></td>
-<td class="enum_member_description">
-<p>Rear left</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-REAR-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Rear right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-LEFT-OF-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER</p></td>
-<td class="enum_member_description">
-<p>Front left of center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-RIGHT-OF-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER</p></td>
-<td class="enum_member_description">
-<p>Front right of center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-REAR-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_REAR_CENTER</p></td>
-<td class="enum_member_description">
-<p>Rear center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-LFE2:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_LFE2</p></td>
-<td class="enum_member_description">
-<p>Low-frequency effects 2 (subwoofer)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-SIDE-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT</p></td>
-<td class="enum_member_description">
-<p>Side left</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-SIDE-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Side right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-FRONT-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_LEFT</p></td>
-<td class="enum_member_description">
-<p>Top front left</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-FRONT-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Top front right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-FRONT-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_CENTER</p></td>
-<td class="enum_member_description">
-<p>Top front center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_CENTER</p></td>
-<td class="enum_member_description">
-<p>Top center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-REAR-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_REAR_LEFT</p></td>
-<td class="enum_member_description">
-<p>Top rear left</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-REAR-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_REAR_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Top rear right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-SIDE-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_LEFT</p></td>
-<td class="enum_member_description">
-<p>Top side right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-SIDE-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Top rear right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-TOP-REAR-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_TOP_REAR_CENTER</p></td>
-<td class="enum_member_description">
-<p>Top rear center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-BOTTOM-FRONT-CENTER:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_CENTER</p></td>
-<td class="enum_member_description">
-<p>Bottom front center</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-BOTTOM-FRONT-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_LEFT</p></td>
-<td class="enum_member_description">
-<p>Bottom front left</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-BOTTOM-FRONT-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Bottom front right</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-WIDE-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_WIDE_LEFT</p></td>
-<td class="enum_member_description">
-<p>Wide left (between front left and side left)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-WIDE-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_WIDE_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Wide right (between front right and side right)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-SURROUND-LEFT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_SURROUND_LEFT</p></td>
-<td class="enum_member_description">
-<p>Surround left (between rear left and side left)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-POSITION-SURROUND-RIGHT:CAPS"></a>GST_AUDIO_CHANNEL_POSITION_SURROUND_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Surround right (between rear right and side right)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -976,7 +481,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioChannelMixerFlags"></a><h3>enum GstAudioChannelMixerFlags</h3>
-<p>Flags passed to <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mixer-new" title="gst_audio_channel_mixer_new ()"><code class="function">gst_audio_channel_mixer_new()</code></a></p>
 <div class="refsect3">
 <a name="GstAudioChannelMixerFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -988,38 +492,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-MIXER-FLAGS-NONE:CAPS"></a>GST_AUDIO_CHANNEL_MIXER_FLAGS_NONE</p></td>
-<td class="enum_member_description">
-<p>no flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-MIXER-FLAGS-NON-INTERLEAVED-IN:CAPS"></a>GST_AUDIO_CHANNEL_MIXER_FLAGS_NON_INTERLEAVED_IN</p></td>
-<td class="enum_member_description">
-<p>input channels are not interleaved</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-MIXER-FLAGS-NON-INTERLEAVED-OUT:CAPS"></a>GST_AUDIO_CHANNEL_MIXER_FLAGS_NON_INTERLEAVED_OUT</p></td>
-<td class="enum_member_description">
-<p>output channels are not interleaved</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-MIXER-FLAGS-UNPOSITIONED-IN:CAPS"></a>GST_AUDIO_CHANNEL_MIXER_FLAGS_UNPOSITIONED_IN</p></td>
-<td class="enum_member_description">
-<p>input channels are explicitly unpositioned</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-CHANNEL-MIXER-FLAGS-UNPOSITIONED-OUT:CAPS"></a>GST_AUDIO_CHANNEL_MIXER_FLAGS_UNPOSITIONED_OUT</p></td>
-<td class="enum_member_description">
-<p>output channels are explicitly unpositioned</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudioclock.html b/docs/libs/html/gst-plugins-base-libs-gstaudioclock.html
index 98794f2..2ffbf4f 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudioclock.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudioclock.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudioclock.top_of_page"></a>gstaudioclock</span></h2>
-<p>gstaudioclock — Helper object for implementing audio clocks</p>
+<p>gstaudioclock</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -121,9 +121,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioclock.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a> makes it easy for elements to implement a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a>, they
-simply need to provide a function that returns the current clock time.</p>
-<p>This object is internally used to implement the clock in <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a>.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioclock.functions_details"></a><h2>Functions</h2>
@@ -132,36 +129,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 <span class="c_punctuation">(</span>*GstAudioClockGetTimeFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> *clock</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>This function will be called whenever the current clock time needs to be
-calculated. If this function returns <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a>, the last reported
-time will be returned by the clock.</p>
-<div class="refsect3">
-<a name="GstAudioClockGetTimeFunc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>clock</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a></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</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="GstAudioClockGetTimeFunc.returns"></a><h4>Returns</h4>
-<p> the current time or <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a> if the previous time should
-be used.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -171,49 +138,6 @@
                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClockGetTimeFunc" title="GstAudioClockGetTimeFunc ()"><span class="type">GstAudioClockGetTimeFunc</span></a> func</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_notify</code></em>);</pre>
-<p>Create a new <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a> instance. Whenever the clock time should be
-calculated it will call <em class="parameter"><code>func</code></em>
- with <em class="parameter"><code>user_data</code></em>
-. When <em class="parameter"><code>func</code></em>
- returns
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><span class="type">GST_CLOCK_TIME_NONE</span></a>, the clock will return the last reported time.</p>
-<div class="refsect3">
-<a name="gst-audio-clock-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>name</p></td>
-<td class="parameter_description"><p>the name of the clock</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>func</p></td>
-<td class="parameter_description"><p>a function</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</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>destroy_notify</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> for <em class="parameter"><code>user_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-clock-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a> casted to a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -221,62 +145,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_audio_clock_adjust (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> *clock</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>);</pre>
-<p>Adjust <em class="parameter"><code>time</code></em>
- with the internal offset of the audio clock.</p>
-<div class="refsect3">
-<a name="gst-audio-clock-adjust.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>clock</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>time</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-clock-adjust.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>time</code></em>
-adjusted with the internal offset.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-clock-get-time"></a><h3>gst_audio_clock_get_time ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_audio_clock_get_time (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
-<p>Report the time as returned by the <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClockGetTimeFunc" title="GstAudioClockGetTimeFunc ()"><span class="type">GstAudioClockGetTimeFunc</span></a> without applying
-any offsets.</p>
-<div class="refsect3">
-<a name="gst-audio-clock-get-time.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>clock</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-clock-get-time.returns"></a><h4>Returns</h4>
-<p> the time as reported by the time function of the audio clock</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -284,61 +158,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_clock_reset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a> *clock</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> time</code></em>);</pre>
-<p>Inform <em class="parameter"><code>clock</code></em>
- that future calls to <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClockGetTimeFunc" title="GstAudioClockGetTimeFunc ()"><span class="type">GstAudioClockGetTimeFunc</span></a> will return values
-starting from <em class="parameter"><code>time</code></em>
-. The clock will update an internal offset to make sure that
-future calls to internal_time will return an increasing result as required by
-the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> object.</p>
-<div class="refsect3">
-<a name="gst-audio-clock-reset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>clock</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>time</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-clock-invalidate"></a><h3>gst_audio_clock_invalidate ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_clock_invalidate (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClock-struct"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
-<p>Invalidate the clock function. Call this function when the provided
-<a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClockGetTimeFunc" title="GstAudioClockGetTimeFunc ()"><span class="type">GstAudioClockGetTimeFunc</span></a> cannot be called anymore, for example, when the
-user_data becomes invalid.</p>
-<p>After calling this function, <em class="parameter"><code>clock</code></em>
- will return the last returned time for
-the rest of its lifetime.</p>
-<div class="refsect3">
-<a name="gst-audio-clock-invalidate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>clock</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -346,13 +171,8 @@
 <div class="refsect2">
 <a name="GstAudioClock-struct"></a><h3>struct GstAudioClock</h3>
 <pre class="programlisting">struct GstAudioClock;</pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gstaudioclock.html#GstAudioClock"><span class="type">GstAudioClock</span></a>.</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudioclock.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSystemClock.html#GstSystemClock-struct"><span class="type">GstSystemClock</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html b/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html
index 510633f..956ebec 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiodecoder.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiodecoder.top_of_page"></a>gstaudiodecoder</span></h2>
-<p>gstaudiodecoder — Base class for audio decoders</p>
+<p>gstaudiodecoder</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -356,221 +356,24 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiodecoder.description"></a><h2>Description</h2>
-<p>This base class is for audio decoders turning encoded data into
-raw audio samples.</p>
-<p>GstAudioDecoder and subclass should cooperate as follows.</p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Configuration</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-    Initially, GstAudioDecoder calls <em class="parameter"><code>start</code></em> when the decoder element
-    is activated, which allows subclass to perform any global setup.
-    Base class (context) parameters can already be set according to subclass
-    capabilities (or possibly upon receive more information in subsequent
-    <em class="parameter"><code>set_format</code></em>).
-  </p></li>
-<li class="listitem"><p>
-    GstAudioDecoder calls <em class="parameter"><code>set_format</code></em> to inform subclass of the format
-    of input audio data that it is about to receive.
-    While unlikely, it might be called more than once, if changing input
-    parameters require reconfiguration.
-  </p></li>
-<li class="listitem"><p>
-    GstAudioDecoder calls <em class="parameter"><code>stop</code></em> at end of all processing.
-  </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Data processing</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-      Base class gathers input data, and optionally allows subclass
-      to parse this into subsequently manageable (as defined by subclass)
-      chunks.  Such chunks are subsequently referred to as 'frames',
-      though they may or may not correspond to 1 (or more) audio format frame.
-    </p></li>
-<li class="listitem"><p>
-      Input frame is provided to subclass' <em class="parameter"><code>handle_frame</code></em>.
-    </p></li>
-<li class="listitem"><p>
-      If codec processing results in decoded data, subclass should call
-      <em class="parameter"><code>gst_audio_decoder_finish_frame</code></em> to have decoded data pushed
-      downstream.
-    </p></li>
-<li class="listitem"><p>
-      Just prior to actually pushing a buffer downstream,
-      it is passed to <em class="parameter"><code>pre_push</code></em>.  Subclass should either use this callback
-      to arrange for additional downstream pushing or otherwise ensure such
-      custom pushing occurs after at least a method call has finished since
-      setting src pad caps.
-    </p></li>
-<li class="listitem"><p>
-      During the parsing process GstAudioDecoderClass will handle both
-      srcpad and sinkpad events. Sink events will be passed to subclass
-      if <em class="parameter"><code>event</code></em> callback has been provided.
-    </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Shutdown phase</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-    GstAudioDecoder class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
-    parsing will be stopped.
-  </p></li></ul>
-</div></li>
-</ol></div>
-<p>Subclass is responsible for providing pad template caps for
-source and sink pads. The pads need to be named "sink" and "src". It also
-needs to set the fixed caps on srcpad, when the format is ensured.  This
-is typically when base class calls subclass' <em class="parameter"><code>set_format</code></em>
- function, though
-it might be delayed until calling <em class="parameter"><code>gst_audio_decoder_finish_frame</code></em>
-.</p>
-<p>In summary, above process should have subclass concentrating on
-codec data processing while leaving other matters to base class,
-such as most notably timestamp handling.  While it may exert more control
-in this area (see e.g. <em class="parameter"><code>pre_push</code></em>
-), it is very much not recommended.</p>
-<p>In particular, base class will try to arrange for perfect output timestamps
-as much as possible while tracking upstream timestamps.
-To this end, if deviation between the next ideal expected perfect timestamp
-and upstream exceeds <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder--tolerance" title="The “tolerance” property"><span class="type">“tolerance”</span></a>, then resync to upstream
-occurs (which would happen always if the tolerance mechanism is disabled).</p>
-<p>In non-live pipelines, baseclass can also (configurably) arrange for
-output buffer aggregation which may help to redue large(r) numbers of
-small(er) buffers being pushed and processed downstream.</p>
-<p>On the other hand, it should be noted that baseclass only provides limited
-seeking support (upon explicit subclass request), as full-fledged support
-should rather be left to upstream demuxer, parser or alike.  This simple
-approach caters for seeking and duration reporting using estimated input
-bitrates.</p>
-<p>Things that subclass need to take care of:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Provide pad templates</p></li>
-<li class="listitem"><p>
-     Set source pad caps when appropriate
-  </p></li>
-<li class="listitem"><p>
-     Set user-configurable properties to sane defaults for format and
-     implementing codec at hand, and convey some subclass capabilities and
-     expectations in context.
-  </p></li>
-<li class="listitem"><p>
-     Accept data in <em class="parameter"><code>handle_frame</code></em> and provide encoded results to
-     <em class="parameter"><code>gst_audio_decoder_finish_frame</code></em>.  If it is prepared to perform
-     PLC, it should also accept NULL data in <em class="parameter"><code>handle_frame</code></em> and provide for
-     data for indicated duration.
-  </p></li>
-</ul></div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiodecoder.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="GST-AUDIO-DECODER-ERROR:CAPS"></a><h3>GST_AUDIO_DECODER_ERROR()</h3>
 <pre class="programlisting">#define             GST_AUDIO_DECODER_ERROR(el, weight, domain, code, text, debug, ret)</pre>
-<p>Utility function that audio decoder elements can use in case they encountered
-a data processing error that may be fatal for the current "data unit" but
-need not prevent subsequent decoding.  Such errors are counted and if there
-are too many, as configured in the context's max_errors, the pipeline will
-post an error message and the application will be requested to stop further
-media processing.  Otherwise, it is considered a "glitch" and only a warning
-is logged. In either case, <em class="parameter"><code>ret</code></em>
- is set to the proper value to
-return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK).</p>
-<div class="refsect3">
-<a name="GST-AUDIO-DECODER-ERROR.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>el</p></td>
-<td class="parameter_description"><p>the base audio decoder element that generates the error</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>weight</p></td>
-<td class="parameter_description"><p>element defined weight of the error, added to error count</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>domain</p></td>
-<td class="parameter_description"><p>like CORE, LIBRARY, RESOURCE or STREAM (see <span class="type">gstreamer-GstGError</span>)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>code</p></td>
-<td class="parameter_description"><p>error code defined for that domain (see <span class="type">gstreamer-GstGError</span>)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p>the message to display (format string and args enclosed in
-parentheses)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>debug</p></td>
-<td class="parameter_description"><p>debugging information for the message (format string and args
-enclosed in parentheses)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ret</p></td>
-<td class="parameter_description"><p>variable to receive return value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-DECODER-SINK-PAD:CAPS"></a><h3>GST_AUDIO_DECODER_SINK_PAD()</h3>
 <pre class="programlisting">#define GST_AUDIO_DECODER_SINK_PAD(obj)        (((GstAudioDecoder *) (obj))-&gt;sinkpad)
 </pre>
-<p>Gives the pointer to the sink <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-DECODER-SINK-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>base audio codec instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-DECODER-SRC-PAD:CAPS"></a><h3>GST_AUDIO_DECODER_SRC_PAD()</h3>
 <pre class="programlisting">#define GST_AUDIO_DECODER_SRC_PAD(obj)         (((GstAudioDecoder *) (obj))-&gt;srcpad)
 </pre>
-<p>Gives the pointer to the source <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-DECODER-SRC-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>base audio codec instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -579,47 +382,6 @@
 gst_audio_decoder_finish_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> frames</code></em>);</pre>
-<p>Collects decoded data and pushes it downstream.</p>
-<p><em class="parameter"><code>buf</code></em>
- may be NULL in which case the indicated number of frames
-are discarded and considered to have produced no output
-(e.g. lead-in or setup frames).
-Otherwise, source pad caps must be set when it is called with valid
-data in <em class="parameter"><code>buf</code></em>
-.</p>
-<p>Note that a frame received in <code class="function">gst_audio_decoder_handle_frame()</code> may be
-invalidated by a call to this function.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-finish-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>decoded data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frames</p></td>
-<td class="parameter_description"><p>number of decoded frames represented by decoded data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-finish-frame.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that should be escalated to caller (of caller)</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -627,62 +389,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_decoder_set_output_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                      <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> *info</code></em>);</pre>
-<p>Configure output info on the srcpad of <em class="parameter"><code>dec</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-output-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-output-format.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-negotiate"></a><h3>gst_audio_decoder_negotiate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_decoder_negotiate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<p>Negotiate with downstream elements to currently configured <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a>.
-Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
-negotiate fails.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-negotiate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-negotiate.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the negotiation succeeded, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -691,36 +403,6 @@
 gst_audio_decoder_allocate_output_buffer
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
-<p>Helper function that allocates a buffer to hold an audio frame
-for <em class="parameter"><code>dec</code></em>
-'s current output format.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-allocate-output-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>size of the buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-allocate-output-buffer.returns"></a><h4>Returns</h4>
-<p> allocated buffer. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -729,144 +411,30 @@
 gst_audio_decoder_get_allocator (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a> **allocator</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
-<p>Lets <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
-
-used by the base class and its <em class="parameter"><code>params</code></em>
-.</p>
-<p>Unref the <em class="parameter"><code>allocator</code></em>
- after use it.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-allocator.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>allocator</p></td>
-<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a>
-used. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>params</p></td>
-<td class="parameter_description"><p> the
-<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-audio-info"></a><h3>gst_audio_decoder_get_audio_info ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="returnvalue">GstAudioInfo</span></a> *
 gst_audio_decoder_get_audio_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-audio-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-audio-info.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> describing the input audio format</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-estimate-rate"></a><h3>gst_audio_decoder_get_estimate_rate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_decoder_get_estimate_rate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-estimate-rate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-estimate-rate.returns"></a><h4>Returns</h4>
-<p> currently configured byte to time conversion setting</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-delay"></a><h3>gst_audio_decoder_get_delay ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_decoder_get_delay (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-delay.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-delay.returns"></a><h4>Returns</h4>
-<p> currently configured decoder delay</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-drainable"></a><h3>gst_audio_decoder_get_drainable ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_decoder_get_drainable (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<p>Queries decoder drain handling.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-drainable.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-drainable.returns"></a><h4>Returns</h4>
-<p> TRUE if drainable handling is enabled.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -875,116 +443,24 @@
 gst_audio_decoder_get_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max</code></em>);</pre>
-<p>Sets the variables pointed to by <em class="parameter"><code>min</code></em>
- and <em class="parameter"><code>max</code></em>
- to the currently configured
-latency.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min</p></td>
-<td class="parameter_description"><p> a pointer to storage to hold minimum latency. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p> a pointer to storage to hold maximum latency. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-max-errors"></a><h3>gst_audio_decoder_get_max_errors ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_decoder_get_max_errors (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-max-errors.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-max-errors.returns"></a><h4>Returns</h4>
-<p> currently configured decoder tolerated error count.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-min-latency"></a><h3>gst_audio_decoder_get_min_latency ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_audio_decoder_get_min_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<p>Queries decoder's latency aggregation.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-min-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-min-latency.returns"></a><h4>Returns</h4>
-<p> aggregation latency.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-needs-format"></a><h3>gst_audio_decoder_get_needs_format ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_decoder_get_needs_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<p>Queries decoder required format handling.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-needs-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-needs-format.returns"></a><h4>Returns</h4>
-<p> TRUE if required format handling is enabled.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -993,113 +469,24 @@
 gst_audio_decoder_get_parse_state (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *sync</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *eos</code></em>);</pre>
-<p>Return current parsing (sync and eos) state.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-parse-state.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sync</p></td>
-<td class="parameter_description"><p>a pointer to a variable to hold the current sync state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>eos</p></td>
-<td class="parameter_description"><p>a pointer to a variable to hold the current eos state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-plc"></a><h3>gst_audio_decoder_get_plc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_decoder_get_plc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<p>Queries decoder packet loss concealment handling.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-plc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-plc.returns"></a><h4>Returns</h4>
-<p> TRUE if packet loss concealment is enabled.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-plc-aware"></a><h3>gst_audio_decoder_get_plc_aware ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_decoder_get_plc_aware (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-plc-aware.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-plc-aware.returns"></a><h4>Returns</h4>
-<p> currently configured plc handling</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-decoder-get-tolerance"></a><h3>gst_audio_decoder_get_tolerance ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_audio_decoder_get_tolerance (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>);</pre>
-<p>Queries current audio jitter tolerance threshold.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-tolerance.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-get-tolerance.returns"></a><h4>Returns</h4>
-<p> decoder audio jitter tolerance threshold.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1107,29 +494,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_estimate_rate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Allows baseclass to perform byte to time estimated conversion.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-estimate-rate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>whether to enable byte to time conversion</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1137,33 +501,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_drainable (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Configures decoder drain handling.  If drainable, subclass might
-be handed a NULL buffer to have it return any leftover decoded data.
-Otherwise, it is not considered so capable and will only ever be passed
-real data.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-drainable.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1172,34 +509,6 @@
 gst_audio_decoder_set_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max</code></em>);</pre>
-<p>Sets decoder latency.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min</p></td>
-<td class="parameter_description"><p>minimum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p>maximum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1207,32 +516,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_max_errors (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
-<p>Sets numbers of tolerated decoder errors, where a tolerated one is then only
-warned about, but more than tolerated will lead to fatal error. You can set
--1 for never returning fatal errors. Default is set to
-GST_AUDIO_DECODER_MAX_ERRORS.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-max-errors.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num</p></td>
-<td class="parameter_description"><p>max tolerated errors</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1240,30 +523,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_min_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> num</code></em>);</pre>
-<p>Sets decoder minimum aggregation latency.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-min-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num</p></td>
-<td class="parameter_description"><p>new minimum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1271,35 +530,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_needs_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Configures decoder format needs.  If enabled, subclass needs to be
-negotiated with format caps before it can process any data.  It will then
-never be handed any data before it has been configured.
-Otherwise, it might be handed data without having been configured and
-is then expected being able to do so either by default
-or based on the input data.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-needs-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1307,31 +537,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_plc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Enable or disable decoder packet loss concealment, provided subclass
-and codec are capable and allow handling plc.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-plc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1339,29 +544,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_plc_aware (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> plc</code></em>);</pre>
-<p>Indicates whether or not subclass handles packet loss concealment (plc).</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-plc-aware.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>plc</p></td>
-<td class="parameter_description"><p>new plc state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1369,30 +551,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_decoder_set_tolerance (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> tolerance</code></em>);</pre>
-<p>Configures decoder audio jitter tolerance threshold.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-set-tolerance.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tolerance</p></td>
-<td class="parameter_description"><p>new tolerance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1401,38 +559,6 @@
 gst_audio_decoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *dec</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Sets the audio decoder tags and how they should be merged with any
-upstream stream tags. This will override any tags previously-set
-with <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-merge-tags" title="gst_audio_decoder_merge_tags ()"><code class="function">gst_audio_decoder_merge_tags()</code></a>.</p>
-<p>Note that this is provided for convenience, and the subclass is
-not required to use this and can still do tag handling on its own.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-merge-tags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dec</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> to merge, or NULL. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1441,44 +567,6 @@
 gst_audio_decoder_proxy_getcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> *decoder</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *filter</code></em>);</pre>
-<p>Returns caps that express <em class="parameter"><code>caps</code></em>
- (or sink template caps if <em class="parameter"><code>caps</code></em>
- == NULL)
-restricted to rate/channels/... combinations supported by downstream
-elements.</p>
-<div class="refsect3">
-<a name="gst-audio-decoder-proxy-getcaps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decoder</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p> initial caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>filter</p></td>
-<td class="parameter_description"><p> filter caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-decoder-proxy-getcaps.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> owned by caller. </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>
 </div>
 <div class="refsect1">
@@ -1486,7 +574,6 @@
 <div class="refsect2">
 <a name="GstAudioDecoder-struct"></a><h3>struct GstAudioDecoder</h3>
 <pre class="programlisting">struct GstAudioDecoder;</pre>
-<p>The opaque <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder"><span class="type">GstAudioDecoder</span></a> data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1542,187 +629,18 @@
                                        GstMeta *meta, GstBuffer *inbuf);
 };
 </pre>
-<p>Subclasses can override any of the available virtual methods or not, as
-needed. At minimum <em class="parameter"><code>handle_frame</code></em>
- (and likely <em class="parameter"><code>set_format</code></em>
-) needs to be
-overridden.</p>
-<div class="refsect3">
-<a name="GstAudioDecoderClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstAudioDecoderClass.element-class"></a>element_class</code></em>;</p></td>
-<td class="struct_member_description"><p>The parent class structure</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.start"></a>start</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element starts processing.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.stop"></a>stop</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element stops processing.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.set-format"></a>set_format</code></em> ()</p></td>
-<td class="struct_member_description"><p>Notifies subclass of incoming data format (caps).</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.parse"></a>parse</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows chopping incoming data into manageable units (frames)
-for subsequent decoding.  This division is at subclass
-discretion and may or may not correspond to 1 (or more)
-frames as defined by audio format.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.handle-frame"></a>handle_frame</code></em> ()</p></td>
-<td class="struct_member_description"><p>Provides input data (or NULL to clear any remaining data)
-to subclass.  Input data ref management is performed by
-base class, subclass should not care or intervene,
-and input data is only valid until next call to base class,
-most notably a call to <a class="link" href="gst-plugins-base-libs-gstaudiodecoder.html#gst-audio-decoder-finish-frame" title="gst_audio_decoder_finish_frame ()"><code class="function">gst_audio_decoder_finish_frame()</code></a>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.flush"></a>flush</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Instructs subclass to clear any codec caches and discard
-any pending samples and not yet returned decoded data.
-<em class="parameter"><code>hard</code></em>
-indicates whether a FLUSH is being processed,
-or otherwise a DISCONT (or conceptually similar).</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.pre-push"></a>pre_push</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called just prior to pushing (encoded data) buffer downstream.
-Subclass has full discretionary access to buffer,
-and a not OK flow return will abort downstream pushing.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.sink-event"></a>sink_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the sink pad. Subclasses should chain up to
-the parent implementation to invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.src-event"></a>src_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the src pad. Subclasses should chain up to
-the parent implementation to invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.open"></a>open</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_READY.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.close"></a>close</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_NULL.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.negotiate"></a>negotiate</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Negotiate with downstream and configure buffer pools, etc.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.decide-allocation"></a>decide_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Setup the allocation parameters for allocating output
-buffers. The passed in query contains the result of the
-downstream allocation query.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.propose-allocation"></a>propose_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Propose buffer allocation parameters for upstream elements.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.sink-query"></a>sink_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the sink pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.src-query"></a>src_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the source pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.getcaps"></a>getcaps</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows for a custom sink getcaps implementation.
-If not implemented,
-default returns gst_audio_decoder_proxy_getcaps
-applied to sink template caps.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioDecoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
-output buffer. By default this method copies all meta without
-tags and meta with only the "audio" tag. subclasses can
-implement this method and return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
-copied. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-DECODER-SINK-NAME:CAPS"></a><h3>GST_AUDIO_DECODER_SINK_NAME</h3>
 <pre class="programlisting">#define GST_AUDIO_DECODER_SINK_NAME    "sink"
 </pre>
-<p>The name of the templates for the sink pad.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-DECODER-SRC-NAME:CAPS"></a><h3>GST_AUDIO_DECODER_SRC_NAME</h3>
 <pre class="programlisting">#define GST_AUDIO_DECODER_SRC_NAME     "src"
 </pre>
-<p>The name of the templates for the source pad.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1753,10 +671,6 @@
 <p>Default value: 0</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudiodecoder.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html b/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html
index c9a13fb..5288067 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudioencoder.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudioencoder.top_of_page"></a>gstaudioencoder</span></h2>
-<p>gstaudioencoder — Base class for audio encoders</p>
+<p>gstaudioencoder</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -386,118 +386,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioencoder.description"></a><h2>Description</h2>
-<p>This base class is for audio encoders turning raw audio samples into
-encoded audio data.</p>
-<p>GstAudioEncoder and subclass should cooperate as follows.</p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Configuration</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-    Initially, GstAudioEncoder calls <em class="parameter"><code>start</code></em> when the encoder element
-    is activated, which allows subclass to perform any global setup.
-  </p></li>
-<li class="listitem"><p>
-    GstAudioEncoder calls <em class="parameter"><code>set_format</code></em> to inform subclass of the format
-    of input audio data that it is about to receive.  Subclass should
-    setup for encoding and configure various base class parameters
-    appropriately, notably those directing desired input data handling.
-    While unlikely, it might be called more than once, if changing input
-    parameters require reconfiguration.
-  </p></li>
-<li class="listitem"><p>
-    GstAudioEncoder calls <em class="parameter"><code>stop</code></em> at end of all processing.
-  </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Data processing</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-      Base class gathers input sample data (as directed by the context's
-      frame_samples and frame_max) and provides this to subclass' <em class="parameter"><code>handle_frame</code></em>.
-    </p></li>
-<li class="listitem"><p>
-      If codec processing results in encoded data, subclass should call
-      <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-finish-frame" title="gst_audio_encoder_finish_frame ()"><code class="function">gst_audio_encoder_finish_frame()</code></a> to have encoded data pushed
-      downstream. Alternatively, it might also call
-      <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-finish-frame" title="gst_audio_encoder_finish_frame ()"><code class="function">gst_audio_encoder_finish_frame()</code></a> (with a NULL buffer and some number of
-      dropped samples) to indicate dropped (non-encoded) samples.
-    </p></li>
-<li class="listitem"><p>
-      Just prior to actually pushing a buffer downstream,
-      it is passed to <em class="parameter"><code>pre_push</code></em>.
-    </p></li>
-<li class="listitem"><p>
-      During the parsing process GstAudioEncoderClass will handle both
-      srcpad and sinkpad events. Sink events will be passed to subclass
-      if <em class="parameter"><code>event</code></em> callback has been provided.
-    </p></li>
-</ul>
-</div></li>
-<li class="listitem"><div class="itemizedlist">
-<p class="title"><b>Shutdown phase</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-    GstAudioEncoder class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
-    parsing will be stopped.
-  </p></li></ul>
-</div></li>
-</ol></div>
-<p>Subclass is responsible for providing pad template caps for
-source and sink pads. The pads need to be named "sink" and "src". It also
-needs to set the fixed caps on srcpad, when the format is ensured.  This
-is typically when base class calls subclass' <em class="parameter"><code>set_format</code></em>
- function, though
-it might be delayed until calling <em class="parameter"><code>gst_audio_encoder_finish_frame</code></em>
-.</p>
-<p>In summary, above process should have subclass concentrating on
-codec data processing while leaving other matters to base class,
-such as most notably timestamp handling.  While it may exert more control
-in this area (see e.g. <em class="parameter"><code>pre_push</code></em>
-), it is very much not recommended.</p>
-<p>In particular, base class will either favor tracking upstream timestamps
-(at the possible expense of jitter) or aim to arrange for a perfect stream of
-output timestamps, depending on <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--perfect-timestamp" title="The “perfect-timestamp” property"><span class="type">“perfect-timestamp”</span></a>.
-However, in the latter case, the input may not be so perfect or ideal, which
-is handled as follows.  An input timestamp is compared with the expected
-timestamp as dictated by input sample stream and if the deviation is less
-than <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--tolerance" title="The “tolerance” property"><span class="type">“tolerance”</span></a>, the deviation is discarded.
-Otherwise, it is considered a discontuinity and subsequent output timestamp
-is resynced to the new position after performing configured discontinuity
-processing.  In the non-perfect-timestamp case, an upstream variation
-exceeding tolerance only leads to marking DISCONT on subsequent outgoing
-(while timestamps are adjusted to upstream regardless of variation).
-While DISCONT is also marked in the perfect-timestamp case, this one
-optionally (see <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--hard-resync" title="The “hard-resync” property"><span class="type">“hard-resync”</span></a>)
-performs some additional steps, such as clipping of (early) input samples
-or draining all currently remaining input data, depending on the direction
-of the discontuinity.</p>
-<p>If perfect timestamps are arranged, it is also possible to request baseclass
-(usually set by subclass) to provide additional buffer metadata (in OFFSET
-and OFFSET_END) fields according to granule defined semantics currently
-needed by oggmux.  Specifically, OFFSET is set to granulepos (= sample count
-including buffer) and OFFSET_END to corresponding timestamp (as determined
-by same sample count and sample rate).</p>
-<p>Things that subclass need to take care of:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Provide pad templates</p></li>
-<li class="listitem"><p>
-     Set source pad caps when appropriate
-  </p></li>
-<li class="listitem"><p>
-     Inform base class of buffer processing needs using context's
-     frame_samples and frame_bytes.
-  </p></li>
-<li class="listitem"><p>
-     Set user-configurable properties to sane defaults for format and
-     implementing codec at hand, e.g. those controlling timestamp behaviour
-     and discontinuity processing.
-  </p></li>
-<li class="listitem"><p>
-     Accept data in <em class="parameter"><code>handle_frame</code></em> and provide encoded results to
-     <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-finish-frame" title="gst_audio_encoder_finish_frame ()"><code class="function">gst_audio_encoder_finish_frame()</code></a>.
-  </p></li>
-</ul></div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioencoder.functions_details"></a><h2>Functions</h2>
@@ -505,44 +393,12 @@
 <a name="GST-AUDIO-ENCODER-SINK-PAD:CAPS"></a><h3>GST_AUDIO_ENCODER_SINK_PAD()</h3>
 <pre class="programlisting">#define GST_AUDIO_ENCODER_SINK_PAD(obj) (GST_AUDIO_ENCODER_CAST (obj)-&gt;sinkpad)
 </pre>
-<p>Gives the pointer to the sink <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-ENCODER-SINK-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>audio encoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-ENCODER-SRC-PAD:CAPS"></a><h3>GST_AUDIO_ENCODER_SRC_PAD()</h3>
 <pre class="programlisting">#define GST_AUDIO_ENCODER_SRC_PAD(obj) (GST_AUDIO_ENCODER_CAST (obj)-&gt;srcpad)
 </pre>
-<p>Gives the pointer to the source <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> object of the element.</p>
-<div class="refsect3">
-<a name="GST-AUDIO-ENCODER-SRC-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>audio encoder instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -551,48 +407,6 @@
 gst_audio_encoder_finish_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> samples</code></em>);</pre>
-<p>Collects encoded data and pushes encoded data downstream.
-Source pad caps must be set when this is called.</p>
-<p>If <em class="parameter"><code>samples</code></em>
- &lt; 0, then best estimate is all samples provided to encoder
-(subclass) so far.  <em class="parameter"><code>buf</code></em>
- may be NULL, in which case next number of <em class="parameter"><code>samples</code></em>
-
-are considered discarded, e.g. as a result of discontinuous transmission,
-and a discontinuity is marked.</p>
-<p>Note that samples received in <code class="function">gst_audio_encoder_handle_frame()</code>
-may be invalidated by a call to this function.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-finish-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>encoded data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>samples</p></td>
-<td class="parameter_description"><p>number of samples (per channel) represented by encoded data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-finish-frame.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that should be escalated to caller (of caller)</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -601,36 +415,6 @@
 gst_audio_encoder_allocate_output_buffer
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
-<p>Helper function that allocates a buffer to hold an encoded audio frame
-for <em class="parameter"><code>enc</code></em>
-'s current output format.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-allocate-output-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>size of the buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-allocate-output-buffer.returns"></a><h4>Returns</h4>
-<p> allocated buffer. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -639,42 +423,6 @@
 gst_audio_encoder_get_allocator (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a> **allocator</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre>
-<p>Lets <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> sub-classes to know the memory <em class="parameter"><code>allocator</code></em>
-
-used by the base class and its <em class="parameter"><code>params</code></em>
-.</p>
-<p>Unref the <em class="parameter"><code>allocator</code></em>
- after use it.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-allocator.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>allocator</p></td>
-<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a>
-used. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>params</p></td>
-<td class="parameter_description"><p> the
-<span class="type">GstAllocatorParams</span> of <em class="parameter"><code>allocator</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -688,105 +436,24 @@
 <a name="gst-audio-encoder-negotiate"></a><h3>gst_audio_encoder_negotiate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_encoder_negotiate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<p>Negotiate with downstream elements to currently configured <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.
-Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
-negotiate fails.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-negotiate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-negotiate.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the negotiation succeeded, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-encoder-get-audio-info"></a><h3>gst_audio_encoder_get_audio_info ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="returnvalue">GstAudioInfo</span></a> *
 gst_audio_encoder_get_audio_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-audio-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-audio-info.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> describing the input audio format</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-encoder-get-drainable"></a><h3>gst_audio_encoder_get_drainable ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_encoder_get_drainable (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<p>Queries encoder drain handling.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-drainable.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-drainable.returns"></a><h4>Returns</h4>
-<p> TRUE if drainable handling is enabled.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-encoder-get-frame-max"></a><h3>gst_audio_encoder_get_frame_max ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_encoder_get_frame_max (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-frame-max.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-frame-max.returns"></a><h4>Returns</h4>
-<p> currently configured maximum handled frames</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -794,25 +461,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_encoder_get_frame_samples_min
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-frame-samples-min.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-frame-samples-min.returns"></a><h4>Returns</h4>
-<p> currently minimum requested samples per frame</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -820,52 +468,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_encoder_get_frame_samples_max
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-frame-samples-max.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-frame-samples-max.returns"></a><h4>Returns</h4>
-<p> currently maximum requested samples per frame</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-encoder-get-hard-min"></a><h3>gst_audio_encoder_get_hard_min ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_encoder_get_hard_min (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<p>Queries encoder hard minimum handling.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-hard-min.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-hard-min.returns"></a><h4>Returns</h4>
-<p> TRUE if hard minimum handling is enabled.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -880,89 +488,18 @@
 gst_audio_encoder_get_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max</code></em>);</pre>
-<p>Sets the variables pointed to by <em class="parameter"><code>min</code></em>
- and <em class="parameter"><code>max</code></em>
- to the currently configured
-latency.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min</p></td>
-<td class="parameter_description"><p> a pointer to storage to hold minimum latency. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p> a pointer to storage to hold maximum latency. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-encoder-get-lookahead"></a><h3>gst_audio_encoder_get_lookahead ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_audio_encoder_get_lookahead (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-lookahead.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-lookahead.returns"></a><h4>Returns</h4>
-<p> currently configured encoder lookahead</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-encoder-get-mark-granule"></a><h3>gst_audio_encoder_get_mark_granule ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_encoder_get_mark_granule (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<p>Queries if the encoder will handle granule marking.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-mark-granule.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-mark-granule.returns"></a><h4>Returns</h4>
-<p> TRUE if granule marking is enabled.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -970,54 +507,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_encoder_get_perfect_timestamp
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<p>Queries encoder perfect timestamp behaviour.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-perfect-timestamp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-perfect-timestamp.returns"></a><h4>Returns</h4>
-<p> TRUE if perfect timestamp setting enabled.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-encoder-get-tolerance"></a><h3>gst_audio_encoder_get_tolerance ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_audio_encoder_get_tolerance (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
-<p>Queries current audio jitter tolerance threshold.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-tolerance.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-get-tolerance.returns"></a><h4>Returns</h4>
-<p> encoder audio jitter tolerance threshold.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1026,43 +521,6 @@
 gst_audio_encoder_proxy_getcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *filter</code></em>);</pre>
-<p>Returns caps that express <em class="parameter"><code>caps</code></em>
- (or sink template caps if <em class="parameter"><code>caps</code></em>
- == NULL)
-restricted to channel/rate combinations supported by downstream elements
-(e.g. muxers).</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-proxy-getcaps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p> initial caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>filter</p></td>
-<td class="parameter_description"><p> filter caps. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-encoder-proxy-getcaps.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> owned by caller. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1070,33 +528,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_encoder_set_drainable (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Configures encoder drain handling.  If drainable, subclass might
-be handed a NULL buffer to have it return any leftover encoded data.
-Otherwise, it is not considered so capable and will only ever be passed
-real data.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-drainable.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1104,34 +535,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_encoder_set_frame_max (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
-<p>Sets max number of frames accepted at once (assumed minimally 1).
-Requires <em class="parameter"><code>frame_samples_min</code></em>
- and <em class="parameter"><code>frame_samples_max</code></em>
- to be the equal.</p>
-<p>Note: This value will be reset to 0 every time before
-GstAudioEncoder::<code class="function">set_format()</code> is called.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-frame-max.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num</p></td>
-<td class="parameter_description"><p>number of frames</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1140,34 +543,6 @@
 gst_audio_encoder_set_frame_samples_min
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
-<p>Sets number of samples (per channel) subclass needs to be handed,
-at least or will be handed all available if 0.</p>
-<p>If an exact number of samples is required, <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-frame-samples-max" title="gst_audio_encoder_set_frame_samples_max ()"><code class="function">gst_audio_encoder_set_frame_samples_max()</code></a>
-must be called with the same number.</p>
-<p>Note: This value will be reset to 0 every time before
-GstAudioEncoder::<code class="function">set_format()</code> is called.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-frame-samples-min.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num</p></td>
-<td class="parameter_description"><p>number of samples per frame</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1176,34 +551,6 @@
 gst_audio_encoder_set_frame_samples_max
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
-<p>Sets number of samples (per channel) subclass needs to be handed,
-at most or will be handed all available if 0.</p>
-<p>If an exact number of samples is required, <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-frame-samples-min" title="gst_audio_encoder_set_frame_samples_min ()"><code class="function">gst_audio_encoder_set_frame_samples_min()</code></a>
-must be called with the same number.</p>
-<p>Note: This value will be reset to 0 every time before
-GstAudioEncoder::<code class="function">set_format()</code> is called.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-frame-samples-max.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num</p></td>
-<td class="parameter_description"><p>number of samples per frame</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1211,33 +558,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_encoder_set_hard_min (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Configures encoder hard minimum handling.  If enabled, subclass
-will never be handed less samples than it configured, which otherwise
-might occur near end-of-data handling.  Instead, the leftover samples
-will simply be discarded.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-hard-min.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1252,30 +572,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_encoder_set_headers (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *headers</code></em>);</pre>
-<p>Set the codec headers to be sent downstream whenever requested.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-headers.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>headers</p></td>
-<td class="parameter_description"><p> a list of
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> containing the codec header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gst.Buffer]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1284,34 +580,6 @@
 gst_audio_encoder_set_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max</code></em>);</pre>
-<p>Sets encoder latency.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-latency.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min</p></td>
-<td class="parameter_description"><p>minimum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p>maximum latency</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1319,31 +587,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_encoder_set_lookahead (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
-<p>Sets encoder lookahead (in units of input rate samples)</p>
-<p>Note: This value will be reset to 0 every time before
-GstAudioEncoder::<code class="function">set_format()</code> is called.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-lookahead.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num</p></td>
-<td class="parameter_description"><p>lookahead</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1351,30 +594,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_encoder_set_mark_granule (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Enable or disable encoder granule handling.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-mark-granule.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1383,30 +602,6 @@
 gst_audio_encoder_set_perfect_timestamp
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>Enable or disable encoder perfect output timestamp preference.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-perfect-timestamp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enabled</p></td>
-<td class="parameter_description"><p>new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1414,30 +609,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_encoder_set_tolerance (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> tolerance</code></em>);</pre>
-<p>Configures encoder audio jitter tolerance threshold.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-set-tolerance.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tolerance</p></td>
-<td class="parameter_description"><p>new tolerance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1446,40 +617,6 @@
 gst_audio_encoder_merge_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *tags</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> mode</code></em>);</pre>
-<p>Sets the audio encoder tags and how they should be merged with any
-upstream stream tags. This will override any tags previously-set
-with <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-merge-tags" title="gst_audio_encoder_merge_tags ()"><code class="function">gst_audio_encoder_merge_tags()</code></a>.</p>
-<p>Note that this is provided for convenience, and the subclass is
-not required to use this and can still do tag handling on its own.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-encoder-merge-tags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enc</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tags</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> to merge, or NULL to unset
-previously-set tags. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mode</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagMergeMode"><span class="type">GstTagMergeMode</span></a> to use, usually <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-MERGE-REPLACE:CAPS"><span class="type">GST_TAG_MERGE_REPLACE</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -1487,7 +624,6 @@
 <div class="refsect2">
 <a name="GstAudioEncoder-struct"></a><h3>struct GstAudioEncoder</h3>
 <pre class="programlisting">struct GstAudioEncoder;</pre>
-<p>The opaque <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1541,176 +677,18 @@
 				       GstQuery *query);
 };
 </pre>
-<p>Subclasses can override any of the available virtual methods or not, as
-needed. At minimum <em class="parameter"><code>set_format</code></em>
- and <em class="parameter"><code>handle_frame</code></em>
- needs to be overridden.</p>
-<div class="refsect3">
-<a name="GstAudioEncoderClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstAudioEncoderClass.element-class"></a>element_class</code></em>;</p></td>
-<td class="struct_member_description"><p>The parent class structure</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.start"></a>start</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element starts processing.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.stop"></a>stop</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element stops processing.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.set-format"></a>set_format</code></em> ()</p></td>
-<td class="struct_member_description"><p>Notifies subclass of incoming data format.
-GstAudioInfo contains the format according to provided caps.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.handle-frame"></a>handle_frame</code></em> ()</p></td>
-<td class="struct_member_description"><p>Provides input samples (or NULL to clear any remaining data)
-according to directions as configured by the subclass
-using the API.  Input data ref management is performed
-by base class, subclass should not care or intervene,
-and input data is only valid until next call to base class,
-most notably a call to <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-finish-frame" title="gst_audio_encoder_finish_frame ()"><code class="function">gst_audio_encoder_finish_frame()</code></a>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.flush"></a>flush</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Instructs subclass to clear any codec caches and discard
-any pending samples and not yet returned encoded data.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.pre-push"></a>pre_push</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called just prior to pushing (encoded data) buffer downstream.
-Subclass has full discretionary access to buffer,
-and a not OK flow return will abort downstream pushing.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.sink-event"></a>sink_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the sink pad. Subclasses should chain up to
-the parent implementation to invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.src-event"></a>src_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Event handler on the src pad. Subclasses should chain up to
-the parent implementation to invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.getcaps"></a>getcaps</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Allows for a custom sink getcaps implementation (e.g.
-for multichannel input specification).  If not implemented,
-default returns gst_audio_encoder_proxy_getcaps
-applied to sink template caps.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.open"></a>open</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_READY.
-Allows opening external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.close"></a>close</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Called when the element changes to GST_STATE_NULL.
-Allows closing external resources.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.negotiate"></a>negotiate</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Negotiate with downstream and configure buffer pools, etc.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.decide-allocation"></a>decide_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Setup the allocation parameters for allocating output
-buffers. The passed in query contains the result of the
-downstream allocation query.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.propose-allocation"></a>propose_allocation</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Propose buffer allocation parameters for upstream elements.
-Subclasses should chain up to the parent implementation to
-invoke the default handler.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.transform-meta"></a>transform_meta</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional. Transform the metadata on the input buffer to the
-output buffer. By default this method copies all meta without
-tags and meta with only the "audio" tag. subclasses can
-implement this method and return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the metadata is to be
-copied. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.sink-query"></a>sink_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the sink pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioEncoderClass.src-query"></a>src_query</code></em> ()</p></td>
-<td class="struct_member_description"><p>Optional.
-Query handler on the source pad. This function should
-return TRUE if the query could be performed. Subclasses
-should chain up to the parent implementation to invoke the
-default handler. Since 1.6</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-ENCODER-SINK-NAME:CAPS"></a><h3>GST_AUDIO_ENCODER_SINK_NAME</h3>
 <pre class="programlisting">#define GST_AUDIO_ENCODER_SINK_NAME "sink"
 </pre>
-<p>the name of the templates for the sink pad</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-AUDIO-ENCODER-SRC-NAME:CAPS"></a><h3>GST_AUDIO_ENCODER_SRC_NAME</h3>
 <pre class="programlisting">#define GST_AUDIO_ENCODER_SRC_NAME	        "src"
 </pre>
-<p>the name of the templates for the source pad</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1748,10 +726,6 @@
 <p>Default value: 40000000</p>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudioencoder.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html b/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html
index a0da99f..03388aa 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiofilter.top_of_page"></a>gstaudiofilter</span></h2>
-<p>gstaudiofilter — Base class for simple audio filters</p>
+<p>gstaudiofilter</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -85,17 +85,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiofilter.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilter"><span class="type">GstAudioFilter</span></a> is a <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a>-derived base class for simple audio
-filters, ie. those that output the same format that they get as input.</p>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilter"><span class="type">GstAudioFilter</span></a> will parse the input format for you (with error checking)
-before calling your setup function. Also, elements deriving from
-<a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilter"><span class="type">GstAudioFilter</span></a> may use <a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#gst-audio-filter-class-add-pad-templates" title="gst_audio_filter_class_add_pad_templates ()"><code class="function">gst_audio_filter_class_add_pad_templates()</code></a> from
-their class_init function to easily configure the set of caps/formats that
-the element is able to handle.</p>
-<p>Derived classes should override the <a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilterClass.setup"><code class="function">GstAudioFilterClass.setup()</code></a> and
-<a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransformClass.transform-ip"><code class="function">GstBaseTransformClass.transform_ip()</code></a> and/or
-<a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransformClass.transform"><code class="function">GstBaseTransformClass.transform()</code></a>
-virtual functions in their class_init function.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiofilter.functions_details"></a><h2>Functions</h2>
@@ -105,32 +94,6 @@
 gst_audio_filter_class_add_pad_templates
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilterClass" title="struct GstAudioFilterClass"><span class="type">GstAudioFilterClass</span></a> *klass</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *allowed_caps</code></em>);</pre>
-<p>Convenience function to add pad templates to this element class, with
-<em class="parameter"><code>allowed_caps</code></em>
- as the caps that can be handled.</p>
-<p>This function is usually used from within a GObject class_init function.</p>
-<div class="refsect3">
-<a name="gst-audio-filter-class-add-pad-templates.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>klass</p></td>
-<td class="parameter_description"><p>an <a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilterClass" title="struct GstAudioFilterClass"><span class="type">GstAudioFilterClass</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>allowed_caps</p></td>
-<td class="parameter_description"><p>what formats the filter can handle, as <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -138,7 +101,6 @@
 <div class="refsect2">
 <a name="GstAudioFilter-struct"></a><h3>struct GstAudioFilter</h3>
 <pre class="programlisting">struct GstAudioFilter;</pre>
-<p>Base class for audio filters with the same format for input and output.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -150,32 +112,6 @@
   gboolean  (*setup) (GstAudioFilter * filter, const GstAudioInfo * info);
 };
 </pre>
-<p>In addition to the <em class="parameter"><code>setup</code></em>
- virtual function, you should also override the
-GstBaseTransform::transform and/or GstBaseTransform::transform_ip virtual
-function.</p>
-<div class="refsect3">
-<a name="GstAudioFilterClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransformClass"><span class="type">GstBaseTransformClass</span></a> <em class="structfield"><code><a name="GstAudioFilterClass.basetransformclass"></a>basetransformclass</code></em>;</p></td>
-<td class="struct_member_description"><p>parent class</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioFilterClass.setup"></a>setup</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual function called whenever the format changes</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudioiec61937.html b/docs/libs/html/gst-plugins-base-libs-gstaudioiec61937.html
index a070c38..e262050 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudioiec61937.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudioiec61937.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-gstaudioiec61937.top_of_page"></a>gstaudioiec61937</span></h2>
-<p>gstaudioiec61937 — Utility functions for IEC 61937 payloading</p>
+<p>gstaudioiec61937</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -65,8 +65,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioiec61937.description"></a><h2>Description</h2>
-<p>This module contains some helper functions for encapsulating various
-audio formats in IEC 61937 headers and padding.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioiec61937.functions_details"></a><h2>Functions</h2>
@@ -74,30 +72,6 @@
 <a name="gst-audio-iec61937-frame-size"></a><h3>gst_audio_iec61937_frame_size ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_audio_iec61937_frame_size (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec" title="struct GstAudioRingBufferSpec"><span class="type">GstAudioRingBufferSpec</span></a> *spec</code></em>);</pre>
-<p>Calculated the size of the buffer expected by <a class="link" href="gst-plugins-base-libs-gstaudioiec61937.html#gst-audio-iec61937-payload" title="gst_audio_iec61937_payload ()"><code class="function">gst_audio_iec61937_payload()</code></a> for
-payloading type from <em class="parameter"><code>spec</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-iec61937-frame-size.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>spec</p></td>
-<td class="parameter_description"><p>the ringbufer spec</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-iec61937-frame-size.returns"></a><h4>Returns</h4>
-<p> the size or 0 if the given <em class="parameter"><code>type</code></em>
-is not supported or cannot be
-payloaded.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -109,65 +83,6 @@
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> dst_n</code></em>,
                             <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec" title="struct GstAudioRingBufferSpec"><span class="type">GstAudioRingBufferSpec</span></a> *spec</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> endianness</code></em>);</pre>
-<p>Payloads <em class="parameter"><code>src</code></em>
- in the form specified by IEC 61937 for the type from <em class="parameter"><code>spec</code></em>
- and
-stores the result in <em class="parameter"><code>dst</code></em>
-. <em class="parameter"><code>src</code></em>
- must contain exactly one frame of data and
-the frame is not checked for errors.</p>
-<div class="refsect3">
-<a name="gst-audio-iec61937-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p> a buffer containing the data to payload. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=src_n]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_n</p></td>
-<td class="parameter_description"><p>size of <em class="parameter"><code>src</code></em>
-in bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dst</p></td>
-<td class="parameter_description"><p> the destination buffer to store the
-payloaded contents in. Should not overlap with <em class="parameter"><code>src</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=dst_n]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dst_n</p></td>
-<td class="parameter_description"><p>size of <em class="parameter"><code>dst</code></em>
-in bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>spec</p></td>
-<td class="parameter_description"><p>the ringbufer spec for <em class="parameter"><code>src</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>endianness</p></td>
-<td class="parameter_description"><p>the expected byte order of the payloaded data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-iec61937-payload.returns"></a><h4>Returns</h4>
-<p> transfer-full: <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the payloading was successful, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
-otherwise.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiometa.html b/docs/libs/html/gst-plugins-base-libs-gstaudiometa.html
index cf1a5b3..ae69dda 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiometa.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiometa.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-gstaudiometa.top_of_page"></a>gstaudiometa</span></h2>
-<p>gstaudiometa — Buffer metadata for audio downmix matrix handling</p>
+<p>gstaudiometa</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -104,9 +104,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiometa.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="type">GstAudioDownmixMeta</span></a> defines an audio downmix matrix to be send along with
-audio buffers. These functions in this module help to create and attach the
-meta as well as extracting it.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiometa.functions_details"></a><h2>Functions</h2>
@@ -119,66 +116,6 @@
                                    <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to_position</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> to_channels</code></em>,
                                    <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> **matrix</code></em>);</pre>
-<p>Attaches <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="type">GstAudioDownmixMeta</span></a> metadata to <em class="parameter"><code>buffer</code></em>
- with the given parameters.</p>
-<p><em class="parameter"><code>matrix</code></em>
- is an two-dimensional array of <em class="parameter"><code>to_channels</code></em>
- times <em class="parameter"><code>from_channels</code></em>
-
-coefficients, i.e. the i-th output channels is constructed by multiplicating
-the input channels with the coefficients in <em class="parameter"><code>matrix</code></em>
-[i] and taking the sum
-of the results.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-audio-downmix-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>from_position</p></td>
-<td class="parameter_description"><p> the channel positions
-of the source. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=from_channels]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>from_channels</p></td>
-<td class="parameter_description"><p>The number of channels of the source</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to_position</p></td>
-<td class="parameter_description"><p> the channel positions of
-the destination. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=to_channels]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to_channels</p></td>
-<td class="parameter_description"><p>The number of channels of the destination</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>matrix</p></td>
-<td class="parameter_description"><p>The matrix coefficients.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-audio-downmix-meta.returns"></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><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">
@@ -194,43 +131,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                 <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to_position</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> to_channels</code></em>);</pre>
-<p>Find 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>
- for the given destination
-channel positions.</p>
-<div class="refsect3">
-<a name="gst-buffer-get-audio-downmix-meta-for-channels.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to_position</p></td>
-<td class="parameter_description"><p> the channel positions of
-the destination. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=to_channels]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to_channels</p></td>
-<td class="parameter_description"><p>The number of channels of the destination</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-get-audio-downmix-meta-for-channels.returns"></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><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">
@@ -240,49 +140,6 @@
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> start</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> end</code></em>);</pre>
-<p>Attaches <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta" title="struct GstAudioClippingMeta"><span class="type">GstAudioClippingMeta</span></a> metadata to <em class="parameter"><code>buffer</code></em>
- with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-audio-clipping-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>GstFormat of <em class="parameter"><code>start</code></em>
-and <em class="parameter"><code>stop</code></em>
-, GST_FORMAT_DEFAULT is samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>start</p></td>
-<td class="parameter_description"><p>Amount of audio to clip from start of buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>end</p></td>
-<td class="parameter_description"><p>Amount of  to clip from end of buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-audio-clipping-meta.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta" title="struct GstAudioClippingMeta"><span class="type">GstAudioClippingMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-. </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>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -304,60 +161,6 @@
   gfloat       **matrix;
 };
 </pre>
-<p>Extra buffer metadata describing audio downmixing matrix. This metadata is
-attached to audio buffers and contains a matrix to downmix the buffer number
-of channels to <em class="parameter"><code>channels</code></em>
-.</p>
-<p><em class="parameter"><code>matrix</code></em>
- is an two-dimensional array of <em class="parameter"><code>to_channels</code></em>
- times <em class="parameter"><code>from_channels</code></em>
-
-coefficients, i.e. the i-th output channels is constructed by multiplicating
-the input channels with the coefficients in <em class="parameter"><code>matrix</code></em>
-[i] and taking the sum
-of the results.</p>
-<div class="refsect3">
-<a name="GstAudioDownmixMeta.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstAudioDownmixMeta.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *<em class="structfield"><code><a name="GstAudioDownmixMeta.from-position"></a>from_position</code></em>;</p></td>
-<td class="struct_member_description"><p>the channel positions of the source</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *<em class="structfield"><code><a name="GstAudioDownmixMeta.to-position"></a>to_position</code></em>;</p></td>
-<td class="struct_member_description"><p>the channel positions of the destination</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioDownmixMeta.from-channels"></a>from_channels</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of channels of the source</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioDownmixMeta.to-channels"></a>to_channels</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of channels of the destination</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> **<em class="structfield"><code><a name="GstAudioDownmixMeta.matrix"></a>matrix</code></em>;</p></td>
-<td class="struct_member_description"><p>the matrix coefficients.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -370,50 +173,6 @@
   guint64   end;
 };
 </pre>
-<p>Extra buffer metadata describing how much audio has to be clipped from
-the start or end of a buffer. This is used for compressed formats, where
-the first frame usually has some additional samples due to encoder and
-decoder delays, and the last frame usually has some additional samples to
-be able to fill the complete last frame.</p>
-<p>This is used to ensure that decoded data in the end has the same amount of
-samples, and multiply decoded streams can be gaplessly concatenated.</p>
-<p>Note: If clipping of the start is done by adjusting the segment, this meta
-has to be dropped from buffers as otherwise clipping could happen twice.</p>
-<div class="refsect3">
-<a name="GstAudioClippingMeta.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstAudioClippingMeta.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> <em class="structfield"><code><a name="GstAudioClippingMeta.format"></a>format</code></em>;</p></td>
-<td class="struct_member_description"><p>GstFormat of <em class="parameter"><code>start</code></em>
-and <em class="parameter"><code>stop</code></em>
-, GST_FORMAT_DEFAULT is samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> <em class="structfield"><code><a name="GstAudioClippingMeta.start"></a>start</code></em>;</p></td>
-<td class="struct_member_description"><p>Amount of audio to clip from start of buffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> <em class="structfield"><code><a name="GstAudioClippingMeta.end"></a>end</code></em>;</p></td>
-<td class="struct_member_description"><p>Amount of  to clip from end of buffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html b/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html
index 889e608..84f8e2b 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudioringbuffer.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudioringbuffer.top_of_page"></a>gstaudioringbuffer</span></h2>
-<p>gstaudioringbuffer — Base class for audio ringbuffer implementations</p>
+<p>gstaudioringbuffer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -345,19 +345,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioringbuffer.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.6.17.8.2"></a><p>
-This object is the base class for audio ringbuffers used by the base
-audio source and sink classes.
-</p>
-<p>
-The ringbuffer abstracts a circular buffer of data. One reader and
-one writer can operate on the data from different threads in a lockfree
-manner. The base class is sufficiently flexible to be used as an
-abstraction for DMA based ringbuffers as well as a pure software
-implementations.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudioringbuffer.functions_details"></a><h2>Functions</h2>
@@ -368,42 +355,6 @@
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>This function is set with <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#gst-audio-ring-buffer-set-callback" title="gst_audio_ring_buffer_set_callback ()"><code class="function">gst_audio_ring_buffer_set_callback()</code></a> and is
-called to fill the memory at <em class="parameter"><code>data</code></em>
- with <em class="parameter"><code>len</code></em>
- bytes of samples.</p>
-<div class="refsect3">
-<a name="GstAudioRingBufferCallback.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rbuf</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> target to fill. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>amount to fill</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</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -436,36 +387,6 @@
 gst_audio_ring_buffer_set_callback (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferCallback" title="GstAudioRingBufferCallback ()"><span class="type">GstAudioRingBufferCallback</span></a> cb</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Sets the given callback function on the buffer. This function
-will be called every time a segment has been written to a device.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-set-callback.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to set the callback on</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cb</p></td>
-<td class="parameter_description"><p> the callback to set. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data passed to the callback</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -473,90 +394,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_acquire (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec" title="struct GstAudioRingBufferSpec"><span class="type">GstAudioRingBufferSpec</span></a> *spec</code></em>);</pre>
-<p>Allocate the resources for the ringbuffer. This function fills
-in the data pointer of the ring buffer with a valid <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a>
-to which samples can be written.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-acquire.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to acquire</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>spec</p></td>
-<td class="parameter_description"><p>the specs of the buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-acquire.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be acquired, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-release"></a><h3>gst_audio_ring_buffer_release ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_release (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Free the resources of the ringbuffer.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-release.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to release</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-release.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be released, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-is-acquired"></a><h3>gst_audio_ring_buffer_is_acquired ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_is_acquired (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Check if the ringbuffer is acquired and ready to use.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-is-acquired.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to check</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-is-acquired.returns"></a><h4>Returns</h4>
-<p> TRUE if the ringbuffer is acquired, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -564,208 +413,42 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_activate (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</code></em>);</pre>
-<p>Activate <em class="parameter"><code>buf</code></em>
- to start or stop pulling data.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-activate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to activate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>active</p></td>
-<td class="parameter_description"><p>the new mode</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-activate.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be activated in the requested mode,
-FALSE on error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-is-active"></a><h3>gst_audio_ring_buffer_is_active ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_is_active (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Check if <em class="parameter"><code>buf</code></em>
- is activated.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-is-active.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-is-active.returns"></a><h4>Returns</h4>
-<p> TRUE if the device is active.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-start"></a><h3>gst_audio_ring_buffer_start ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_start (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Start processing samples from the ringbuffer.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-start.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to start</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-start.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be started, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-pause"></a><h3>gst_audio_ring_buffer_pause ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_pause (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Pause processing samples from the ringbuffer.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-pause.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to pause</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-pause.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be paused, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-stop"></a><h3>gst_audio_ring_buffer_stop ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_stop (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Stop processing samples from the ringbuffer.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-stop.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to stop</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-stop.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be stopped, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-delay"></a><h3>gst_audio_ring_buffer_delay ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_audio_ring_buffer_delay (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Get the number of samples queued in the audio device. This is
-usually less than the segment size but can be bigger when the
-implementation uses another internal buffer between the audio
-device.</p>
-<p>For playback ringbuffers this is the amount of samples transfered from the
-ringbuffer to the device but still not played.</p>
-<p>For capture ringbuffers this is the amount of samples in the device that are
-not yet transfered to the ringbuffer.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-delay.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to query</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-delay.returns"></a><h4>Returns</h4>
-<p> The number of samples queued in the audio device.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-samples-done"></a><h3>gst_audio_ring_buffer_samples_done ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 gst_audio_ring_buffer_samples_done (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Get the number of samples that were processed by the ringbuffer
-since it was last started. This does not include the number of samples not
-yet processed (see <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#gst-audio-ring-buffer-delay" title="gst_audio_ring_buffer_delay ()"><code class="function">gst_audio_ring_buffer_delay()</code></a>).</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-samples-done.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to query</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-samples-done.returns"></a><h4>Returns</h4>
-<p> The number of samples processed by the ringbuffer.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -773,35 +456,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_ring_buffer_set_sample (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> sample</code></em>);</pre>
-<p>Make sure that the next sample written to the device is
-accounted for as being the <em class="parameter"><code>sample</code></em>
- sample written to the
-device. This value will be used in reporting the current
-sample position of the ringbuffer.</p>
-<p>This function will also clear the buffer with silence.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-set-sample.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to use</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sample</p></td>
-<td class="parameter_description"><p>the sample number to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -813,85 +467,6 @@
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> in_samples</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> out_samples</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *accum</code></em>);</pre>
-<p>Commit <em class="parameter"><code>in_samples</code></em>
- samples pointed to by <em class="parameter"><code>data</code></em>
- to the ringbuffer <em class="parameter"><code>buf</code></em>
-.</p>
-<p><em class="parameter"><code>in_samples</code></em>
- and <em class="parameter"><code>out_samples</code></em>
- define the rate conversion to perform on the
-samples in <em class="parameter"><code>data</code></em>
-. For negative rates, <em class="parameter"><code>out_samples</code></em>
- must be negative and
-<em class="parameter"><code>in_samples</code></em>
- positive.</p>
-<p>When <em class="parameter"><code>out_samples</code></em>
- is positive, the first sample will be written at position <em class="parameter"><code>sample</code></em>
-
-in the ringbuffer. When <em class="parameter"><code>out_samples</code></em>
- is negative, the last sample will be written to
-<em class="parameter"><code>sample</code></em>
- in reverse order.</p>
-<p><em class="parameter"><code>out_samples</code></em>
- does not need to be a multiple of the segment size of the ringbuffer
-although it is recommended for optimal performance.</p>
-<p><em class="parameter"><code>accum</code></em>
- will hold a temporary accumulator used in rate conversion and should be
-set to 0 when this function is first called. In case the commit operation is
-interrupted, one can resume the processing by passing the previously returned
-<em class="parameter"><code>accum</code></em>
- value back to this function.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-commit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to commit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sample</p></td>
-<td class="parameter_description"><p>the sample position of the data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>the data to commit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_samples</p></td>
-<td class="parameter_description"><p>the number of samples in the data to commit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_samples</p></td>
-<td class="parameter_description"><p>the number of samples to write to the ringbuffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>accum</p></td>
-<td class="parameter_description"><p>accumulator for rate conversion.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-commit.returns"></a><h4>Returns</h4>
-<p> The number of samples written to the ringbuffer or -1 on error. The
-number of samples written can be less than <em class="parameter"><code>out_samples</code></em>
-when <em class="parameter"><code>buf</code></em>
-was interrupted
-with a flush or stop.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -902,53 +477,6 @@
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> src_val</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_fmt</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *dest_val</code></em>);</pre>
-<p>Convert <em class="parameter"><code>src_val</code></em>
- in <em class="parameter"><code>src_fmt</code></em>
- to the equivalent value in <em class="parameter"><code>dest_fmt</code></em>
-. The result
-will be put in <em class="parameter"><code>dest_val</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-convert.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_fmt</p></td>
-<td class="parameter_description"><p>the source format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_val</p></td>
-<td class="parameter_description"><p>the source value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_fmt</p></td>
-<td class="parameter_description"><p>the destination format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_val</p></td>
-<td class="parameter_description"><p>a location to store the converted value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-convert.returns"></a><h4>Returns</h4>
-<p> TRUE if the conversion succeeded.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -958,46 +486,6 @@
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *segment</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **readptr</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *len</code></em>);</pre>
-<p>Returns a pointer to memory where the data from segment <em class="parameter"><code>segment</code></em>
-
-can be found. This function is mostly used by subclasses.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-prepare-read.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to read from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>segment</p></td>
-<td class="parameter_description"><p>the segment to read</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>readptr</p></td>
-<td class="parameter_description"><p>the pointer to the memory where samples can be read</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the number of bytes to read</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-prepare-read.returns"></a><h4>Returns</h4>
-<p> FALSE if the buffer is not started.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1008,61 +496,6 @@
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>);</pre>
-<p>Read <em class="parameter"><code>len</code></em>
- samples from the ringbuffer into the memory pointed
-to by <em class="parameter"><code>data</code></em>
-.
-The first sample should be read from position <em class="parameter"><code>sample</code></em>
- in
-the ringbuffer.</p>
-<p><em class="parameter"><code>len</code></em>
- should not be a multiple of the segment size of the ringbuffer
-although it is recommended.</p>
-<p><em class="parameter"><code>timestamp</code></em>
- will return the timestamp associated with the data returned.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-read.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to read from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sample</p></td>
-<td class="parameter_description"><p>the sample position of the data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>where the data should be read</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the number of samples in data to read</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timestamp</p></td>
-<td class="parameter_description"><p>where the timestamp is returned</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-read.returns"></a><h4>Returns</h4>
-<p> The number of samples read from the ringbuffer or -1 on
-error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1070,54 +503,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_ring_buffer_clear (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> segment</code></em>);</pre>
-<p>Clear the given segment of the buffer with silence samples.
-This function is used by subclasses.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-clear.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to clear</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>segment</p></td>
-<td class="parameter_description"><p>the segment to clear</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-clear-all"></a><h3>gst_audio_ring_buffer_clear_all ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_ring_buffer_clear_all (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Fill the ringbuffer with silence.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-clear-all.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to clear</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1125,116 +516,24 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_ring_buffer_advance (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> advance</code></em>);</pre>
-<p>Subclasses should call this function to notify the fact that
-<em class="parameter"><code>advance</code></em>
- segments are now processed by the device.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-advance.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to advance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>advance</p></td>
-<td class="parameter_description"><p>the number of segments written</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-close-device"></a><h3>gst_audio_ring_buffer_close_device ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_close_device (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Close the audio device associated with the ring buffer. The ring buffer
-should already have been released via <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#gst-audio-ring-buffer-release" title="gst_audio_ring_buffer_release ()"><code class="function">gst_audio_ring_buffer_release()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-close-device.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-close-device.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be closed, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-open-device"></a><h3>gst_audio_ring_buffer_open_device ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_open_device (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Open the audio device associated with the ring buffer. Does not perform any
-setup on the device. You must open the device before acquiring the ring
-buffer.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-open-device.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-open-device.returns"></a><h4>Returns</h4>
-<p> TRUE if the device could be opened, FALSE on error.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-device-is-open"></a><h3>gst_audio_ring_buffer_device_is_open ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_device_is_open (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Checks the status of the device associated with the ring buffer.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-device-is-open.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-device-is-open.returns"></a><h4>Returns</h4>
-<p> TRUE if the device was open, FALSE if it was closed.</p>
-<p>MT safe.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1242,31 +541,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_ring_buffer_may_start (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> allowed</code></em>);</pre>
-<p>Tell the ringbuffer that it is allowed to start playback when
-the ringbuffer is filled with samples.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-may-start.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>allowed</p></td>
-<td class="parameter_description"><p>the new value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1274,35 +548,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_parse_caps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec" title="struct GstAudioRingBufferSpec"><span class="type">GstAudioRingBufferSpec</span></a> *spec</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Parse <em class="parameter"><code>caps</code></em>
- into <em class="parameter"><code>spec</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-parse-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>spec</p></td>
-<td class="parameter_description"><p>a spec</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-parse-caps.returns"></a><h4>Returns</h4>
-<p> TRUE if the caps could be parsed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1310,58 +555,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_audio_ring_buffer_set_flushing (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flushing</code></em>);</pre>
-<p>Set the ringbuffer to flushing mode or normal mode.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-set-flushing.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> to flush</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flushing</p></td>
-<td class="parameter_description"><p>the new mode</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-audio-ring-buffer-is-flushing"></a><h3>gst_audio_ring_buffer_is_flushing ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_audio_ring_buffer_is_flushing (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>);</pre>
-<p>Check if <em class="parameter"><code>buf</code></em>
- is flushing.</p>
-<p>MT safe.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-is-flushing.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-is-flushing.returns"></a><h4>Returns</h4>
-<p> TRUE if the device is flushing.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1370,30 +569,6 @@
 gst_audio_ring_buffer_set_channel_positions
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> *buf</code></em>,
                                 <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *position</code></em>);</pre>
-<p>Tell the ringbuffer about the device's channel positions. This must
-be called in when the ringbuffer is acquired.</p>
-<div class="refsect3">
-<a name="gst-audio-ring-buffer-set-channel-positions.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>position</p></td>
-<td class="parameter_description"><p>the device channel positions</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1425,84 +600,6 @@
   gint                        waiting;
 };
 </pre>
-<p>The ringbuffer base class structure.</p>
-<div class="refsect3">
-<a name="GstAudioRingBuffer.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Threads.html#GCond"><span class="type">GCond</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.cond"></a>cond</code></em>;</p></td>
-<td class="struct_member_description"><p>used to signal start/stop/pause/resume actions</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.open"></a>open</code></em>;</p></td>
-<td class="struct_member_description"><p>boolean indicating that the ringbuffer is open</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.acquired"></a>acquired</code></em>;</p></td>
-<td class="struct_member_description"><p>boolean indicating that the ringbuffer is acquired</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstAudioRingBuffer-struct.memory"></a>memory</code></em>;</p></td>
-<td class="struct_member_description"><p>data in the ringbuffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.size"></a>size</code></em>;</p></td>
-<td class="struct_member_description"><p>size of data in the ringbuffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *<em class="structfield"><code><a name="GstAudioRingBuffer-struct.timestamps"></a>timestamps</code></em>;</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferSpec" title="struct GstAudioRingBufferSpec"><span class="type">GstAudioRingBufferSpec</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.spec"></a>spec</code></em>;</p></td>
-<td class="struct_member_description"><p>format and layout of the ringbuffer data</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.samples-per-seg"></a>samples_per_seg</code></em>;</p></td>
-<td class="struct_member_description"><p>number of samples in one segment</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstAudioRingBuffer-struct.empty-seg"></a>empty_seg</code></em>;</p></td>
-<td class="struct_member_description"><p>pointer to memory holding one segment of silence samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.state"></a>state</code></em>;</p></td>
-<td class="struct_member_description"><p>state of the buffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.segdone"></a>segdone</code></em>;</p></td>
-<td class="struct_member_description"><p>readpointer in the ringbuffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.segbase"></a>segbase</code></em>;</p></td>
-<td class="struct_member_description"><p>segment corresponding to segment 0 (unused)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBuffer-struct.waiting"></a>waiting</code></em>;</p></td>
-<td class="struct_member_description"><p>is a reader or writer waiting for a free segment</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1532,80 +629,6 @@
   void         (*clear_all)    (GstAudioRingBuffer * buf);
 };
 </pre>
-<p>The vmethods that subclasses can override to implement the ringbuffer.</p>
-<div class="refsect3">
-<a name="GstAudioRingBufferClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.open-device"></a>open_device</code></em> ()</p></td>
-<td class="struct_member_description"><p>open the device, don't set any params or allocate anything</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.acquire"></a>acquire</code></em> ()</p></td>
-<td class="struct_member_description"><p>allocate the resources for the ringbuffer using the given spec</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.release"></a>release</code></em> ()</p></td>
-<td class="struct_member_description"><p>free resources of the ringbuffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.close-device"></a>close_device</code></em> ()</p></td>
-<td class="struct_member_description"><p>close the device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.start"></a>start</code></em> ()</p></td>
-<td class="struct_member_description"><p>start processing of samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.pause"></a>pause</code></em> ()</p></td>
-<td class="struct_member_description"><p>pause processing of samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.resume"></a>resume</code></em> ()</p></td>
-<td class="struct_member_description"><p>resume processing of samples after pause</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.stop"></a>stop</code></em> ()</p></td>
-<td class="struct_member_description"><p>stop processing of samples</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.delay"></a>delay</code></em> ()</p></td>
-<td class="struct_member_description"><p>get number of frames queued in device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.activate"></a>activate</code></em> ()</p></td>
-<td class="struct_member_description"><p>activate the thread that starts pulling and monitoring the
-consumed segments in the device.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.commit"></a>commit</code></em> ()</p></td>
-<td class="struct_member_description"><p>write samples into the ringbuffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioRingBufferClass.clear-all"></a>clear_all</code></em> ()</p></td>
-<td class="struct_member_description"><p>clear the entire ringbuffer.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1637,65 +660,10 @@
 				 * level device, defaults to segtotal. */
 };
 </pre>
-<p>The structure containing the format specification of the ringbuffer.</p>
-<div class="refsect3">
-<a name="GstAudioRingBufferSpec.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *<em class="structfield"><code><a name="GstAudioRingBufferSpec.caps"></a>caps</code></em>;</p></td>
-<td class="struct_member_description"><p>The caps that generated the Spec.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBufferFormatType" title="enum GstAudioRingBufferFormatType"><span class="type">GstAudioRingBufferFormatType</span></a> <em class="structfield"><code><a name="GstAudioRingBufferSpec.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>the sample type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> <em class="structfield"><code><a name="GstAudioRingBufferSpec.info"></a>info</code></em>;</p></td>
-<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> <em class="structfield"><code><a name="GstAudioRingBufferSpec.latency-time"></a>latency_time</code></em>;</p></td>
-<td class="struct_member_description"><p>the latency in microseconds</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> <em class="structfield"><code><a name="GstAudioRingBufferSpec.buffer-time"></a>buffer_time</code></em>;</p></td>
-<td class="struct_member_description"><p>the total buffer size in microseconds</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBufferSpec.segsize"></a>segsize</code></em>;</p></td>
-<td class="struct_member_description"><p>the size of one segment in bytes</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBufferSpec.segtotal"></a>segtotal</code></em>;</p></td>
-<td class="struct_member_description"><p>the total number of segments</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioRingBufferSpec.seglatency"></a>seglatency</code></em>;</p></td>
-<td class="struct_member_description"><p>number of segments queued in the lower level device,
-defaults to segtotal</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstAudioRingBufferState"></a><h3>enum GstAudioRingBufferState</h3>
-<p>The state of the ringbuffer.</p>
 <div class="refsect3">
 <a name="GstAudioRingBufferState.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1707,33 +675,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-STATE-STOPPED:CAPS"></a>GST_AUDIO_RING_BUFFER_STATE_STOPPED</p></td>
-<td class="enum_member_description">
-<p>The ringbuffer is stopped</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-STATE-PAUSED:CAPS"></a>GST_AUDIO_RING_BUFFER_STATE_PAUSED</p></td>
-<td class="enum_member_description">
-<p>The ringbuffer is paused</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-STATE-STARTED:CAPS"></a>GST_AUDIO_RING_BUFFER_STATE_STARTED</p></td>
-<td class="enum_member_description">
-<p>The ringbuffer is started</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-STATE-ERROR:CAPS"></a>GST_AUDIO_RING_BUFFER_STATE_ERROR</p></td>
-<td class="enum_member_description">
-<p>The ringbuffer has encountered an
-    error after it has been started, e.g. because the device was
-    disconnected (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1742,7 +700,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioRingBufferFormatType"></a><h3>enum GstAudioRingBufferFormatType</h3>
-<p>The format of the samples in the ringbuffer.</p>
 <div class="refsect3">
 <a name="GstAudioRingBufferFormatType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1754,97 +711,69 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-RAW:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW</p></td>
-<td class="enum_member_description">
-<p>samples in linear or float</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-MU-LAW:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW</p></td>
-<td class="enum_member_description">
-<p>samples in mulaw</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-A-LAW:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW</p></td>
-<td class="enum_member_description">
-<p>samples in alaw</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-IMA-ADPCM:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IMA_ADPCM</p></td>
-<td class="enum_member_description">
-<p>samples in ima adpcm</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-MPEG:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG</p></td>
-<td class="enum_member_description">
-<p>samples in mpeg audio (but not AAC) format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-GSM:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_GSM</p></td>
-<td class="enum_member_description">
-<p>samples in gsm format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-IEC958:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IEC958</p></td>
-<td class="enum_member_description">
-<p>samples in IEC958 frames (e.g. AC3)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-AC3:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_AC3</p></td>
-<td class="enum_member_description">
-<p>samples in AC3 format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-EAC3:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_EAC3</p></td>
-<td class="enum_member_description">
-<p>samples in EAC3 format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-DTS:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS</p></td>
-<td class="enum_member_description">
-<p>samples in DTS format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-MPEG2-AAC:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC</p></td>
-<td class="enum_member_description">
-<p>samples in MPEG-2 AAC format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-AUDIO-RING-BUFFER-FORMAT-TYPE-MPEG4-AAC:CAPS"></a>GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC</p></td>
-<td class="enum_member_description">
-<p>samples in MPEG-4 AAC format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudioringbuffer.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a>, <a class="link" href="gst-plugins-base-libs-gstaudiosink.html#GstAudioSink"><span class="type">GstAudioSink</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiosink.html b/docs/libs/html/gst-plugins-base-libs-gstaudiosink.html
index c128bdc..4dac775 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiosink.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiosink.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiosink.top_of_page"></a>gstaudiosink</span></h2>
-<p>gstaudiosink — Simple base class for audio sinks</p>
+<p>gstaudiosink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -69,48 +69,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiosink.description"></a><h2>Description</h2>
-<p>This is the most simple base class for audio sinks that only requires
-subclasses to implement a set of simple functions:</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><code class="function">open()</code></span></p></td>
-<td><p>Open the device.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">prepare()</code></span></p></td>
-<td><p>Configure the device with the specified format.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">write()</code></span></p></td>
-<td><p>Write samples to the device.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">reset()</code></span></p></td>
-<td><p>Unblock writes and flush the device.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">delay()</code></span></p></td>
-<td><p>Get the number of samples written but not yet played
-    by the device.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">unprepare()</code></span></p></td>
-<td><p>Undo operations done by prepare.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">close()</code></span></p></td>
-<td><p>Close the device.</p></td>
-</tr>
-</tbody>
-</table></div>
-<p>All scheduling of samples and timestamps is done in this base class
-together with <a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a> using a default implementation of a
-<a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> that uses threads.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiosink.functions_details"></a><h2>Functions</h2>
@@ -121,7 +79,6 @@
 <div class="refsect2">
 <a name="GstAudioSink-struct"></a><h3>struct GstAudioSink</h3>
 <pre class="programlisting">struct GstAudioSink;</pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gstaudiosink.html#GstAudioSink"><span class="type">GstAudioSink</span></a>.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -147,64 +104,9 @@
   void     (*reset)     (GstAudioSink *sink);
 };
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiosink.html#GstAudioSink"><span class="type">GstAudioSink</span></a> class. Override the vmethods to implement functionality.</p>
-<div class="refsect3">
-<a name="GstAudioSinkClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSinkClass.open"></a>open</code></em> ()</p></td>
-<td class="struct_member_description"><p>Open the device. No configuration needs to be done at this point.
-This function is also used to check if the device is available.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSinkClass.prepare"></a>prepare</code></em> ()</p></td>
-<td class="struct_member_description"><p>Prepare the device to operate with the specified parameters.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSinkClass.unprepare"></a>unprepare</code></em> ()</p></td>
-<td class="struct_member_description"><p>Undo operations done in prepare.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSinkClass.close"></a>close</code></em> ()</p></td>
-<td class="struct_member_description"><p>Close the device.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSinkClass.write"></a>write</code></em> ()</p></td>
-<td class="struct_member_description"><p>Write data to the device.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSinkClass.delay"></a>delay</code></em> ()</p></td>
-<td class="struct_member_description"><p>Return how many frames are still in the device. This is used to
-drive the synchronisation.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSinkClass.reset"></a>reset</code></em> ()</p></td>
-<td class="struct_member_description"><p>Returns as quickly as possible from a write and flush any pending
-samples from the device.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudiosink.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiobasesink.html#GstAudioBaseSink"><span class="type">GstAudioBaseSink</span></a>, <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a>, <a class="link" href="gst-plugins-base-libs-gstaudiosink.html#GstAudioSink"><span class="type">GstAudioSink</span></a>.</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiosrc.html b/docs/libs/html/gst-plugins-base-libs-gstaudiosrc.html
index 4f43ee8..5cfe2c3 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiosrc.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiosrc.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiosrc.top_of_page"></a>gstaudiosrc</span></h2>
-<p>gstaudiosrc — Simple base class for audio sources</p>
+<p>gstaudiosrc</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -70,48 +70,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiosrc.description"></a><h2>Description</h2>
-<p>This is the most simple base class for audio sources that only requires
-subclasses to implement a set of simple functions:</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><code class="function">open()</code></span></p></td>
-<td><p>Open the device.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">prepare()</code></span></p></td>
-<td><p>Configure the device with the specified format.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">read()</code></span></p></td>
-<td><p>Read samples from the device.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">reset()</code></span></p></td>
-<td><p>Unblock reads and flush the device.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">delay()</code></span></p></td>
-<td><p>Get the number of samples in the device but not yet read.
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">unprepare()</code></span></p></td>
-<td><p>Undo operations done by prepare.</p></td>
-</tr>
-<tr>
-<td><p><span class="term"><code class="function">close()</code></span></p></td>
-<td><p>Close the device.</p></td>
-</tr>
-</tbody>
-</table></div>
-<p>All scheduling of samples and timestamps is done in this base class
-together with <a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a> using a default implementation of a
-<a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a> that uses threads.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstaudiosrc.functions_details"></a><h2>Functions</h2>
@@ -122,7 +80,6 @@
 <div class="refsect2">
 <a name="GstAudioSrc-struct"></a><h3>struct GstAudioSrc</h3>
 <pre class="programlisting">struct GstAudioSrc;</pre>
-<p>Base class for simple audio sources.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -149,62 +106,9 @@
   void     (*reset)     (GstAudioSrc *src);
 };
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrc"><span class="type">GstAudioSrc</span></a> class. Override the vmethod to implement
-functionality.</p>
-<div class="refsect3">
-<a name="GstAudioSrcClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSrcClass.open"></a>open</code></em> ()</p></td>
-<td class="struct_member_description"><p>open the device with the specified caps</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSrcClass.prepare"></a>prepare</code></em> ()</p></td>
-<td class="struct_member_description"><p>configure device with format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSrcClass.unprepare"></a>unprepare</code></em> ()</p></td>
-<td class="struct_member_description"><p>undo the configuration</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSrcClass.close"></a>close</code></em> ()</p></td>
-<td class="struct_member_description"><p>close the device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSrcClass.read"></a>read</code></em> ()</p></td>
-<td class="struct_member_description"><p>read samples from the audio device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSrcClass.delay"></a>delay</code></em> ()</p></td>
-<td class="struct_member_description"><p>the number of frames queued in the device</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioSrcClass.reset"></a>reset</code></em> ()</p></td>
-<td class="struct_member_description"><p>unblock a read to the device and reset.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstaudiosrc.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstaudiobasesrc.html#GstAudioBaseSrc"><span class="type">GstAudioBaseSrc</span></a>, <a class="link" href="gst-plugins-base-libs-gstaudioringbuffer.html#GstAudioRingBuffer"><span class="type">GstAudioRingBuffer</span></a>, <a class="link" href="gst-plugins-base-libs-gstaudiosrc.html#GstAudioSrc"><span class="type">GstAudioSrc</span></a>.</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html b/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
index 360284f..c3e39c4 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstcolorbalance.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstcolorbalance.top_of_page"></a>gstcolorbalance</span></h2>
-<p>gstcolorbalance — Interface for adjusting color balance settings</p>
+<p>gstcolorbalance</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -134,16 +134,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstcolorbalance.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.15.13.9.2"></a><p>
-This interface is implemented by elements which can perform some color
-balance operation on video frames they process. For example, modifying
-the brightness, contrast, hue or saturation.
-</p>
-<p>
-Example elements are 'xvimagesink' and 'colorbalance'
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstcolorbalance.functions_details"></a><h2>Functions</h2>
@@ -151,30 +141,6 @@
 <a name="gst-color-balance-list-channels"></a><h3>gst_color_balance_list_channels ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_color_balance_list_channels (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> *balance</code></em>);</pre>
-<p>Retrieve a list of the available channels.</p>
-<div class="refsect3">
-<a name="gst-color-balance-list-channels.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>balance</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-color-balance-list-channels.returns"></a><h4>Returns</h4>
-<p> A
-GList containing pointers to <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a>
-objects. The list is owned by the <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a>
-instance and must not be freed. </p>
-<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstColorBalanceChannel][<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">
@@ -182,37 +148,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_color_balance_get_value (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> *balance</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> *channel</code></em>);</pre>
-<p>Retrieve the current value of the indicated channel, between min_value
-and max_value.</p>
-<p>See Also: The <span class="type">GstColorBalanceChannel.min_value</span> and
-        <span class="type">GstColorBalanceChannel.max_value</span> members of the
-        <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> object.</p>
-<div class="refsect3">
-<a name="gst-color-balance-get-value.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>balance</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-color-balance-get-value.returns"></a><h4>Returns</h4>
-<p> The current value of the channel.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -221,38 +156,6 @@
 gst_color_balance_set_value (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> *balance</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> *channel</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> value</code></em>);</pre>
-<p>Sets the current value of the channel to the passed value, which must
-be between min_value and max_value.</p>
-<p>See Also: The <span class="type">GstColorBalanceChannel.min_value</span> and
-        <span class="type">GstColorBalanceChannel.max_value</span> members of the
-        <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> object.</p>
-<div class="refsect3">
-<a name="gst-color-balance-set-value.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>balance</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>The new value for the channel.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -261,63 +164,12 @@
 gst_color_balance_value_changed (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> *balance</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> *channel</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> value</code></em>);</pre>
-<p>A helper function called by implementations of the GstColorBalance
-interface. It fires the <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance-value-changed" title="The “value-changed” signal"><span class="type">“value-changed”</span></a> signal on the
-instance, and the <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel-value-changed" title="The “value-changed” signal"><span class="type">“value-changed”</span></a> signal on the
-channel object.</p>
-<div class="refsect3">
-<a name="gst-color-balance-value-changed.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>balance</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> whose value has changed</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>The new value of the channel</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-color-balance-get-balance-type"></a><h3>gst_color_balance_get_balance_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceType" title="enum GstColorBalanceType"><span class="returnvalue">GstColorBalanceType</span></a>
 gst_color_balance_get_balance_type (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> *balance</code></em>);</pre>
-<p>Get the <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceType" title="enum GstColorBalanceType"><span class="type">GstColorBalanceType</span></a> of this implementation.</p>
-<div class="refsect3">
-<a name="gst-color-balance-get-balance-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>balance</p></td>
-<td class="parameter_description"><p>The <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> implementation</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-color-balance-get-balance-type.returns"></a><h4>Returns</h4>
-<p> A the <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalanceType" title="enum GstColorBalanceType"><span class="type">GstColorBalanceType</span></a>.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -348,57 +200,10 @@
                           gint                    value);
 };
 </pre>
-<p>Color-balance interface.</p>
-<div class="refsect3">
-<a name="GstColorBalanceInterface.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstColorBalanceInterface.iface"></a>iface</code></em>;</p></td>
-<td class="struct_member_description"><p>the parent interface</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstColorBalanceInterface.list-channels"></a>list_channels</code></em> ()</p></td>
-<td class="struct_member_description"><p>list handled channels</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstColorBalanceInterface.set-value"></a>set_value</code></em> ()</p></td>
-<td class="struct_member_description"><p>set a channel value</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstColorBalanceInterface.get-value"></a>get_value</code></em> ()</p></td>
-<td class="struct_member_description"><p>get a channel value</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstColorBalanceInterface.get-balance-type"></a>get_balance_type</code></em> ()</p></td>
-<td class="struct_member_description"><p>implementation type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstColorBalanceInterface.value-changed"></a>value_changed</code></em> ()</p></td>
-<td class="struct_member_description"><p>default handler for value changed notification</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstColorBalanceType"></a><h3>enum GstColorBalanceType</h3>
-<p>An enumeration indicating whether an element implements color balancing
-operations in software or in dedicated hardware. In general, dedicated
-hardware implementations (such as those provided by xvimagesink) are
-preferred.</p>
 <div class="refsect3">
 <a name="GstColorBalanceType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -410,19 +215,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-COLOR-BALANCE-HARDWARE:CAPS"></a>GST_COLOR_BALANCE_HARDWARE</p></td>
-<td class="enum_member_description">
-<p>Color balance is implemented with dedicated
-        hardware.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-COLOR-BALANCE-SOFTWARE:CAPS"></a>GST_COLOR_BALANCE_SOFTWARE</p></td>
-<td class="enum_member_description">
-<p>Color balance is implemented via software
-        processing.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -434,43 +233,10 @@
 <div class="refsect2">
 <a name="GstColorBalance-value-changed"></a><h3>The <code class="literal">“value-changed”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a>        *colorbalance,
-               <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> *channel,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>                    value,
+user_function (<a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a>        *gstcolorbalance,
+               <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> *arg1,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>                    arg2,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>                user_data)</pre>
-<p>Fired when the value of the indicated channel has changed.</p>
-<div class="refsect3">
-<a name="GstColorBalance-value-changed.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>colorbalance</p></td>
-<td class="parameter_description"><p>The GstColorBalance instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel</p></td>
-<td class="parameter_description"><p>The <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>The new value</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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </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 579de2c..21df104 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstcolorbalancechannel.html
@@ -29,8 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstcolorbalancechannel.top_of_page"></a>gstcolorbalancechannel</span></h2>
-<p>gstcolorbalancechannel — Object representing a channel from the <a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a>
-        interface.</p>
+<p>gstcolorbalancechannel</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -81,12 +80,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstcolorbalancechannel.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.15.14.8.2"></a><p>The <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> object represents a parameter
-for modifying the color balance implemented by an element providing the
-<a class="link" href="gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance"><span class="type">GstColorBalance</span></a> interface. For example, Hue or Saturation.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstcolorbalancechannel.functions_details"></a><h2>Functions</h2>
@@ -102,33 +95,6 @@
   gint    max_value;
 };
 </pre>
-<div class="refsect3">
-<a name="GstColorBalanceChannel.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstColorBalanceChannel-struct.label"></a>label</code></em>;</p></td>
-<td class="struct_member_description"><p>A string containing a descriptive name for this channel</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstColorBalanceChannel-struct.min-value"></a>min_value</code></em>;</p></td>
-<td class="struct_member_description"><p>The minimum valid value for this channel.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstColorBalanceChannel-struct.max-value"></a>max_value</code></em>;</p></td>
-<td class="struct_member_description"><p>The maximum valid value for this channel.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -141,29 +107,6 @@
                           gint                    value);
 };
 </pre>
-<p>Color-balance channel class.</p>
-<div class="refsect3">
-<a name="GstColorBalanceChannelClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> <em class="structfield"><code><a name="GstColorBalanceChannelClass.parent"></a>parent</code></em>;</p></td>
-<td class="struct_member_description"><p>the parent class</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstColorBalanceChannelClass.value-changed"></a>value_changed</code></em> ()</p></td>
-<td class="struct_member_description"><p>default handler for value changed notification</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -171,37 +114,9 @@
 <div class="refsect2">
 <a name="GstColorBalanceChannel-value-changed"></a><h3>The <code class="literal">“value-changed”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> *channel,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>                    value,
+user_function (<a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a> *gstcolorbalancechannel,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>                    arg1,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>                user_data)</pre>
-<p>Fired when the value of the indicated channel has changed.</p>
-<div class="refsect3">
-<a name="GstColorBalanceChannel-value-changed.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>channel</p></td>
-<td class="parameter_description"><p>The <a class="link" href="gst-plugins-base-libs-gstcolorbalancechannel.html#GstColorBalanceChannel"><span class="type">GstColorBalanceChannel</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>The new value</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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </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 0a004cd..1b5b91e 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstdiscoverer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstdiscoverer.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstdiscoverer.top_of_page"></a>gstdiscoverer</span></h2>
-<p>gstdiscoverer — Utility for discovering information on URIs.</p>
+<p>gstdiscoverer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -565,18 +565,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstdiscoverer.description"></a><h2>Description</h2>
-<p>The <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> is a utility object which allows to get as much
-information as possible from one or many URIs.</p>
-<p>It provides two APIs, allowing usage in blocking or non-blocking mode.</p>
-<p>The blocking mode just requires calling <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-discover-uri" title="gst_discoverer_discover_uri ()"><code class="function">gst_discoverer_discover_uri()</code></a>
-with the URI one wishes to discover.</p>
-<p>The non-blocking mode requires a running <a href="/usr/share/gtk-doc/html/glibglib-The-Main-Event-Loop.html#GMainLoop"><span class="type">GMainLoop</span></a> iterating a
-<a href="/usr/share/gtk-doc/html/glibglib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a>, where one connects to the various signals, appends the
-URIs to be processed (through <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-discover-uri-async" title="gst_discoverer_discover_uri_async ()"><code class="function">gst_discoverer_discover_uri_async()</code></a>) and then
-asks for the discovery to begin (through <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-start" title="gst_discoverer_start ()"><code class="function">gst_discoverer_start()</code></a>).
-By default this will use the GLib default main context unless you have
-set a custom context using <a href="/usr/share/gtk-doc/html/glibglib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a>.</p>
-<p>All the information is returned in a <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> structure.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstdiscoverer.functions_details"></a><h2>Functions</h2>
@@ -585,87 +573,18 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="returnvalue">GstDiscoverer</span></a> *
 gst_discoverer_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timeout</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **err</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> with the provided timeout.</p>
-<div class="refsect3">
-<a name="gst-discoverer-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>timeout</p></td>
-<td class="parameter_description"><p>timeout per file, in nanoseconds. Allowed are values between
-one second (<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GST-SECOND:CAPS"><span class="type">GST_SECOND</span></a>) and one hour (3600 * <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GST-SECOND:CAPS"><span class="type">GST_SECOND</span></a>)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>err</p></td>
-<td class="parameter_description"><p>a pointer to a <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a>. can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-new.returns"></a><h4>Returns</h4>
-<p> The new <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a>.
-If an error occurred when creating the discoverer, <em class="parameter"><code>err</code></em>
-will be set
-accordingly and <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned. If <em class="parameter"><code>err</code></em>
-is set, the caller must
-free it when no longer needed using <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#g-error-free"><code class="function">g_error_free()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-start"></a><h3>gst_discoverer_start ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_discoverer_start (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *discoverer</code></em>);</pre>
-<p>Allow asynchronous discovering of URIs to take place.
-A <a href="/usr/share/gtk-doc/html/glibglib-The-Main-Event-Loop.html#GMainLoop"><span class="type">GMainLoop</span></a> must be available for <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> to properly work in
-asynchronous mode.</p>
-<div class="refsect3">
-<a name="gst-discoverer-start.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-stop"></a><h3>gst_discoverer_stop ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_discoverer_stop (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *discoverer</code></em>);</pre>
-<p>Stop the discovery of any pending URIs and clears the list of
-pending URIS (if any).</p>
-<div class="refsect3">
-<a name="gst-discoverer-stop.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -674,44 +593,6 @@
 gst_discoverer_discover_uri (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *discoverer</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **err</code></em>);</pre>
-<p>Synchronously discovers the given <em class="parameter"><code>uri</code></em>
-.</p>
-<p>A copy of <em class="parameter"><code>uri</code></em>
- will be made internally, so the caller can safely <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
-afterwards.</p>
-<div class="refsect3">
-<a name="gst-discoverer-discover-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uri</p></td>
-<td class="parameter_description"><p>The URI to run on.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>err</p></td>
-<td class="parameter_description"><p> If an error occurred, this field will be filled in. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-discover-uri.returns"></a><h4>Returns</h4>
-<p> the result of the scanning. Can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an
-error occurred. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -719,342 +600,72 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_discoverer_discover_uri_async (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *discoverer</code></em>,
                                    <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
-<p>Appends the given <em class="parameter"><code>uri</code></em>
- to the list of URIs to discoverer. The actual
-discovery of the <em class="parameter"><code>uri</code></em>
- will only take place if <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-start" title="gst_discoverer_start ()"><code class="function">gst_discoverer_start()</code></a> has
-been called.</p>
-<p>A copy of <em class="parameter"><code>uri</code></em>
- will be made internally, so the caller can safely <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
-afterwards.</p>
-<div class="refsect3">
-<a name="gst-discoverer-discover-uri-async.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uri</p></td>
-<td class="parameter_description"><p>the URI to add.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-discover-uri-async.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>uri</code></em>
-was successfully appended to the list of pending
-uris, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-get-duration"></a><h3>gst_discoverer_info_get_duration ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_discoverer_info_get_duration (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-duration.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-duration.returns"></a><h4>Returns</h4>
-<p> the duration of the URI in <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> (nanoseconds).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-get-misc"></a><h3>gst_discoverer_info_get_misc ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="returnvalue">GstStructure</span></a> *
 gst_discoverer_info_get_misc (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<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
-<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="gst-discoverer-info-get-misc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-misc.returns"></a><h4>Returns</h4>
-<p> Miscellaneous information stored as a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a>
-(for example: information about missing plugins). If you wish to use the
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> after the life-time of <em class="parameter"><code>info</code></em>
-, you will need to copy it. </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">
 <a name="gst-discoverer-info-get-result"></a><h3>gst_discoverer_info_get_result ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererResult" title="enum GstDiscovererResult"><span class="returnvalue">GstDiscovererResult</span></a>
 gst_discoverer_info_get_result (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-result.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-result.returns"></a><h4>Returns</h4>
-<p> the result of the discovery as a <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererResult" title="enum GstDiscovererResult"><span class="type">GstDiscovererResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-get-stream-info"></a><h3>gst_discoverer_info_get_stream_info ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="returnvalue">GstDiscovererStreamInfo</span></a> *
 gst_discoverer_info_get_stream_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-stream-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-stream-info.returns"></a><h4>Returns</h4>
-<p> the structure (or topology) of the URI as a
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>.
-This structure can be traversed to see the original hierarchy. Unref with
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-unref" title="gst_discoverer_stream_info_unref()"><code class="function">gst_discoverer_stream_info_unref()</code></a> after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-get-stream-list"></a><h3>gst_discoverer_info_get_stream_list ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_discoverer_info_get_stream_list (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-stream-list.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-stream-list.returns"></a><h4>Returns</h4>
-<p> the list of
-all streams contained in the <span class="type">info</span>. Free after usage
-with <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free" title="gst_discoverer_stream_info_list_free ()"><code class="function">gst_discoverer_stream_info_list_free()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-get-tags"></a><h3>gst_discoverer_info_get_tags ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_discoverer_info_get_tags (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-tags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-tags.returns"></a><h4>Returns</h4>
-<p> all tags contained in the URI. If you wish to use
-the tags after the life-time of <em class="parameter"><code>info</code></em>
-, you will need to copy them. </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">
 <a name="gst-discoverer-info-get-toc"></a><h3>gst_discoverer_info_get_toc ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#GstToc-struct"><span class="returnvalue">GstToc</span></a> *
 gst_discoverer_info_get_toc (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-toc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-toc.returns"></a><h4>Returns</h4>
-<p> TOC contained in the URI. If you wish to use
-the TOC after the life-time of <em class="parameter"><code>info</code></em>
-, you will need to copy it. </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">
 <a name="gst-discoverer-info-get-uri"></a><h3>gst_discoverer_info_get_uri ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_discoverer_info_get_uri (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-uri.returns"></a><h4>Returns</h4>
-<p> the URI to which this information corresponds to.
-Copy it if you wish to use it after the life-time of <em class="parameter"><code>info</code></em>
-. </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">
 <a name="gst-discoverer-info-get-seekable"></a><h3>gst_discoverer_info_get_seekable ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_discoverer_info_get_seekable (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-seekable.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-seekable.returns"></a><h4>Returns</h4>
-<p> the whether the URI is seekable.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-ref"></a><h3>gst_discoverer_info_ref()</h3>
 <pre class="programlisting">#define gst_discoverer_info_ref(info) (g_object_ref((GObject*)info))
 </pre>
-<p>Increments the reference count of <em class="parameter"><code>info</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-ref.returns"></a><h4>Returns</h4>
-<p> the same <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> object</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-unref"></a><h3>gst_discoverer_info_unref()</h3>
 <pre class="programlisting">#define gst_discoverer_info_unref(info) (g_object_unref((GObject*)info))
 </pre>
-<p>Decrements the reference count of <em class="parameter"><code>info</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1062,159 +673,30 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
 gst_discoverer_info_to_variant (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererSerializeFlags" title="enum GstDiscovererSerializeFlags"><span class="type">GstDiscovererSerializeFlags</span></a> flags</code></em>);</pre>
-<p>Serializes <em class="parameter"><code>info</code></em>
- to a <a href="/usr/share/gtk-doc/html/glibglib-GVariant.html#GVariant"><span class="type">GVariant</span></a> that can be parsed again
-through <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-from-variant" title="gst_discoverer_info_from_variant ()"><code class="function">gst_discoverer_info_from_variant()</code></a>.</p>
-<p>Note that any <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#GstToc-struct"><span class="type">GstToc</span></a> (s) that might have been discovered will not be serialized
-for now.</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-to-variant.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>A combination of <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererSerializeFlags" title="enum GstDiscovererSerializeFlags"><span class="type">GstDiscovererSerializeFlags</span></a> to specify
-what needs to be serialized.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-to-variant.returns"></a><h4>Returns</h4>
-<p> A newly-allocated <a href="/usr/share/gtk-doc/html/glibglib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>info</code></em>
-. </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-discoverer-info-from-variant"></a><h3>gst_discoverer_info_from_variant ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="returnvalue">GstDiscovererInfo</span></a> *
 gst_discoverer_info_from_variant (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *variant</code></em>);</pre>
-<p>Parses a <a href="/usr/share/gtk-doc/html/glibglib-GVariant.html#GVariant"><span class="type">GVariant</span></a> as produced by <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-to-variant" title="gst_discoverer_info_to_variant ()"><code class="function">gst_discoverer_info_to_variant()</code></a>
-back to a <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a>.</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-from-variant.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>variant</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/glibglib-GVariant.html#GVariant"><span class="type">GVariant</span></a> to deserialize into a <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-from-variant.returns"></a><h4>Returns</h4>
-<p> A newly-allocated <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a>. </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-discoverer-stream-info-get-caps"></a><h3>gst_discoverer_stream_info_get_caps ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_discoverer_stream_info_get_caps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-caps.returns"></a><h4>Returns</h4>
-<p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> of the stream. Unref with
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#gst-caps-unref"><span class="type">gst_caps_unref</span></a> after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-stream-info-get-misc"></a><h3>gst_discoverer_stream_info_get_misc ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="returnvalue">GstStructure</span></a> *
 gst_discoverer_stream_info_get_misc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<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
-<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="gst-discoverer-stream-info-get-misc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-misc.returns"></a><h4>Returns</h4>
-<p> additional information regarding the stream (for
-example codec version, profile, etc..). If you wish to use the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a>
-after the life-time of <em class="parameter"><code>info</code></em>
-you will need to copy it. </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">
 <a name="gst-discoverer-stream-info-get-next"></a><h3>gst_discoverer_stream_info_get_next ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="returnvalue">GstDiscovererStreamInfo</span></a> *
 gst_discoverer_stream_info_get_next (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-next.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-next.returns"></a><h4>Returns</h4>
-<p> the next <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> in a chain. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-for final streams.
-Unref with <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-unref" title="gst_discoverer_stream_info_unref()"><span class="type">gst_discoverer_stream_info_unref</span></a> after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1222,84 +704,18 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="returnvalue">GstDiscovererStreamInfo</span></a> *
 gst_discoverer_stream_info_get_previous
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-previous.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-previous.returns"></a><h4>Returns</h4>
-<p> the previous <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> in a chain.
-<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for starting points. Unref with <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-unref" title="gst_discoverer_stream_info_unref()"><span class="type">gst_discoverer_stream_info_unref</span></a>
-after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-stream-info-get-tags"></a><h3>gst_discoverer_stream_info_get_tags ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_discoverer_stream_info_get_tags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-tags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-tags.returns"></a><h4>Returns</h4>
-<p> the tags contained in this stream. If you wish to
-use the tags after the life-time of <em class="parameter"><code>info</code></em>
-you will need to copy them. </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">
 <a name="gst-discoverer-stream-info-get-toc"></a><h3>gst_discoverer_stream_info_get_toc ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#GstToc-struct"><span class="returnvalue">GstToc</span></a> *
 gst_discoverer_stream_info_get_toc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-toc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-toc.returns"></a><h4>Returns</h4>
-<p> the TOC contained in this stream. If you wish to
-use the TOC after the life-time of <em class="parameter"><code>info</code></em>
-you will need to copy it. </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">
@@ -1307,101 +723,24 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_discoverer_stream_info_get_stream_id
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-stream-id.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-stream-id.returns"></a><h4>Returns</h4>
-<p> the stream ID of this stream. If you wish to
-use the stream ID after the life-time of <em class="parameter"><code>info</code></em>
-you will need to copy it. </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">
 <a name="gst-discoverer-stream-info-ref"></a><h3>gst_discoverer_stream_info_ref()</h3>
 <pre class="programlisting">#define gst_discoverer_stream_info_ref(info) ((GstDiscovererStreamInfo*) g_object_ref((GObject*) info))
 </pre>
-<p>Increments the reference count of <em class="parameter"><code>info</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-ref.returns"></a><h4>Returns</h4>
-<p> the same <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> object</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-stream-info-unref"></a><h3>gst_discoverer_stream_info_unref()</h3>
 <pre class="programlisting">#define gst_discoverer_stream_info_unref(info) (g_object_unref((GObject*) info))
 </pre>
-<p>Decrements the reference count of <em class="parameter"><code>info</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-stream-info-list-free"></a><h3>gst_discoverer_stream_info_list_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_discoverer_stream_info_list_free (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *infos</code></em>);</pre>
-<p>Decrements the reference count of all contained <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>
-and fress the <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>.</p>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-list-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>infos</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1409,27 +748,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_discoverer_stream_info_get_stream_type_nick
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-stream-type-nick.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-stream-info-get-stream-type-nick.returns"></a><h4>Returns</h4>
-<p> a human readable name for the stream type of the given <em class="parameter"><code>info</code></em>
-(ex : "audio",
-"container",...).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1437,64 +755,12 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
 gst_discoverer_info_get_missing_elements_installer_details
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<p>Get the installer details for missing elements</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-missing-elements-installer-details.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> to retrieve installer detail
-for the missing element</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-missing-elements-installer-details.returns"></a><h4>Returns</h4>
-<p> An array of strings
-containing informations about how to install the various missing elements
-for <em class="parameter"><code>info</code></em>
-to be usable. If you wish to use the strings after the life-time
-of <em class="parameter"><code>info</code></em>
-, you will need to copy them. </p>
-<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-get-audio-streams"></a><h3>gst_discoverer_info_get_audio_streams ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_discoverer_info_get_audio_streams (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<p>Finds all the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> contained in <em class="parameter"><code>info</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-audio-streams.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-audio-streams.returns"></a><h4>Returns</h4>
-<p> A <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-matching <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>. The caller should free it with
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free" title="gst_discoverer_stream_info_list_free ()"><code class="function">gst_discoverer_stream_info_list_free()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1502,30 +768,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_discoverer_info_get_container_streams
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<p>Finds all the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererContainerInfo" title="GstDiscovererContainerInfo"><span class="type">GstDiscovererContainerInfo</span></a> contained in <em class="parameter"><code>info</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-container-streams.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-container-streams.returns"></a><h4>Returns</h4>
-<p> A <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-matching <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>. The caller should free it with
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free" title="gst_discoverer_stream_info_list_free ()"><code class="function">gst_discoverer_stream_info_list_free()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1533,39 +775,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_discoverer_info_get_streams (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GType"><span class="type">GType</span></a> streamtype</code></em>);</pre>
-<p>Finds the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> contained in <em class="parameter"><code>info</code></em>
- that match the
-given <em class="parameter"><code>streamtype</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-streams.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>streamtype</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GType"><span class="type">GType</span></a> derived from <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-streams.returns"></a><h4>Returns</h4>
-<p> A <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-matching <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>. The caller should free it with
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free" title="gst_discoverer_stream_info_list_free ()"><code class="function">gst_discoverer_stream_info_list_free()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1573,85 +782,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_discoverer_info_get_subtitle_streams
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<p>Finds all the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererSubtitleInfo" title="GstDiscovererSubtitleInfo"><span class="type">GstDiscovererSubtitleInfo</span></a> contained in <em class="parameter"><code>info</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-subtitle-streams.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-subtitle-streams.returns"></a><h4>Returns</h4>
-<p> A <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-matching <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>. The caller should free it with
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free" title="gst_discoverer_stream_info_list_free ()"><code class="function">gst_discoverer_stream_info_list_free()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-info-get-video-streams"></a><h3>gst_discoverer_info_get_video_streams ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_discoverer_info_get_video_streams (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info</code></em>);</pre>
-<p>Finds all the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> contained in <em class="parameter"><code>info</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-video-streams.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-info-get-video-streams.returns"></a><h4>Returns</h4>
-<p> A <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-matching <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a>. The caller should free it with
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free" title="gst_discoverer_stream_info_list_free ()"><code class="function">gst_discoverer_stream_info_list_free()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-audio-info-get-bitrate"></a><h3>gst_discoverer_audio_info_get_bitrate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_audio_info_get_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-bitrate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-bitrate.returns"></a><h4>Returns</h4>
-<p> the average or nominal bitrate of the stream in bits/second.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1659,50 +801,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_audio_info_get_channels
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-channels.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-channels.returns"></a><h4>Returns</h4>
-<p> the number of channels in the stream.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-audio-info-get-depth"></a><h3>gst_discoverer_audio_info_get_depth ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_audio_info_get_depth (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-depth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-depth.returns"></a><h4>Returns</h4>
-<p> the number of bits used per sample in each channel.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1710,25 +814,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_discoverer_audio_info_get_language
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-language.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-language.returns"></a><h4>Returns</h4>
-<p> the language of the stream, or NULL if unknown.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1736,25 +821,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_audio_info_get_max_bitrate
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-max-bitrate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-max-bitrate.returns"></a><h4>Returns</h4>
-<p> the maximum bitrate of the stream in bits/second.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1762,25 +828,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_audio_info_get_sample_rate
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-sample-rate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-audio-info-get-sample-rate.returns"></a><h4>Returns</h4>
-<p> the sample rate of the stream in Hertz.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1788,28 +835,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_discoverer_container_info_get_streams
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererContainerInfo" title="GstDiscovererContainerInfo"><span class="type">GstDiscovererContainerInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-container-info-get-streams.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-container-info-get-streams.returns"></a><h4>Returns</h4>
-<p> the list of
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> this container stream offers.
-Free with <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-list-free" title="gst_discoverer_stream_info_list_free ()"><code class="function">gst_discoverer_stream_info_list_free()</code></a> after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPbutils.DiscovererStreamInfo]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1817,75 +842,18 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_discoverer_subtitle_info_get_language
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererSubtitleInfo" title="GstDiscovererSubtitleInfo"><span class="type">GstDiscovererSubtitleInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-subtitle-info-get-language.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererSubtitleInfo" title="GstDiscovererSubtitleInfo"><span class="type">GstDiscovererSubtitleInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-subtitle-info-get-language.returns"></a><h4>Returns</h4>
-<p> the language of the stream, or NULL if unknown.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-video-info-get-bitrate"></a><h3>gst_discoverer_video_info_get_bitrate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-bitrate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-bitrate.returns"></a><h4>Returns</h4>
-<p> the average or nominal bitrate of the video stream in bits/second.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-video-info-get-depth"></a><h3>gst_discoverer_video_info_get_depth ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_depth (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-depth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-depth.returns"></a><h4>Returns</h4>
-<p> the depth in bits of the video stream.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1893,25 +861,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_framerate_denom
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-framerate-denom.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-framerate-denom.returns"></a><h4>Returns</h4>
-<p> the framerate of the video stream (denominator).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1919,50 +868,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_framerate_num
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-framerate-num.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-framerate-num.returns"></a><h4>Returns</h4>
-<p> the framerate of the video stream (numerator).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-video-info-get-height"></a><h3>gst_discoverer_video_info_get_height ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_height (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-height.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-height.returns"></a><h4>Returns</h4>
-<p> the height of the video stream in pixels.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1970,51 +881,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_discoverer_video_info_is_interlaced
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-is-interlaced.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-is-interlaced.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the stream is interlaced, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-video-info-is-image"></a><h3>gst_discoverer_video_info_is_image ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_discoverer_video_info_is_image (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-is-image.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-is-image.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if the video stream corresponds to an image (i.e. only contains
-one frame).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2022,25 +894,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_max_bitrate
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-max-bitrate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-max-bitrate.returns"></a><h4>Returns</h4>
-<p> the maximum bitrate of the video stream in bits/second.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2048,75 +901,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_par_denom
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-par-denom.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-par-denom.returns"></a><h4>Returns</h4>
-<p> the Pixel Aspect Ratio (PAR) of the video stream (denominator).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-video-info-get-par-num"></a><h3>gst_discoverer_video_info_get_par_num ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_par_num (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-par-num.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-par-num.returns"></a><h4>Returns</h4>
-<p> the Pixel Aspect Ratio (PAR) of the video stream (numerator).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-discoverer-video-info-get-width"></a><h3>gst_discoverer_video_info_get_width ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_discoverer_video_info_get_width (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-width.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-discoverer-video-info-get-width.returns"></a><h4>Returns</h4>
-<p> the width of the video stream in pixels.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -2124,18 +920,15 @@
 <div class="refsect2">
 <a name="GstDiscoverer-struct"></a><h3>struct GstDiscoverer</h3>
 <pre class="programlisting">struct GstDiscoverer;</pre>
-<p>The <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> structure.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererInfo-struct"></a><h3>GstDiscovererInfo</h3>
 <pre class="programlisting">typedef struct _GstDiscovererInfo GstDiscovererInfo;</pre>
-<p>Structure containing the information of a URI analyzed by <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a>.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererResult"></a><h3>enum GstDiscovererResult</h3>
-<p>Result values for the discovery process.</p>
 <div class="refsect3">
 <a name="GstDiscovererResult.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2147,45 +940,33 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-OK:CAPS"></a>GST_DISCOVERER_OK</p></td>
-<td class="enum_member_description">
-<p>The discovery was successful</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-URI-INVALID:CAPS"></a>GST_DISCOVERER_URI_INVALID</p></td>
-<td class="enum_member_description">
-<p>the URI is invalid</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-ERROR:CAPS"></a>GST_DISCOVERER_ERROR</p></td>
-<td class="enum_member_description">
-<p>an error happened and the GError is set</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-TIMEOUT:CAPS"></a>GST_DISCOVERER_TIMEOUT</p></td>
-<td class="enum_member_description">
-<p>the discovery timed-out</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-BUSY:CAPS"></a>GST_DISCOVERER_BUSY</p></td>
-<td class="enum_member_description">
-<p>the discoverer was already discovering a file</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-MISSING-PLUGINS:CAPS"></a>GST_DISCOVERER_MISSING_PLUGINS</p></td>
-<td class="enum_member_description">
-<p>Some plugins are missing for full discovery</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2194,8 +975,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererSerializeFlags"></a><h3>enum GstDiscovererSerializeFlags</h3>
-<p>You can use these flags to control what is serialized by
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-info-to-variant" title="gst_discoverer_info_to_variant ()"><code class="function">gst_discoverer_info_to_variant()</code></a></p>
 <div class="refsect3">
 <a name="GstDiscovererSerializeFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2207,88 +986,57 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-SERIALIZE-BASIC:CAPS"></a>GST_DISCOVERER_SERIALIZE_BASIC</p></td>
-<td class="enum_member_description">
-<p>Serialize only basic information, excluding
-caps, tags and miscellaneous information</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-SERIALIZE-CAPS"></a>GST_DISCOVERER_SERIALIZE_CAPS</p></td>
-<td class="enum_member_description">
-<p>Serialize the caps for each stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-SERIALIZE-TAGS:CAPS"></a>GST_DISCOVERER_SERIALIZE_TAGS</p></td>
-<td class="enum_member_description">
-<p>Serialize the tags for each stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-SERIALIZE-MISC:CAPS"></a>GST_DISCOVERER_SERIALIZE_MISC</p></td>
-<td class="enum_member_description">
-<p>Serialize miscellaneous information for each stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-DISCOVERER-SERIALIZE-ALL:CAPS"></a>GST_DISCOVERER_SERIALIZE_ALL</p></td>
-<td class="enum_member_description">
-<p>Serialize all the available info, including
-caps, tags and miscellaneous information</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererStreamInfo"></a><h3>GstDiscovererStreamInfo</h3>
 <pre class="programlisting">typedef struct _GstDiscovererStreamInfo GstDiscovererStreamInfo;</pre>
-<p>Base structure for information concerning a media stream. Depending on the
-stream type, one can find more media-specific information in
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a>, <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a>, and
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererContainerInfo" title="GstDiscovererContainerInfo"><span class="type">GstDiscovererContainerInfo</span></a>.</p>
-<p>The <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> represents the topology of the stream. Siblings
-can be iterated over with <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-next" title="gst_discoverer_stream_info_get_next ()"><code class="function">gst_discoverer_stream_info_get_next()</code></a> and
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#gst-discoverer-stream-info-get-previous" title="gst_discoverer_stream_info_get_previous ()"><code class="function">gst_discoverer_stream_info_get_previous()</code></a>. Children (sub-streams) of a
-stream can be accessed using the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererContainerInfo" title="GstDiscovererContainerInfo"><span class="type">GstDiscovererContainerInfo</span></a> API.</p>
-<p>As a simple example, if you run <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> on an AVI file with one audio
-and one video stream, you will get a <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererContainerInfo" title="GstDiscovererContainerInfo"><span class="type">GstDiscovererContainerInfo</span></a>
-corresponding to the AVI container, which in turn will have a
-<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererAudioInfo" title="GstDiscovererAudioInfo"><span class="type">GstDiscovererAudioInfo</span></a> sub-stream and a <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererVideoInfo" title="GstDiscovererVideoInfo"><span class="type">GstDiscovererVideoInfo</span></a> sub-stream
-for the audio and video streams respectively.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererContainerInfo"></a><h3>GstDiscovererContainerInfo</h3>
 <pre class="programlisting">typedef struct _GstDiscovererContainerInfo GstDiscovererContainerInfo;</pre>
-<p><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> specific to container streams.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererAudioInfo"></a><h3>GstDiscovererAudioInfo</h3>
 <pre class="programlisting">typedef struct _GstDiscovererAudioInfo GstDiscovererAudioInfo;</pre>
-<p><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> specific to audio streams.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererVideoInfo"></a><h3>GstDiscovererVideoInfo</h3>
 <pre class="programlisting">typedef struct _GstDiscovererVideoInfo GstDiscovererVideoInfo;</pre>
-<p><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> specific to video streams (this includes images).</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscovererSubtitleInfo"></a><h3>GstDiscovererSubtitleInfo</h3>
 <pre class="programlisting">typedef struct _GstDiscovererSubtitleInfo GstDiscovererSubtitleInfo;</pre>
-<p><a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererStreamInfo" title="GstDiscovererStreamInfo"><span class="type">GstDiscovererStreamInfo</span></a> specific to subtitle streams (this includes text and
-image based ones).</p>
 </div>
 </div>
 <div class="refsect1">
@@ -2296,10 +1044,7 @@
 <div class="refsect2">
 <a name="GstDiscoverer--timeout"></a><h3>The <code class="literal">“timeout”</code> property</h3>
 <pre class="programlisting">  “timeout”                  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
-<p>The duration (in nanoseconds) after which the discovery of an individual
-URI will timeout.</p>
-<p>If the discovery of a URI times out, the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GST-DISCOVERER-TIMEOUT:CAPS"><code class="literal">GST_DISCOVERER_TIMEOUT</code></a> will be
-set on the result flags.</p>
+<p>Timeout.</p>
 <p>Flags: Read / Write / Construct</p>
 <p>Allowed values: [1000000000,3600000000000]</p>
 <p>Default value: 15000000000</p>
@@ -2310,154 +1055,35 @@
 <div class="refsect2">
 <a name="GstDiscoverer-discovered"></a><h3>The <code class="literal">“discovered”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a>     *discoverer,
-               <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *info,
-               <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a>            *error,
+user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a>     *gstdiscoverer,
+               <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a> *arg1,
+               <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a>            *arg2,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>           user_data)</pre>
-<p>Will be emitted in async mode when all information on a URI could be
-discovered, or an error occurred.</p>
-<p>When an error occurs, <em class="parameter"><code>info</code></em>
- might still contain some partial information,
-depending on the circumstances of the error.</p>
-<div class="refsect3">
-<a name="GstDiscoverer-discovered.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>the results <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscovererInfo"><span class="type">GstDiscovererInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p> <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a>, which will be non-NULL if an error
-occurred during discovery. You must not
-free this <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a>, it will be freed by
-the discoverer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GLib.Error]</span></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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscoverer-finished"></a><h3>The <code class="literal">“finished”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *discoverer,
+user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *gstdiscoverer,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)</pre>
-<p>Will be emitted in async mode when all pending URIs have been processed.</p>
-<div class="refsect3">
-<a name="GstDiscoverer-finished.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscoverer-source-setup"></a><h3>The <code class="literal">“source-setup”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *discoverer,
-               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>    *source,
+user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *gstdiscoverer,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>    *arg1,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)</pre>
-<p>This signal is emitted after the source element has been created for, so
-the URI being discovered, so it can be configured by setting additional
-properties (e.g. set a proxy server for an http source, or set the device
-and read speed for an audio cd source).</p>
-<p>This signal is usually emitted from the context of a GStreamer streaming
-thread.</p>
-<div class="refsect3">
-<a name="GstDiscoverer-source-setup.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>source</p></td>
-<td class="parameter_description"><p>source element</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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstDiscoverer-starting"></a><h3>The <code class="literal">“starting”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *discoverer,
+user_function (<a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a> *gstdiscoverer,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)</pre>
-<p>Will be emitted when the discover starts analyzing the pending URIs</p>
-<div class="refsect3">
-<a name="GstDiscoverer-starting.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>discoverer</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstdiscoverer.html#GstDiscoverer"><span class="type">GstDiscoverer</span></a></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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstfft.html b/docs/libs/html/gst-plugins-base-libs-gstfft.html
index 726b0a2..f569ff2 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstfft.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstfft.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-gstfft.top_of_page"></a>gstfft</span></h2>
-<p>gstfft — General FFT functions and declarations</p>
+<p>gstfft</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -68,8 +68,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstfft.description"></a><h2>Description</h2>
-<p>This library includes general definitions and functions, useful for
-all typed FFT classes.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstfft.functions_details"></a><h2>Functions</h2>
@@ -77,37 +75,12 @@
 <a name="gst-fft-next-fast-length"></a><h3>gst_fft_next_fast_length ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_fft_next_fast_length (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
-<p>Returns the next number to <em class="parameter"><code>n</code></em>
- that is entirely a product
-of 2, 3 and 5. Using this as the <em class="parameter"><code>len</code></em>
- parameter for
-the different GstFFT types will provide the best performance.</p>
-<div class="refsect3">
-<a name="gst-fft-next-fast-length.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>n</p></td>
-<td class="parameter_description"><p>Number for which the next fast length should be returned</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-fft-next-fast-length.returns"></a><h4>Returns</h4>
-<p> the next fast FFT length.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstfft.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstFFTWindow"></a><h3>enum GstFFTWindow</h3>
-<p>The various window functions available.</p>
 <div class="refsect3">
 <a name="GstFFTWindow.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -119,38 +92,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FFT-WINDOW-RECTANGULAR:CAPS"></a>GST_FFT_WINDOW_RECTANGULAR</p></td>
-<td class="enum_member_description">
-<p>Rectangular window</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FFT-WINDOW-HAMMING:CAPS"></a>GST_FFT_WINDOW_HAMMING</p></td>
-<td class="enum_member_description">
-<p>Hamming window</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FFT-WINDOW-HANN:CAPS"></a>GST_FFT_WINDOW_HANN</p></td>
-<td class="enum_member_description">
-<p>Hann (sometimes also called Hanning) window</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FFT-WINDOW-BARTLETT:CAPS"></a>GST_FFT_WINDOW_BARTLETT</p></td>
-<td class="enum_member_description">
-<p>Bartlett window</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-FFT-WINDOW-BLACKMAN:CAPS"></a>GST_FFT_WINDOW_BLACKMAN</p></td>
-<td class="enum_member_description">
-<p>Blackman window</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstfftf32.html b/docs/libs/html/gst-plugins-base-libs-gstfftf32.html
index 73a2fae..83902d2 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstfftf32.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstfftf32.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-gstfftf32.top_of_page"></a>gstfftf32</span></h2>
-<p>gstfftf32 — FFT functions for 32 bit float samples</p>
+<p>gstfftf32</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -108,30 +108,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstfftf32.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> provides a FFT implementation and related functions for
-32 bit float samples. To use this call <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-new" title="gst_fft_f32_new ()"><code class="function">gst_fft_f32_new()</code></a> for
-allocating a <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance with the appropriate parameters and
-then call <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-fft" title="gst_fft_f32_fft ()"><code class="function">gst_fft_f32_fft()</code></a> or <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-inverse-fft" title="gst_fft_f32_inverse_fft ()"><code class="function">gst_fft_f32_inverse_fft()</code></a> to perform the
-FFT or inverse FFT on a buffer of samples.</p>
-<p>After use free the <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-free" title="gst_fft_f32_free ()"><code class="function">gst_fft_f32_free()</code></a>.</p>
-<p>For the best performance 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> to get a
-number that is entirely a product of 2, 3 and 5 and use this as the
-<em class="parameter"><code>len</code></em>
- parameter for <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-new" title="gst_fft_f32_new ()"><code class="function">gst_fft_f32_new()</code></a>.</p>
-<p>The <em class="parameter"><code>len</code></em>
- parameter specifies the number of samples in the time domain that
-will be processed or generated. The number of samples in the frequency domain
-is <em class="parameter"><code>len</code></em>
-/2 + 1. To get n samples in the frequency domain use 2*n - 2 as <em class="parameter"><code>len</code></em>
-.</p>
-<p>Before performing the FFT on time domain data it usually makes sense
-to apply a window function to it. For this <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-window" title="gst_fft_f32_window ()"><code class="function">gst_fft_f32_window()</code></a> can comfortably
-be used.</p>
-<p>Be aware, that you can't simply run <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-inverse-fft" title="gst_fft_f32_inverse_fft ()"><code class="function">gst_fft_f32_inverse_fft()</code></a> on the
-resulting frequency data of <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-fft" title="gst_fft_f32_fft ()"><code class="function">gst_fft_f32_fft()</code></a> to get the original data back.
-The relation between them is iFFT (FFT (x)) = x * nfft where nfft is the
-length of the FFT. This also has to be taken into account when calculation
-the magnitude of the frequency data.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstfftf32.functions_details"></a><h2>Functions</h2>
@@ -140,39 +116,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="returnvalue">GstFFTF32</span></a> *
 gst_fft_f32_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> inverse</code></em>);</pre>
-<p>This returns a new <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.</p>
-<p><em class="parameter"><code>len</code></em>
- 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="gst-fft-f32-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>len</p></td>
-<td class="parameter_description"><p>Length of the FFT in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>inverse</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance should be used for the inverse FFT</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-fft-f32-new.returns"></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>
 <hr>
 <div class="refsect2">
@@ -181,44 +124,6 @@
 gst_fft_f32_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> *self</code></em>,
                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *timedata</code></em>,
                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32Complex" title="struct GstFFTF32Complex"><span class="type">GstFFTF32Complex</span></a> *freqdata</code></em>);</pre>
-<p>This performs the FFT on <em class="parameter"><code>timedata</code></em>
- and puts the result in <em class="parameter"><code>freqdata</code></em>
-.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must have as many samples as specified with the <em class="parameter"><code>len</code></em>
- parameter while
-allocating the <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-new" title="gst_fft_f32_new ()"><code class="function">gst_fft_f32_new()</code></a>.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
-/2 + 1 <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32Complex" title="struct GstFFTF32Complex"><span class="type">GstFFTF32Complex</span></a> frequency
-domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-f32-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -227,44 +132,6 @@
 gst_fft_f32_inverse_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> *self</code></em>,
                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32Complex" title="struct GstFFTF32Complex"><span class="type">GstFFTF32Complex</span></a> *freqdata</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *timedata</code></em>);</pre>
-<p>This performs the inverse FFT on <em class="parameter"><code>freqdata</code></em>
- and puts the result in <em class="parameter"><code>timedata</code></em>
-.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must have <em class="parameter"><code>len</code></em>
-/2 + 1 samples, where <em class="parameter"><code>len</code></em>
- is the parameter specified
-while allocating the <a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-new" title="gst_fft_f32_new ()"><code class="function">gst_fft_f32_new()</code></a>.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
- time domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-f32-inverse-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -273,59 +140,12 @@
 gst_fft_f32_window (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> *self</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *timedata</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfft.html#GstFFTWindow" title="enum GstFFTWindow"><span class="type">GstFFTWindow</span></a> window</code></em>);</pre>
-<p>This calls the window function <em class="parameter"><code>window</code></em>
- on the <em class="parameter"><code>timedata</code></em>
- sample buffer.</p>
-<div class="refsect3">
-<a name="gst-fft-f32-window.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Time domain samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>window</p></td>
-<td class="parameter_description"><p>Window function to apply</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-fft-f32-free"></a><h3>gst_fft_f32_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_fft_f32_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> *self</code></em>);</pre>
-<p>This frees the memory allocated for <em class="parameter"><code>self</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-fft-f32-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf32.html#GstFFTF32" title="GstFFTF32"><span class="type">GstFFTF32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -342,30 +162,6 @@
   gfloat i;
 };
 </pre>
-<p>Data type for complex numbers composed of
-32 bit float.</p>
-<div class="refsect3">
-<a name="GstFFTF32Complex.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> <em class="structfield"><code><a name="GstFFTF32Complex.r"></a>r</code></em>;</p></td>
-<td class="struct_member_description"><p>Real part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> <em class="structfield"><code><a name="GstFFTF32Complex.i"></a>i</code></em>;</p></td>
-<td class="struct_member_description"><p>Imaginary part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </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 d7a6946..19bd772 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstfftf64.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstfftf64.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-gstfftf64.top_of_page"></a>gstfftf64</span></h2>
-<p>gstfftf64 — FFT functions for 64 bit float samples</p>
+<p>gstfftf64</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -108,30 +108,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstfftf64.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> provides a FFT implementation and related functions for
-64 bit float samples. To use this call <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-new" title="gst_fft_f64_new ()"><code class="function">gst_fft_f64_new()</code></a> for
-allocating a <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance with the appropriate parameters and
-then call <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-fft" title="gst_fft_f64_fft ()"><code class="function">gst_fft_f64_fft()</code></a> or <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-inverse-fft" title="gst_fft_f64_inverse_fft ()"><code class="function">gst_fft_f64_inverse_fft()</code></a> to perform the
-FFT or inverse FFT on a buffer of samples.</p>
-<p>After use free the <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-free" title="gst_fft_f64_free ()"><code class="function">gst_fft_f64_free()</code></a>.</p>
-<p>For the best performance 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> to get a
-number that is entirely a product of 2, 3 and 5 and use this as the
-<em class="parameter"><code>len</code></em>
- parameter for <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-new" title="gst_fft_f64_new ()"><code class="function">gst_fft_f64_new()</code></a>.</p>
-<p>The <em class="parameter"><code>len</code></em>
- parameter specifies the number of samples in the time domain that
-will be processed or generated. The number of samples in the frequency domain
-is <em class="parameter"><code>len</code></em>
-/2 + 1. To get n samples in the frequency domain use 2*n - 2 as <em class="parameter"><code>len</code></em>
-.</p>
-<p>Before performing the FFT on time domain data it usually makes sense
-to apply a window function to it. For this <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-window" title="gst_fft_f64_window ()"><code class="function">gst_fft_f64_window()</code></a> can comfortably
-be used.</p>
-<p>Be aware, that you can't simply run <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-inverse-fft" title="gst_fft_f32_inverse_fft ()"><code class="function">gst_fft_f32_inverse_fft()</code></a> on the
-resulting frequency data of <a class="link" href="gst-plugins-base-libs-gstfftf32.html#gst-fft-f32-fft" title="gst_fft_f32_fft ()"><code class="function">gst_fft_f32_fft()</code></a> to get the original data back.
-The relation between them is iFFT (FFT (x)) = x * nfft where nfft is the
-length of the FFT. This also has to be taken into account when calculation
-the magnitude of the frequency data.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstfftf64.functions_details"></a><h2>Functions</h2>
@@ -140,39 +116,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="returnvalue">GstFFTF64</span></a> *
 gst_fft_f64_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> inverse</code></em>);</pre>
-<p>This returns a new <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.</p>
-<p><em class="parameter"><code>len</code></em>
- 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="gst-fft-f64-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>len</p></td>
-<td class="parameter_description"><p>Length of the FFT in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>inverse</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance should be used for the inverse FFT</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-fft-f64-new.returns"></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>
 <hr>
 <div class="refsect2">
@@ -181,44 +124,6 @@
 gst_fft_f64_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> *self</code></em>,
                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *timedata</code></em>,
                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64Complex" title="struct GstFFTF64Complex"><span class="type">GstFFTF64Complex</span></a> *freqdata</code></em>);</pre>
-<p>This performs the FFT on <em class="parameter"><code>timedata</code></em>
- and puts the result in <em class="parameter"><code>freqdata</code></em>
-.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must have as many samples as specified with the <em class="parameter"><code>len</code></em>
- parameter while
-allocating the <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-new" title="gst_fft_f64_new ()"><code class="function">gst_fft_f64_new()</code></a>.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
-/2 + 1 <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64Complex" title="struct GstFFTF64Complex"><span class="type">GstFFTF64Complex</span></a> frequency
-domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-f64-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -227,44 +132,6 @@
 gst_fft_f64_inverse_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> *self</code></em>,
                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64Complex" title="struct GstFFTF64Complex"><span class="type">GstFFTF64Complex</span></a> *freqdata</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *timedata</code></em>);</pre>
-<p>This performs the inverse FFT on <em class="parameter"><code>freqdata</code></em>
- and puts the result in <em class="parameter"><code>timedata</code></em>
-.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must have <em class="parameter"><code>len</code></em>
-/2 + 1 samples, where <em class="parameter"><code>len</code></em>
- is the parameter specified
-while allocating the <a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstfftf64.html#gst-fft-f64-new" title="gst_fft_f64_new ()"><code class="function">gst_fft_f64_new()</code></a>.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
- time domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-f64-inverse-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -273,59 +140,12 @@
 gst_fft_f64_window (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> *self</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *timedata</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfft.html#GstFFTWindow" title="enum GstFFTWindow"><span class="type">GstFFTWindow</span></a> window</code></em>);</pre>
-<p>This calls the window function <em class="parameter"><code>window</code></em>
- on the <em class="parameter"><code>timedata</code></em>
- sample buffer.</p>
-<div class="refsect3">
-<a name="gst-fft-f64-window.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Time domain samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>window</p></td>
-<td class="parameter_description"><p>Window function to apply</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-fft-f64-free"></a><h3>gst_fft_f64_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_fft_f64_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> *self</code></em>);</pre>
-<p>This frees the memory allocated for <em class="parameter"><code>self</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-fft-f64-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstfftf64.html#GstFFTF64" title="GstFFTF64"><span class="type">GstFFTF64</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -342,30 +162,6 @@
   gdouble i;
 };
 </pre>
-<p>Data type for complex numbers composed of
-64 bit float.</p>
-<div class="refsect3">
-<a name="GstFFTF64Complex.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="GstFFTF64Complex.r"></a>r</code></em>;</p></td>
-<td class="struct_member_description"><p>Real part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="GstFFTF64Complex.i"></a>i</code></em>;</p></td>
-<td class="struct_member_description"><p>Imaginary part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </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 1727cc3..637cde5 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstffts16.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstffts16.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-gstffts16.top_of_page"></a>gstffts16</span></h2>
-<p>gstffts16 — FFT functions for signed 16 bit integer samples</p>
+<p>gstffts16</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -108,30 +108,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstffts16.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> provides a FFT implementation and related functions for
-signed 16 bit integer samples. To use this call <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-new" title="gst_fft_s16_new ()"><code class="function">gst_fft_s16_new()</code></a> for
-allocating a <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance with the appropriate parameters and
-then call <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-fft" title="gst_fft_s16_fft ()"><code class="function">gst_fft_s16_fft()</code></a> or <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-inverse-fft" title="gst_fft_s16_inverse_fft ()"><code class="function">gst_fft_s16_inverse_fft()</code></a> to perform the
-FFT or inverse FFT on a buffer of samples.</p>
-<p>After use free the <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-free" title="gst_fft_s16_free ()"><code class="function">gst_fft_s16_free()</code></a>.</p>
-<p>For the best performance 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> to get a
-number that is entirely a product of 2, 3 and 5 and use this as the
-<em class="parameter"><code>len</code></em>
- parameter for <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-new" title="gst_fft_s16_new ()"><code class="function">gst_fft_s16_new()</code></a>.</p>
-<p>The <em class="parameter"><code>len</code></em>
- parameter specifies the number of samples in the time domain that
-will be processed or generated. The number of samples in the frequency domain
-is <em class="parameter"><code>len</code></em>
-/2 + 1. To get n samples in the frequency domain use 2*n - 2 as <em class="parameter"><code>len</code></em>
-.</p>
-<p>Before performing the FFT on time domain data it usually makes sense
-to apply a window function to it. For this <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-window" title="gst_fft_s16_window ()"><code class="function">gst_fft_s16_window()</code></a> can comfortably
-be used.</p>
-<p>Be aware, that you can't simply run <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-inverse-fft" title="gst_fft_s16_inverse_fft ()"><code class="function">gst_fft_s16_inverse_fft()</code></a> on the
-resulting frequency data of <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-fft" title="gst_fft_s16_fft ()"><code class="function">gst_fft_s16_fft()</code></a> to get the original data back.
-The relation between them is iFFT (FFT (x)) = x / nfft where nfft is the
-length of the FFT. This also has to be taken into account when calculation
-the magnitude of the frequency data.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstffts16.functions_details"></a><h2>Functions</h2>
@@ -140,39 +116,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="returnvalue">GstFFTS16</span></a> *
 gst_fft_s16_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> inverse</code></em>);</pre>
-<p>This returns a new <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.</p>
-<p><em class="parameter"><code>len</code></em>
- 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="gst-fft-s16-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>len</p></td>
-<td class="parameter_description"><p>Length of the FFT in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>inverse</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance should be used for the inverse FFT</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-fft-s16-new.returns"></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>
 <hr>
 <div class="refsect2">
@@ -181,44 +124,6 @@
 gst_fft_s16_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> *self</code></em>,
                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint16"><span class="type">gint16</span></a> *timedata</code></em>,
                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16Complex" title="struct GstFFTS16Complex"><span class="type">GstFFTS16Complex</span></a> *freqdata</code></em>);</pre>
-<p>This performs the FFT on <em class="parameter"><code>timedata</code></em>
- and puts the result in <em class="parameter"><code>freqdata</code></em>
-.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must have as many samples as specified with the <em class="parameter"><code>len</code></em>
- parameter while
-allocating the <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-new" title="gst_fft_s16_new ()"><code class="function">gst_fft_s16_new()</code></a>.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
-/2 + 1 <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16Complex" title="struct GstFFTS16Complex"><span class="type">GstFFTS16Complex</span></a> frequency
-domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-s16-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -227,44 +132,6 @@
 gst_fft_s16_inverse_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> *self</code></em>,
                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16Complex" title="struct GstFFTS16Complex"><span class="type">GstFFTS16Complex</span></a> *freqdata</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint16"><span class="type">gint16</span></a> *timedata</code></em>);</pre>
-<p>This performs the inverse FFT on <em class="parameter"><code>freqdata</code></em>
- and puts the result in <em class="parameter"><code>timedata</code></em>
-.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must have <em class="parameter"><code>len</code></em>
-/2 + 1 samples, where <em class="parameter"><code>len</code></em>
- is the parameter specified
-while allocating the <a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstffts16.html#gst-fft-s16-new" title="gst_fft_s16_new ()"><code class="function">gst_fft_s16_new()</code></a>.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
- time domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-s16-inverse-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -273,59 +140,12 @@
 gst_fft_s16_window (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> *self</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint16"><span class="type">gint16</span></a> *timedata</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfft.html#GstFFTWindow" title="enum GstFFTWindow"><span class="type">GstFFTWindow</span></a> window</code></em>);</pre>
-<p>This calls the window function <em class="parameter"><code>window</code></em>
- on the <em class="parameter"><code>timedata</code></em>
- sample buffer.</p>
-<div class="refsect3">
-<a name="gst-fft-s16-window.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Time domain samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>window</p></td>
-<td class="parameter_description"><p>Window function to apply</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-fft-s16-free"></a><h3>gst_fft_s16_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_fft_s16_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> *self</code></em>);</pre>
-<p>This frees the memory allocated for <em class="parameter"><code>self</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-fft-s16-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts16.html#GstFFTS16" title="GstFFTS16"><span class="type">GstFFTS16</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -342,30 +162,6 @@
   gint16 i;
 };
 </pre>
-<p>Data type for complex numbers composed of
-signed 16 bit integers.</p>
-<div class="refsect3">
-<a name="GstFFTS16Complex.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint16"><span class="type">gint16</span></a> <em class="structfield"><code><a name="GstFFTS16Complex.r"></a>r</code></em>;</p></td>
-<td class="struct_member_description"><p>Real part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint16"><span class="type">gint16</span></a> <em class="structfield"><code><a name="GstFFTS16Complex.i"></a>i</code></em>;</p></td>
-<td class="struct_member_description"><p>Imaginary part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </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 1bdc51e..56e79eb 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstffts32.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstffts32.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-gstffts32.top_of_page"></a>gstffts32</span></h2>
-<p>gstffts32 — FFT functions for signed 32 bit integer samples</p>
+<p>gstffts32</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -108,30 +108,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstffts32.description"></a><h2>Description</h2>
-<p><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> provides a FFT implementation and related functions for
-signed 32 bit integer samples. To use this call <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-new" title="gst_fft_s32_new ()"><code class="function">gst_fft_s32_new()</code></a> for
-allocating a <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance with the appropriate parameters and
-then call <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-fft" title="gst_fft_s32_fft ()"><code class="function">gst_fft_s32_fft()</code></a> or <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-inverse-fft" title="gst_fft_s32_inverse_fft ()"><code class="function">gst_fft_s32_inverse_fft()</code></a> to perform the
-FFT or inverse FFT on a buffer of samples.</p>
-<p>After use free the <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-free" title="gst_fft_s32_free ()"><code class="function">gst_fft_s32_free()</code></a>.</p>
-<p>For the best performance 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> to get a
-number that is entirely a product of 2, 3 and 5 and use this as the
-<em class="parameter"><code>len</code></em>
- parameter for <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-new" title="gst_fft_s32_new ()"><code class="function">gst_fft_s32_new()</code></a>.</p>
-<p>The <em class="parameter"><code>len</code></em>
- parameter specifies the number of samples in the time domain that
-will be processed or generated. The number of samples in the frequency domain
-is <em class="parameter"><code>len</code></em>
-/2 + 1. To get n samples in the frequency domain use 2*n - 2 as <em class="parameter"><code>len</code></em>
-.</p>
-<p>Before performing the FFT on time domain data it usually makes sense
-to apply a window function to it. For this <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-window" title="gst_fft_s32_window ()"><code class="function">gst_fft_s32_window()</code></a> can comfortably
-be used.</p>
-<p>Be aware, that you can't simply run <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-inverse-fft" title="gst_fft_s32_inverse_fft ()"><code class="function">gst_fft_s32_inverse_fft()</code></a> on the
-resulting frequency data of <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-fft" title="gst_fft_s32_fft ()"><code class="function">gst_fft_s32_fft()</code></a> to get the original data back.
-The relation between them is iFFT (FFT (x)) = x / nfft where nfft is the
-length of the FFT. This also has to be taken into account when calculation
-the magnitude of the frequency data.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstffts32.functions_details"></a><h2>Functions</h2>
@@ -140,39 +116,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="returnvalue">GstFFTS32</span></a> *
 gst_fft_s32_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> inverse</code></em>);</pre>
-<p>This returns a new <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.</p>
-<p><em class="parameter"><code>len</code></em>
- 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="gst-fft-s32-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>len</p></td>
-<td class="parameter_description"><p>Length of the FFT in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>inverse</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance should be used for the inverse FFT</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-fft-s32-new.returns"></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>
 <hr>
 <div class="refsect2">
@@ -181,44 +124,6 @@
 gst_fft_s32_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> *self</code></em>,
                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint32"><span class="type">gint32</span></a> *timedata</code></em>,
                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32Complex" title="struct GstFFTS32Complex"><span class="type">GstFFTS32Complex</span></a> *freqdata</code></em>);</pre>
-<p>This performs the FFT on <em class="parameter"><code>timedata</code></em>
- and puts the result in <em class="parameter"><code>freqdata</code></em>
-.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must have as many samples as specified with the <em class="parameter"><code>len</code></em>
- parameter while
-allocating the <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-new" title="gst_fft_s32_new ()"><code class="function">gst_fft_s32_new()</code></a>.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
-/2 + 1 <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32Complex" title="struct GstFFTS32Complex"><span class="type">GstFFTS32Complex</span></a> frequency
-domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-s32-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -227,44 +132,6 @@
 gst_fft_s32_inverse_fft (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> *self</code></em>,
                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32Complex" title="struct GstFFTS32Complex"><span class="type">GstFFTS32Complex</span></a> *freqdata</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint32"><span class="type">gint32</span></a> *timedata</code></em>);</pre>
-<p>This performs the inverse FFT on <em class="parameter"><code>freqdata</code></em>
- and puts the result in <em class="parameter"><code>timedata</code></em>
-.</p>
-<p><em class="parameter"><code>freqdata</code></em>
- must have <em class="parameter"><code>len</code></em>
-/2 + 1 samples, where <em class="parameter"><code>len</code></em>
- is the parameter specified
-while allocating the <a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance with <a class="link" href="gst-plugins-base-libs-gstffts32.html#gst-fft-s32-new" title="gst_fft_s32_new ()"><code class="function">gst_fft_s32_new()</code></a>.</p>
-<p><em class="parameter"><code>timedata</code></em>
- must be large enough to hold <em class="parameter"><code>len</code></em>
- time domain samples.</p>
-<div class="refsect3">
-<a name="gst-fft-s32-inverse-fft.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>freqdata</p></td>
-<td class="parameter_description"><p>Buffer of the samples in the frequency domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Target buffer for the samples in the time domain</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -273,59 +140,12 @@
 gst_fft_s32_window (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> *self</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint32"><span class="type">gint32</span></a> *timedata</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstfft.html#GstFFTWindow" title="enum GstFFTWindow"><span class="type">GstFFTWindow</span></a> window</code></em>);</pre>
-<p>This calls the window function <em class="parameter"><code>window</code></em>
- on the <em class="parameter"><code>timedata</code></em>
- sample buffer.</p>
-<div class="refsect3">
-<a name="gst-fft-s32-window.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timedata</p></td>
-<td class="parameter_description"><p>Time domain samples</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>window</p></td>
-<td class="parameter_description"><p>Window function to apply</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-fft-s32-free"></a><h3>gst_fft_s32_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_fft_s32_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> *self</code></em>);</pre>
-<p>This frees the memory allocated for <em class="parameter"><code>self</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-fft-s32-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>self</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstffts32.html#GstFFTS32" title="GstFFTS32"><span class="type">GstFFTS32</span></a> instance for this call</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -342,30 +162,6 @@
   gint32 i;
 };
 </pre>
-<p>Data type for complex numbers composed of
-signed 32 bit integers.</p>
-<div class="refsect3">
-<a name="GstFFTS32Complex.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="GstFFTS32Complex.r"></a>r</code></em>;</p></td>
-<td class="struct_member_description"><p>Real part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="GstFFTS32Complex.i"></a>i</code></em>;</p></td>
-<td class="struct_member_description"><p>Imaginary part</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstmikey.html b/docs/libs/html/gst-plugins-base-libs-gstmikey.html
index c8ade42..df33566 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstmikey.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstmikey.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-gstmikey.top_of_page"></a>gstmikey</span></h2>
-<p>gstmikey — Helper methods for dealing with MIKEY messages</p>
+<p>gstmikey</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -527,12 +527,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstmikey.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.12.3.6.2"></a><p>
-The GstMIKEY helper functions makes it easy to parse and create MIKEY
-messages.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstmikey.functions_details"></a><h2>Functions</h2>
@@ -540,12 +534,6 @@
 <a name="gst-mikey-message-new"></a><h3>gst_mikey_message_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="returnvalue">GstMIKEYMessage</span></a> *
 gst_mikey_message_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Make a new MIKEY message.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -554,74 +542,12 @@
 gst_mikey_message_new_from_bytes (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> *bytes</code></em>,
                                   <em class="parameter"><code><span class="type">GstMIKEYDecryptInfo</span> *info</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Make a new <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> from <em class="parameter"><code>bytes</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-new-from-bytes.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>bytes</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GstMIKEYDecryptInfo</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-new-from-bytes.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-message-new-from-caps"></a><h3>gst_mikey_message_new_from_caps ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="returnvalue">GstMIKEYMessage</span></a> *
 gst_mikey_message_new_from_caps (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Makes mikey message including:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Security Policy Payload</p></li>
-<li class="listitem"><p>Key Data Transport Payload</p></li>
-<li class="listitem"><p>Key Data Sub-Payload</p></li>
-</ul></div>
-<div class="refsect3">
-<a name="gst-mikey-message-new-from-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>, including SRTP parameters (srtp/srtcp cipher, authorization, key data)</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-new-from-caps.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a>,
-or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no srtp information in the caps. </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.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -631,51 +557,6 @@
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
                                  <em class="parameter"><code><span class="type">GstMIKEYDecryptInfo</span> *info</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Parse <em class="parameter"><code>size</code></em>
- bytes from <em class="parameter"><code>data</code></em>
- into a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a>. <em class="parameter"><code>info</code></em>
- contains the
-parameters to decrypt and verify the data.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-new-from-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> bytes to read. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>length of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p><span class="type">GstMIKEYDecryptInfo</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-new-from-data.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> on success or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> when parsing failed and
-<em class="parameter"><code>error</code></em>
-will be set.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -684,149 +565,30 @@
 gst_mikey_message_to_bytes (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                             <em class="parameter"><code><span class="type">GstMIKEYEncryptInfo</span> *info</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Convert <em class="parameter"><code>msg</code></em>
- to a <a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a>.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-to-bytes.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GstMIKEYEncryptInfo</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-to-bytes.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> for <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-message-base64-encode"></a><h3>gst_mikey_message_base64_encode ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_mikey_message_base64_encode (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-mikey-message-base64-encode.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-base64-encode.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a>, base64-encoded data. </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.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-message-copy"></a><h3>gst_mikey_message_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="returnvalue">GstMIKEYMessage</span></a> *
 gst_mikey_message_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *message</code></em>);</pre>
-<p>Create a copy of the given message.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-copy.returns"></a><h4>Returns</h4>
-<p> a new copy of <em class="parameter"><code>message</code></em>
-. </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-mikey-message-ref"></a><h3>gst_mikey_message_ref ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="returnvalue">GstMIKEYMessage</span></a> *
 gst_mikey_message_ref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *message</code></em>);</pre>
-<p>Increase the refcount of this message.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>The message to refcount</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-ref.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>message</code></em>
-(for convenience when doing assignments). </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-mikey-message-unref"></a><h3>gst_mikey_message_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_mikey_message_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *message</code></em>);</pre>
-<p>Decrease the refcount of an message, freeing it if the refcount reaches 0.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p> the message to refcount. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -839,88 +601,12 @@
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPRFFunc" title="enum GstMIKEYPRFFunc"><span class="type">GstMIKEYPRFFunc</span></a> prf_func</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> CSB_id</code></em>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapType" title="enum GstMIKEYMapType"><span class="type">GstMIKEYMapType</span></a> map_type</code></em>);</pre>
-<p>Set the information in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-set-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>version</p></td>
-<td class="parameter_description"><p>a version</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYType" title="enum GstMIKEYType"><span class="type">GstMIKEYType</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>V</p></td>
-<td class="parameter_description"><p>verify flag</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>prf_func</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPRFFunc" title="enum GstMIKEYPRFFunc"><span class="type">GstMIKEYPRFFunc</span></a> function to use</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>CSB_id</p></td>
-<td class="parameter_description"><p>the Crypto Session Bundle id</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>map_type</p></td>
-<td class="parameter_description"><p>the <span class="type">GstMIKEYCSIDMapType</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-set-info.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-message-get-n-cs"></a><h3>gst_mikey_message_get_n_cs ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_mikey_message_get_n_cs (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of crypto sessions in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-get-n-cs.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-get-n-cs.returns"></a><h4>Returns</h4>
-<p> the number of crypto sessions</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -928,36 +614,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapSRTP" title="GstMIKEYMapSRTP"><span class="returnvalue">GstMIKEYMapSRTP</span></a> *
 gst_mikey_message_get_cs_srtp (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the policy information of <em class="parameter"><code>msg</code></em>
- at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-get-cs-srtp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-get-cs-srtp.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapSRTP" title="GstMIKEYMapSRTP"><span class="type">GstMIKEYMapSRTP</span></a></p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -966,43 +622,6 @@
 gst_mikey_message_insert_cs_srtp (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                                   <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapSRTP" title="GstMIKEYMapSRTP"><span class="type">GstMIKEYMapSRTP</span></a> *map</code></em>);</pre>
-<p>Insert a Crypto Session map for SRTP in <em class="parameter"><code>msg</code></em>
- at <em class="parameter"><code>idx</code></em>
-</p>
-<p>When <em class="parameter"><code>idx</code></em>
- is -1, the policy will be appended.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-insert-cs-srtp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index to insert at</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>map</p></td>
-<td class="parameter_description"><p>the map info</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-insert-cs-srtp.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1010,35 +629,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_message_remove_cs_srtp (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>);</pre>
-<p>Remove the SRTP policy at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-remove-cs-srtp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index to remove</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-remove-cs-srtp.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1047,42 +637,6 @@
 gst_mikey_message_replace_cs_srtp (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                                    <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapSRTP" title="GstMIKEYMapSRTP"><span class="type">GstMIKEYMapSRTP</span></a> *map</code></em>);</pre>
-<p>Replace a Crypto Session map for SRTP in <em class="parameter"><code>msg</code></em>
- at <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>map</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-replace-cs-srtp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index to insert at</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>map</p></td>
-<td class="parameter_description"><p>the map info</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-replace-cs-srtp.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1092,75 +646,12 @@
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> policy</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ssrc</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> roc</code></em>);</pre>
-<p>Add a Crypto policy for SRTP to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-add-cs-srtp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>policy</p></td>
-<td class="parameter_description"><p>The security policy applied for the stream with <em class="parameter"><code>ssrc</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>the SSRC that must be used for the stream</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>roc</p></td>
-<td class="parameter_description"><p>current rollover counter</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-add-cs-srtp.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-message-get-n-payloads"></a><h3>gst_mikey_message_get_n_payloads ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_mikey_message_get_n_payloads (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of payloads in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-get-n-payloads.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-get-n-payloads.returns"></a><h4>Returns</h4>
-<p> the number of payloads in <em class="parameter"><code>msg</code></em>
-</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1168,40 +659,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="returnvalue">GstMIKEYPayload</span></a> *
 gst_mikey_message_get_payload (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> at <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>msg</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-mikey-message-get-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-get-payload.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> at <em class="parameter"><code>idx</code></em>
-. The payload
-remains valid for as long as it is part of <em class="parameter"><code>msg</code></em>
-. </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>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1210,44 +667,6 @@
 gst_mikey_message_find_payload (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadType" title="enum GstMIKEYPayloadType"><span class="type">GstMIKEYPayloadType</span></a> type</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</code></em>);</pre>
-<p>Find the <em class="parameter"><code>nth</code></em>
- occurence of the payload with <em class="parameter"><code>type</code></em>
- in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-find-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadType" title="enum GstMIKEYPayloadType"><span class="type">GstMIKEYPayloadType</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>payload to find</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-find-payload.returns"></a><h4>Returns</h4>
-<p> the <em class="parameter"><code>nth</code></em>
-<a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> of <em class="parameter"><code>type</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1256,45 +675,6 @@
 gst_mikey_message_insert_payload (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Insert the <em class="parameter"><code>payload</code></em>
- at index <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>msg</code></em>
-. If <em class="parameter"><code>idx</code></em>
- is -1, the payload
-will be appended to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-insert-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>payload</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-insert-payload.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1302,36 +682,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_message_remove_payload (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the payload in <em class="parameter"><code>msg</code></em>
- at <em class="parameter"><code>idx</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-mikey-message-remove-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-remove-payload.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1340,42 +690,6 @@
 gst_mikey_message_replace_payload (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                    <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Replace the payload at <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>msg</code></em>
- with <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-replace-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>payload</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-replace-payload.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1383,93 +697,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_message_add_payload (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Add a new payload to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-add-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>payload</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-add-payload.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-payload-new"></a><h3>gst_mikey_payload_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="returnvalue">GstMIKEYPayload</span></a> *
 gst_mikey_payload_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadType" title="enum GstMIKEYPayloadType"><span class="type">GstMIKEYPayloadType</span></a> type</code></em>);</pre>
-<p>Make a new <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> with <em class="parameter"><code>type</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>type</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadType" title="enum GstMIKEYPayloadType"><span class="type">GstMIKEYPayloadType</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. </p>
-<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-payload-copy"></a><h3>gst_mikey_payload_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="returnvalue">GstMIKEYPayload</span></a> *
 gst_mikey_payload_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Create a copy of the given payload.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-copy.returns"></a><h4>Returns</h4>
-<p> a new copy of <em class="parameter"><code>payload</code></em>
-. </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">
@@ -1481,52 +720,6 @@
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *vf_data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> vt_len</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *vt_data</code></em>);</pre>
-<p>Set the key validity period in the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-KEY-DATA:CAPS"><code class="literal">GST_MIKEY_PT_KEY_DATA</code></a> <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-interval.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vf_len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>vf_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vf_data</p></td>
-<td class="parameter_description"><p> the Valid From data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=vf_data]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vt_len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>vt_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vt_data</p></td>
-<td class="parameter_description"><p> the Valid To data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=vt_len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-interval.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1536,51 +729,6 @@
                                     <em class="parameter"><code><span class="type">GstMIKEYKeyDataType</span> key_type</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> key_len</code></em>,
                                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *key_data</code></em>);</pre>
-<p>Set <em class="parameter"><code>key_len</code></em>
- bytes of <em class="parameter"><code>key_data</code></em>
- of type <em class="parameter"><code>key_type</code></em>
- as the key for the
-<a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-KEY-DATA:CAPS"><code class="literal">GST_MIKEY_PT_KEY_DATA</code></a> <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-key.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key_type</p></td>
-<td class="parameter_description"><p>a <span class="type">GstMIKEYKeyDataType</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key_len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>key_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key_data</p></td>
-<td class="parameter_description"><p> the key of type <em class="parameter"><code>key_type</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=key_len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-key.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1589,43 +737,6 @@
 gst_mikey_payload_key_data_set_salt (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> salt_len</code></em>,
                                      <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *salt_data</code></em>);</pre>
-<p>Set the salt key data. If <em class="parameter"><code>salt_len</code></em>
- is 0 and <em class="parameter"><code>salt_data</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the
-salt data will be removed.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-salt.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>salt_len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>salt_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>salt_data</p></td>
-<td class="parameter_description"><p> the salt. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=salt_len][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-salt.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1634,93 +745,18 @@
 gst_mikey_payload_key_data_set_spi (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> spi_len</code></em>,
                                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *spi_data</code></em>);</pre>
-<p>Set the SPI/MKI validity in the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-KEY-DATA:CAPS"><code class="literal">GST_MIKEY_PT_KEY_DATA</code></a> <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-spi.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>spi_len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>spi_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>spi_data</p></td>
-<td class="parameter_description"><p> the SPI/MKI data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=spi_len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-key-data-set-spi.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-payload-ref"></a><h3>gst_mikey_payload_ref ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="returnvalue">GstMIKEYPayload</span></a> *
 gst_mikey_payload_ref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Increase the refcount of this payload.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>The payload to refcount</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-ref.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>payload</code></em>
-(for convenience when doing assignments). </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-mikey-payload-unref"></a><h3>gst_mikey_payload_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_mikey_payload_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Decrease the refcount of an payload, freeing it if the refcount reaches 0.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p> the payload to refcount. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1729,41 +765,6 @@
 gst_mikey_payload_kemac_set (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYEncAlg" title="enum GstMIKEYEncAlg"><span class="type">GstMIKEYEncAlg</span></a> enc_alg</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMacAlg" title="enum GstMIKEYMacAlg"><span class="type">GstMIKEYMacAlg</span></a> mac_alg</code></em>);</pre>
-<p>Set the KEMAC parameters. <em class="parameter"><code>payload</code></em>
- should point to a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-KEMAC:CAPS"><code class="literal">GST_MIKEY_PT_KEMAC</code></a>
-payload.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>enc_alg</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYEncAlg" title="enum GstMIKEYEncAlg"><span class="type">GstMIKEYEncAlg</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mac_alg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMacAlg" title="enum GstMIKEYMacAlg"><span class="type">GstMIKEYMacAlg</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-set.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1771,66 +772,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_payload_kemac_add_sub (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *newpay</code></em>);</pre>
-<p>Add a new sub payload to <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-add-sub.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>newpay</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> to add. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-add-sub.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-payload-kemac-get-n-sub"></a><h3>gst_mikey_payload_kemac_get_n_sub ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_mikey_payload_kemac_get_n_sub (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Get the number of sub payloads of <em class="parameter"><code>payload</code></em>
-. <em class="parameter"><code>payload</code></em>
- should be of type
-<a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-KEMAC:CAPS"><code class="literal">GST_MIKEY_PT_KEMAC</code></a>.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-get-n-sub.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-get-n-sub.returns"></a><h4>Returns</h4>
-<p> the number of sub payloads in <em class="parameter"><code>payload</code></em>
-</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1838,40 +785,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="returnvalue">GstMIKEYPayload</span></a> *
 gst_mikey_payload_kemac_get_sub (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the sub payload of <em class="parameter"><code>payload</code></em>
- at <em class="parameter"><code>idx</code></em>
-. <em class="parameter"><code>payload</code></em>
- should be of type
-<a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-KEMAC:CAPS"><code class="literal">GST_MIKEY_PT_KEMAC</code></a>.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-get-sub.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-get-sub.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> at <em class="parameter"><code>idx</code></em>
-. </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>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1879,36 +792,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_payload_kemac_remove_sub (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the sub payload at <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-remove-sub.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index to remove</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-kemac-remove-sub.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1918,48 +801,6 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYCacheType" title="enum GstMIKEYCacheType"><span class="type">GstMIKEYCacheType</span></a> C</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> data_len</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>);</pre>
-<p>Set the PKE values in <em class="parameter"><code>payload</code></em>
-. <em class="parameter"><code>payload</code></em>
- must be of type
-<a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-PKE:CAPS"><code class="literal">GST_MIKEY_PT_PKE</code></a>.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-pke-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>C</p></td>
-<td class="parameter_description"><p>envelope key cache indicator</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data_len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> the encrypted envelope key. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=data_len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-pke-set.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1969,46 +810,6 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYCacheType" title="enum GstMIKEYCacheType"><span class="type">GstMIKEYCacheType</span></a> C</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> data_len</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>);</pre>
-<p>Add a new PKE payload to <em class="parameter"><code>msg</code></em>
- with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-add-pke.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>C</p></td>
-<td class="parameter_description"><p>envelope key cache indicator</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data_len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> the encrypted envelope key. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=data_len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-add-pke.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2017,40 +818,6 @@
 gst_mikey_payload_t_set (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYTSType" title="enum GstMIKEYTSType"><span class="type">GstMIKEYTSType</span></a> type</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ts_value</code></em>);</pre>
-<p>Set the timestamp in a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-T:CAPS"><code class="literal">GST_MIKEY_PT_T</code></a> <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-t-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYTSType" title="enum GstMIKEYTSType"><span class="type">GstMIKEYTSType</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ts_value</p></td>
-<td class="parameter_description"><p> the timestamp value. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-t-set.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2059,70 +826,12 @@
 gst_mikey_message_add_t (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYTSType" title="enum GstMIKEYTSType"><span class="type">GstMIKEYTSType</span></a> type</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ts_value</code></em>);</pre>
-<p>Add a new T payload to <em class="parameter"><code>msg</code></em>
- with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-add-t.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>specifies the timestamp type used</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ts_value</p></td>
-<td class="parameter_description"><p> The timestamp value of the specified <em class="parameter"><code>type</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-add-t.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-message-add-t-now-ntp-utc"></a><h3>gst_mikey_message_add_t_now_ntp_utc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_message_add_t_now_ntp_utc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>);</pre>
-<p>Add a new T payload to <em class="parameter"><code>msg</code></em>
- that contains the current time
-in NTP-UTC format.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-add-t-now-ntp-utc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-add-t-now-ntp-utc.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2131,41 +840,6 @@
 gst_mikey_payload_rand_set (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> len</code></em>,
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *rand</code></em>);</pre>
-<p>Set the random values in a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-RAND:CAPS"><code class="literal">GST_MIKEY_PT_RAND</code></a> <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-rand-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>rand</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rand</p></td>
-<td class="parameter_description"><p> random values. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-rand-set.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2174,41 +848,6 @@
 gst_mikey_message_add_rand (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> len</code></em>,
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *rand</code></em>);</pre>
-<p>Add a new RAND payload to <em class="parameter"><code>msg</code></em>
- with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-add-rand.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>rand</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rand</p></td>
-<td class="parameter_description"><p> random data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-add-rand.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2216,36 +855,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_message_add_rand_len (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a> *msg</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> len</code></em>);</pre>
-<p>Add a new RAND payload to <em class="parameter"><code>msg</code></em>
- with <em class="parameter"><code>len</code></em>
- random bytes.</p>
-<div class="refsect3">
-<a name="gst-mikey-message-add-rand-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMessage" title="struct GstMIKEYMessage"><span class="type">GstMIKEYMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>length</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-message-add-rand-len.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2254,70 +863,12 @@
 gst_mikey_payload_sp_set (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> policy</code></em>,
                           <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYSecProto" title="enum GstMIKEYSecProto"><span class="type">GstMIKEYSecProto</span></a> proto</code></em>);</pre>
-<p>Set the Security Policy parameters for <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>policy</p></td>
-<td class="parameter_description"><p>the policy number</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>proto</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYSecProto" title="enum GstMIKEYSecProto"><span class="type">GstMIKEYSecProto</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-set.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-mikey-payload-sp-get-n-params"></a><h3>gst_mikey_payload_sp_get_n_params ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_mikey_payload_sp_get_n_params (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>);</pre>
-<p>Get the number of security policy parameters in a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-SP:CAPS"><code class="literal">GST_MIKEY_PT_SP</code></a>
-<em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-get-n-params.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-get-n-params.returns"></a><h4>Returns</h4>
-<p> the number of parameters in <em class="parameter"><code>payload</code></em>
-</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2325,39 +876,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSPParam" title="GstMIKEYPayloadSPParam"><span class="returnvalue">GstMIKEYPayloadSPParam</span></a> *
 gst_mikey_payload_sp_get_param (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the Security Policy parameter in a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-SP:CAPS"><code class="literal">GST_MIKEY_PT_SP</code></a> <em class="parameter"><code>payload</code></em>
-
-at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-get-param.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-get-param.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadSPParam" title="GstMIKEYPayloadSPParam"><span class="type">GstMIKEYPayloadSPParam</span></a> at <em class="parameter"><code>idx</code></em>
-in <em class="parameter"><code>payload</code></em>
-</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2367,50 +885,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> type</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> len</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *val</code></em>);</pre>
-<p>Add a new parameter to the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-SP:CAPS"><code class="literal">GST_MIKEY_PT_SP</code></a> <em class="parameter"><code>payload</code></em>
- with <em class="parameter"><code>type</code></em>
-, <em class="parameter"><code>len</code></em>
-
-and <em class="parameter"><code>val</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-add-param.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>a type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>a length</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>val</p></td>
-<td class="parameter_description"><p> <em class="parameter"><code>len</code></em>
-bytes of data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-add-param.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2418,37 +892,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_mikey_payload_sp_remove_param (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> *payload</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the Security Policy parameters from a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GST-MIKEY-PT-SP:CAPS"><code class="literal">GST_MIKEY_PT_SP</code></a>
-<em class="parameter"><code>payload</code></em>
- at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-remove-param.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-mikey-payload-sp-remove-param.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -2457,12 +900,10 @@
 <a name="GST-MIKEY-VERSION:CAPS"></a><h3>GST_MIKEY_VERSION</h3>
 <pre class="programlisting">#define GST_MIKEY_VERSION 1
 </pre>
-<p>The supported MIKEY version 1.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYType"></a><h3>enum GstMIKEYType</h3>
-<p>Different MIKEY data types.</p>
 <div class="refsect3">
 <a name="GstMIKEYType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2474,59 +915,43 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-INVALID:CAPS"></a>GST_MIKEY_TYPE_INVALID</p></td>
-<td class="enum_member_description">
-<p>Invalid type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-PSK-INIT:CAPS"></a>GST_MIKEY_TYPE_PSK_INIT</p></td>
-<td class="enum_member_description">
-<p>Initiator's pre-shared key message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-PSK-VERIFY:CAPS"></a>GST_MIKEY_TYPE_PSK_VERIFY</p></td>
-<td class="enum_member_description">
-<p>Verification message of a Pre-shared key message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-PK-INIT:CAPS"></a>GST_MIKEY_TYPE_PK_INIT</p></td>
-<td class="enum_member_description">
-<p>Initiator's public-key transport message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-PK-VERIFY:CAPS"></a>GST_MIKEY_TYPE_PK_VERIFY</p></td>
-<td class="enum_member_description">
-<p>Verification message of a public-key message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-DH-INIT:CAPS"></a>GST_MIKEY_TYPE_DH_INIT</p></td>
-<td class="enum_member_description">
-<p>Initiator's DH exchange message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-DH-RESP:CAPS"></a>GST_MIKEY_TYPE_DH_RESP</p></td>
-<td class="enum_member_description">
-<p>Responder's DH exchange message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TYPE-ERROR:CAPS"></a>GST_MIKEY_TYPE_ERROR</p></td>
-<td class="enum_member_description">
-<p>Error message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2546,65 +971,10 @@
   GArray *payloads;
 };
 </pre>
-<p>Structure holding the information of the MIKEY message</p>
-<div class="refsect3">
-<a name="GstMIKEYMessage.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMIKEYMessage.version"></a>version</code></em>;</p></td>
-<td class="struct_member_description"><p>the version</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYType" title="enum GstMIKEYType"><span class="type">GstMIKEYType</span></a> <em class="structfield"><code><a name="GstMIKEYMessage.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYType" title="enum GstMIKEYType"><span class="type">GstMIKEYType</span></a> message type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMIKEYMessage.V"></a>V</code></em>;</p></td>
-<td class="struct_member_description"><p>verify flag</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPRFFunc" title="enum GstMIKEYPRFFunc"><span class="type">GstMIKEYPRFFunc</span></a> <em class="structfield"><code><a name="GstMIKEYMessage.prf-func"></a>prf_func</code></em>;</p></td>
-<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPRFFunc" title="enum GstMIKEYPRFFunc"><span class="type">GstMIKEYPRFFunc</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstMIKEYMessage.CSB-id"></a>CSB_id</code></em>;</p></td>
-<td class="struct_member_description"><p>Identifies the Crypto Session Bundle</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapType" title="enum GstMIKEYMapType"><span class="type">GstMIKEYMapType</span></a> <em class="structfield"><code><a name="GstMIKEYMessage.map-type"></a>map_type</code></em>;</p></td>
-<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMapType" title="enum GstMIKEYMapType"><span class="type">GstMIKEYMapType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstMIKEYMessage.map-info"></a>map_info</code></em>;</p></td>
-<td class="struct_member_description"><p>map info array of type depending on <em class="parameter"><code>map_type</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstMIKEYMessage.payloads"></a>payloads</code></em>;</p></td>
-<td class="struct_member_description"><p>the payload array of <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYPRFFunc"></a><h3>enum GstMIKEYPRFFunc</h3>
-<p>The PRF function that has been/will be used for key derivation</p>
 <div class="refsect3">
 <a name="GstMIKEYPRFFunc.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2615,10 +985,8 @@
 </colgroup>
 <tbody><tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PRF-MIKEY-1:CAPS"></a>GST_MIKEY_PRF_MIKEY_1</p></td>
-<td class="enum_member_description">
-<p>MIKEY-1 PRF function</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr></tbody>
 </table></div>
 </div>
@@ -2626,8 +994,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYMapType"></a><h3>enum GstMIKEYMapType</h3>
-<p>Specifies the method of uniquely mapping Crypto Sessions to the security
-protocol sessions.</p>
 <div class="refsect3">
 <a name="GstMIKEYMapType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2638,8 +1004,8 @@
 </colgroup>
 <tbody><tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-MAP-TYPE-SRTP:CAPS"></a>GST_MIKEY_MAP_TYPE_SRTP</p></td>
-<td class="enum_member_description"> </td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr></tbody>
 </table></div>
 </div>
@@ -2653,40 +1019,10 @@
   guint32 roc;
 } GstMIKEYMapSRTP;
 </pre>
-<p>The Security policy Map item for SRTP</p>
-<div class="refsect3">
-<a name="GstMIKEYMapSRTP.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMIKEYMapSRTP.policy"></a>policy</code></em>;</p></td>
-<td class="struct_member_description"><p>The security policy applied for the stream with <em class="parameter"><code>ssrc</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstMIKEYMapSRTP.ssrc"></a>ssrc</code></em>;</p></td>
-<td class="struct_member_description"><p>the SSRC that must be used for the stream</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstMIKEYMapSRTP.roc"></a>roc</code></em>;</p></td>
-<td class="struct_member_description"><p>current rollover counter</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYPayloadType"></a><h3>enum GstMIKEYPayloadType</h3>
-<p>Different MIKEY Payload types.</p>
 <div class="refsect3">
 <a name="GstMIKEYPayloadType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2698,108 +1034,78 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-LAST:CAPS"></a>GST_MIKEY_PT_LAST</p></td>
-<td class="enum_member_description">
-<p>Last payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-KEMAC:CAPS"></a>GST_MIKEY_PT_KEMAC</p></td>
-<td class="enum_member_description">
-<p>Key data transport payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-PKE:CAPS"></a>GST_MIKEY_PT_PKE</p></td>
-<td class="enum_member_description">
-<p>Envelope data payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-DH:CAPS"></a>GST_MIKEY_PT_DH</p></td>
-<td class="enum_member_description">
-<p>DH data payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-SIGN:CAPS"></a>GST_MIKEY_PT_SIGN</p></td>
-<td class="enum_member_description">
-<p>Signature payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-T:CAPS"></a>GST_MIKEY_PT_T</p></td>
-<td class="enum_member_description">
-<p>Timestamp payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-ID:CAPS"></a>GST_MIKEY_PT_ID</p></td>
-<td class="enum_member_description">
-<p>ID payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-CERT:CAPS"></a>GST_MIKEY_PT_CERT</p></td>
-<td class="enum_member_description">
-<p>Certificate Payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-CHASH:CAPS"></a>GST_MIKEY_PT_CHASH</p></td>
-<td class="enum_member_description">
-<p>Cert hash payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-V:CAPS"></a>GST_MIKEY_PT_V</p></td>
-<td class="enum_member_description">
-<p>Verfication message payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-SP:CAPS"></a>GST_MIKEY_PT_SP</p></td>
-<td class="enum_member_description">
-<p>Security Policy payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-RAND:CAPS"></a>GST_MIKEY_PT_RAND</p></td>
-<td class="enum_member_description">
-<p>RAND payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-ERR:CAPS"></a>GST_MIKEY_PT_ERR</p></td>
-<td class="enum_member_description">
-<p>Error payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-KEY-DATA:CAPS"></a>GST_MIKEY_PT_KEY_DATA</p></td>
-<td class="enum_member_description">
-<p>Key data sub-payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-PT-GEN-EXT:CAPS"></a>GST_MIKEY_PT_GEN_EXT</p></td>
-<td class="enum_member_description">
-<p>General Extension Payload</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2813,34 +1119,10 @@
   guint len;
 };
 </pre>
-<p>Hold the common fields for all payloads</p>
-<div class="refsect3">
-<a name="GstMIKEYPayload.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayloadType" title="enum GstMIKEYPayloadType"><span class="type">GstMIKEYPayloadType</span></a> <em class="structfield"><code><a name="GstMIKEYPayload.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>the payload type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstMIKEYPayload.len"></a>len</code></em>;</p></td>
-<td class="struct_member_description"><p>length of the payload</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYEncAlg"></a><h3>enum GstMIKEYEncAlg</h3>
-<p>The encryption algorithm used to encrypt the Encr data field</p>
 <div class="refsect3">
 <a name="GstMIKEYEncAlg.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2852,24 +1134,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-ENC-NULL:CAPS"></a>GST_MIKEY_ENC_NULL</p></td>
-<td class="enum_member_description">
-<p>no encryption</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-ENC-AES-CM-128:CAPS"></a>GST_MIKEY_ENC_AES_CM_128</p></td>
-<td class="enum_member_description">
-<p>AES-CM using a 128-bit key</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-ENC-AES-KW-128:CAPS"></a>GST_MIKEY_ENC_AES_KW_128</p></td>
-<td class="enum_member_description">
-<p>AES Key Wrap using a 128-bit key</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2878,7 +1154,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYMacAlg"></a><h3>enum GstMIKEYMacAlg</h3>
-<p>Specifies the authentication algorithm used</p>
 <div class="refsect3">
 <a name="GstMIKEYMacAlg.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2890,17 +1165,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-MAC-NULL:CAPS"></a>GST_MIKEY_MAC_NULL</p></td>
-<td class="enum_member_description">
-<p>no authentication</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-MAC-HMAC-SHA-1-160:CAPS"></a>GST_MIKEY_MAC_HMAC_SHA_1_160</p></td>
-<td class="enum_member_description">
-<p>HMAC-SHA-1-160</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2917,44 +1188,10 @@
   GArray *subpayloads;
 } GstMIKEYPayloadKEMAC;
 </pre>
-<p>A structure holding the KEMAC payload</p>
-<div class="refsect3">
-<a name="GstMIKEYPayloadKEMAC.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadKEMAC.pt"></a>pt</code></em>;</p></td>
-<td class="struct_member_description"><p>the common <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYEncAlg" title="enum GstMIKEYEncAlg"><span class="type">GstMIKEYEncAlg</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadKEMAC.enc-alg"></a>enc_alg</code></em>;</p></td>
-<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYEncAlg" title="enum GstMIKEYEncAlg"><span class="type">GstMIKEYEncAlg</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMacAlg" title="enum GstMIKEYMacAlg"><span class="type">GstMIKEYMacAlg</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadKEMAC.mac-alg"></a>mac_alg</code></em>;</p></td>
-<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYMacAlg" title="enum GstMIKEYMacAlg"><span class="type">GstMIKEYMacAlg</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstMIKEYPayloadKEMAC.subpayloads"></a>subpayloads</code></em>;</p></td>
-<td class="struct_member_description"><p>the subpayloads</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYCacheType"></a><h3>enum GstMIKEYCacheType</h3>
-<p>The different cache types</p>
 <div class="refsect3">
 <a name="GstMIKEYCacheType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2966,25 +1203,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-CACHE-NONE:CAPS"></a>GST_MIKEY_CACHE_NONE</p></td>
-<td class="enum_member_description">
-<p>The envelope key MUST NOT be cached</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-CACHE-ALWAYS:CAPS"></a>GST_MIKEY_CACHE_ALWAYS</p></td>
-<td class="enum_member_description">
-<p>The envelope key MUST be cached</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-CACHE-FOR-CSB:CAPS"></a>GST_MIKEY_CACHE_FOR_CSB</p></td>
-<td class="enum_member_description">
-<p>The envelope key MUST be cached, but only
-                          to be used for the specific CSB.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -3001,48 +1231,10 @@
   guint8           *data;
 } GstMIKEYPayloadPKE;
 </pre>
-<p>The Envelope data payload contains the encrypted envelope key that is
-used in the public-key transport to protect the data in the Key data
-transport payload.  The encryption algorithm used is implicit from
-the certificate/public key used.</p>
-<div class="refsect3">
-<a name="GstMIKEYPayloadPKE.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadPKE.pt"></a>pt</code></em>;</p></td>
-<td class="struct_member_description"><p>the common <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYCacheType" title="enum GstMIKEYCacheType"><span class="type">GstMIKEYCacheType</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadPKE.C"></a>C</code></em>;</p></td>
-<td class="struct_member_description"><p>envelope key cache indicator</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadPKE.data-len"></a>data_len</code></em>;</p></td>
-<td class="struct_member_description"><p>length of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstMIKEYPayloadPKE.data"></a>data</code></em>;</p></td>
-<td class="struct_member_description"><p>the encrypted envelope key</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYTSType"></a><h3>enum GstMIKEYTSType</h3>
-<p>Specifies the timestamp type.</p>
 <div class="refsect3">
 <a name="GstMIKEYTSType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -3054,24 +1246,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TS-TYPE-NTP-UTC:CAPS"></a>GST_MIKEY_TS_TYPE_NTP_UTC</p></td>
-<td class="enum_member_description">
-<p>an NTP time in UTC timezone</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TS-TYPE-NTP:CAPS"></a>GST_MIKEY_TS_TYPE_NTP</p></td>
-<td class="enum_member_description">
-<p>an NTP time</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-TS-TYPE-COUNTER:CAPS"></a>GST_MIKEY_TS_TYPE_COUNTER</p></td>
-<td class="enum_member_description">
-<p>a counter</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -3087,34 +1273,6 @@
   guint8         *ts_value;
 } GstMIKEYPayloadT;
 </pre>
-<p>The timestamp payload carries the timestamp information</p>
-<div class="refsect3">
-<a name="GstMIKEYPayloadT.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadT.pt"></a>pt</code></em>;</p></td>
-<td class="struct_member_description"><p>the payload header</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYTSType" title="enum GstMIKEYTSType"><span class="type">GstMIKEYTSType</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadT.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYTSType" title="enum GstMIKEYTSType"><span class="type">GstMIKEYTSType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstMIKEYPayloadT.ts-value"></a>ts_value</code></em>;</p></td>
-<td class="struct_member_description"><p>the timestamp value</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3126,40 +1284,10 @@
   guint8 *rand;
 } GstMIKEYPayloadRAND;
 </pre>
-<p>The RAND payload consists of a (pseudo-)random bit-string</p>
-<div class="refsect3">
-<a name="GstMIKEYPayloadRAND.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadRAND.pt"></a>pt</code></em>;</p></td>
-<td class="struct_member_description"><p>the payload header</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadRAND.len"></a>len</code></em>;</p></td>
-<td class="struct_member_description"><p>the length of <em class="parameter"><code>rand</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstMIKEYPayloadRAND.rand"></a>rand</code></em>;</p></td>
-<td class="struct_member_description"><p>random values</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYSecProto"></a><h3>enum GstMIKEYSecProto</h3>
-<p>Specifies the security protocol</p>
 <div class="refsect3">
 <a name="GstMIKEYSecProto.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -3170,8 +1298,8 @@
 </colgroup>
 <tbody><tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SEC-PROTO-SRTP:CAPS"></a>GST_MIKEY_SEC_PROTO_SRTP</p></td>
-<td class="enum_member_description"> </td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr></tbody>
 </table></div>
 </div>
@@ -3179,7 +1307,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstMIKEYSecSRTP"></a><h3>enum GstMIKEYSecSRTP</h3>
-<p>This policy specifies the parameters for SRTP and SRTCP</p>
 <div class="refsect3">
 <a name="GstMIKEYSecSRTP.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -3191,94 +1318,68 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-ENC-ALG:CAPS"></a>GST_MIKEY_SP_SRTP_ENC_ALG</p></td>
-<td class="enum_member_description">
-<p>Encryption algorithm</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-ENC-KEY-LEN:CAPS"></a>GST_MIKEY_SP_SRTP_ENC_KEY_LEN</p></td>
-<td class="enum_member_description">
-<p>Session Encr. key length</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-AUTH-ALG:CAPS"></a>GST_MIKEY_SP_SRTP_AUTH_ALG</p></td>
-<td class="enum_member_description">
-<p>Authentication algorithm</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-AUTH-KEY-LEN:CAPS"></a>GST_MIKEY_SP_SRTP_AUTH_KEY_LEN</p></td>
-<td class="enum_member_description">
-<p>Session Auth. key length</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-SALT-KEY-LEN:CAPS"></a>GST_MIKEY_SP_SRTP_SALT_KEY_LEN</p></td>
-<td class="enum_member_description">
-<p>Session Salt key length</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-PRF:CAPS"></a>GST_MIKEY_SP_SRTP_PRF</p></td>
-<td class="enum_member_description">
-<p>SRTP Pseudo Random Function</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-KEY-DERIV-RATE:CAPS"></a>GST_MIKEY_SP_SRTP_KEY_DERIV_RATE</p></td>
-<td class="enum_member_description">
-<p>Key derivation rate</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-SRTP-ENC:CAPS"></a>GST_MIKEY_SP_SRTP_SRTP_ENC</p></td>
-<td class="enum_member_description">
-<p>SRTP encryption off/on, 0 if off, 1 if on</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-SRTCP-ENC:CAPS"></a>GST_MIKEY_SP_SRTP_SRTCP_ENC</p></td>
-<td class="enum_member_description">
-<p>SRTCP encryption off/on, 0 if off, 1 if on</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-FEC-ORDER:CAPS"></a>GST_MIKEY_SP_SRTP_FEC_ORDER</p></td>
-<td class="enum_member_description">
-<p>sender's FEC order</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-SRTP-AUTH:CAPS"></a>GST_MIKEY_SP_SRTP_SRTP_AUTH</p></td>
-<td class="enum_member_description">
-<p>SRTP authentication off/on, 0 if off, 1 if on</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-AUTH-TAG-LEN:CAPS"></a>GST_MIKEY_SP_SRTP_AUTH_TAG_LEN</p></td>
-<td class="enum_member_description">
-<p>Authentication tag length</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MIKEY-SP-SRTP-SRTP-PREFIX-LEN:CAPS"></a>GST_MIKEY_SP_SRTP_SRTP_PREFIX_LEN</p></td>
-<td class="enum_member_description">
-<p>SRTP prefix length</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -3295,40 +1396,6 @@
   GArray *params;
 } GstMIKEYPayloadSP;
 </pre>
-<p>The Security Policy payload defines a set of policies that apply to a
-specific security protocol</p>
-<div class="refsect3">
-<a name="GstMIKEYPayloadSP.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYPayload" title="struct GstMIKEYPayload"><span class="type">GstMIKEYPayload</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadSP.pt"></a>pt</code></em>;</p></td>
-<td class="struct_member_description"><p>the payload header</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadSP.policy"></a>policy</code></em>;</p></td>
-<td class="struct_member_description"><p>the policy number</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstmikey.html#GstMIKEYSecProto" title="enum GstMIKEYSecProto"><span class="type">GstMIKEYSecProto</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadSP.proto"></a>proto</code></em>;</p></td>
-<td class="struct_member_description"><p>the security protocol</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstMIKEYPayloadSP.params"></a>params</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <span class="type">GstMIKEYPayloadPSParam</span></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3339,35 +1406,6 @@
   guint8 *val;
 } GstMIKEYPayloadSPParam;
 </pre>
-<p>A Type/Length/Value field for security paramaters</p>
-<div class="refsect3">
-<a name="GstMIKEYPayloadSPParam.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadSPParam.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>specifies the type of the parameter</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMIKEYPayloadSPParam.len"></a>len</code></em>;</p></td>
-<td class="struct_member_description"><p>specifies the length of <em class="parameter"><code>val</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstMIKEYPayloadSPParam.val"></a>val</code></em>;</p></td>
-<td class="struct_member_description"><p>specifies the value of the parameter</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstnavigation.html b/docs/libs/html/gst-plugins-base-libs-gstnavigation.html
index ee62dd0..28b3c6b 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstnavigation.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstnavigation.html
@@ -28,8 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstnavigation.top_of_page"></a>gstnavigation</span></h2>
-<p>gstnavigation — Interface for creating, sending and parsing navigation
-events.</p>
+<p>gstnavigation</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -320,34 +319,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstnavigation.description"></a><h2>Description</h2>
-<p>The Navigation interface is used for creating and injecting navigation related
-events such as mouse button presses, cursor motion and key presses. The associated
-library also provides methods for parsing received events, and for sending and
-receiving navigation related bus events. One main usecase is DVD menu navigation.</p>
-<p>The main parts of the API are:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-The GstNavigation interface, implemented by elements which provide an application
-with the ability to create and inject navigation events into the pipeline.
-</p></li>
-<li class="listitem"><p>
-GstNavigation event handling API. GstNavigation events are created in response to
-calls on a GstNavigation interface implementation, and sent in the pipeline. Upstream
-elements can use the navigation event API functions to parse the contents of received
-messages.
-</p></li>
-<li class="listitem">
-<p>
-GstNavigation message handling API. GstNavigation messages may be sent on the message
-bus to inform applications of navigation related changes in the pipeline, such as the
-mouse moving over a clickable region, or the set of available angles changing.
-</p>
-<p>
-The GstNavigation message functions provide functions for creating and parsing
-custom bus messages for signaling GstNavigation changes.
-</p>
-</li>
-</ul></div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstnavigation.functions_details"></a><h2>Functions</h2>
@@ -364,35 +335,6 @@
 gst_navigation_send_key_event (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> *navigation</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *event</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-navigation-send-key-event.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>navigation</p></td>
-<td class="parameter_description"><p>The navigation interface instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>event</p></td>
-<td class="parameter_description"><p>The type of the key event. Recognised values are "key-press" and
-"key-release"</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>Character representation of the key. This is typically as produced
-by XKeysymToString.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -403,49 +345,6 @@
                                  <em class="parameter"><code><span class="type">int</span> button</code></em>,
                                  <em class="parameter"><code><span class="type">double</span> x</code></em>,
                                  <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre>
-<p>Sends a mouse event to the navigation interface. Mouse event coordinates
-are sent relative to the display space of the related output area. This is
-usually the size in pixels of the window associated with the element
-implementing the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> interface.</p>
-<div class="refsect3">
-<a name="gst-navigation-send-mouse-event.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>navigation</p></td>
-<td class="parameter_description"><p>The navigation interface instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>event</p></td>
-<td class="parameter_description"><p>The type of mouse event, as a text string. Recognised values are
-"mouse-button-press", "mouse-button-release" and "mouse-move".</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>button</p></td>
-<td class="parameter_description"><p>The button number of the button being pressed or released. Pass 0
-for mouse-move events.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>The x coordinate of the mouse event.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>The y coordinate of the mouse event.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -453,29 +352,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_navigation_send_command (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> *navigation</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationCommand" title="enum GstNavigationCommand"><span class="type">GstNavigationCommand</span></a> command</code></em>);</pre>
-<p>Sends the indicated command to the navigation interface.</p>
-<div class="refsect3">
-<a name="gst-navigation-send-command.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>navigation</p></td>
-<td class="parameter_description"><p>The navigation interface instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>command</p></td>
-<td class="parameter_description"><p>The command to issue</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -483,35 +359,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_navigation_event_parse_command (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> *event</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationCommand" title="enum GstNavigationCommand"><span class="type">GstNavigationCommand</span></a> *command</code></em>);</pre>
-<p>Inspect a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> command event and retrieve the enum value of the
-associated command.</p>
-<div class="refsect3">
-<a name="gst-navigation-event-parse-command.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>command</p></td>
-<td class="parameter_description"><p>Pointer to GstNavigationCommand to receive the type of the
-navigation event.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-event-parse-command.returns"></a><h4>Returns</h4>
-<p> TRUE if the navigation command could be extracted, otherwise FALSE.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -519,30 +366,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_navigation_event_parse_key_event (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> *event</code></em>,
                                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **key</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-navigation-event-parse-key-event.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>A pointer to a location to receive the string identifying the key
-press. The returned string is owned by the event, and valid only until the
-event is unreffed.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -553,49 +376,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *button</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *x</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *y</code></em>);</pre>
-<p>Retrieve the details of either a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> mouse button press event or
-a mouse button release event. Determine which type the event is using
-<code class="function">gst_navigation_event_get_type()</code> to retrieve the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationEventType" title="enum GstNavigationEventType"><span class="type">GstNavigationEventType</span></a>.</p>
-<div class="refsect3">
-<a name="gst-navigation-event-parse-mouse-button-event.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>button</p></td>
-<td class="parameter_description"><p>Pointer to a gint that will receive the button number associated
-with the event.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>Pointer to a gdouble to receive the x coordinate of the mouse button
-event.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>Pointer to a gdouble to receive the y coordinate of the mouse button
-event.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-event-parse-mouse-button-event.returns"></a><h4>Returns</h4>
-<p> TRUE if the button number and both coordinates could be extracted,
-otherwise FALSE.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -605,68 +385,12 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> *event</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *x</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *y</code></em>);</pre>
-<p>Inspect a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> mouse movement event and extract the coordinates
-of the event.</p>
-<div class="refsect3">
-<a name="gst-navigation-event-parse-mouse-move-event.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>Pointer to a gdouble to receive the x coordinate of the mouse movement.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>Pointer to a gdouble to receive the y coordinate of the mouse movement.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-event-parse-mouse-move-event.returns"></a><h4>Returns</h4>
-<p> TRUE if both coordinates could be extracted, otherwise FALSE.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-navigation-message-get-type"></a><h3>gst_navigation_message_get_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationMessageType" title="enum GstNavigationMessageType"><span class="returnvalue">GstNavigationMessageType</span></a>
 gst_navigation_message_get_type (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
-<p>Check a bus message to see if it is a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> event, and return
-the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationMessageType" title="enum GstNavigationMessageType"><span class="type">GstNavigationMessageType</span></a> identifying the type of the message if so.</p>
-<div class="refsect3">
-<a name="gst-navigation-message-get-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-get-type.returns"></a><h4>Returns</h4>
-<p> The type of the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>, or
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-MESSAGE-INVALID:CAPS"><span class="type">GST_NAVIGATION_MESSAGE_INVALID</span></a> if the message is not a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a>
-notification.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -676,41 +400,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> *src</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> cur_angle</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> n_angles</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> message with type
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-MESSAGE-ANGLES-CHANGED:CAPS"><span class="type">GST_NAVIGATION_MESSAGE_ANGLES_CHANGED</span></a> for notifying an application
-that the current angle, or current number of angles available in a
-multiangle video has changed.</p>
-<div class="refsect3">
-<a name="gst-navigation-message-new-angles-changed.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> to set as source of the new message.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cur_angle</p></td>
-<td class="parameter_description"><p>The currently selected angle.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_angles</p></td>
-<td class="parameter_description"><p>The number of viewing angles now available.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-new-angles-changed.returns"></a><h4>Returns</h4>
-<p> The new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -718,27 +407,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_navigation_message_new_commands_changed
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> *src</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> message with type
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-MESSAGE-COMMANDS-CHANGED:CAPS"><span class="type">GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</span></a></p>
-<div class="refsect3">
-<a name="gst-navigation-message-new-commands-changed.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> to set as source of the new message.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-new-commands-changed.returns"></a><h4>Returns</h4>
-<p> The new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -746,35 +414,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_navigation_message_new_event (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> *src</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> *event</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> message with type
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-MESSAGE-EVENT:CAPS"><span class="type">GST_NAVIGATION_MESSAGE_EVENT</span></a>.</p>
-<div class="refsect3">
-<a name="gst-navigation-message-new-event.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> to set as source of the new message.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>event</p></td>
-<td class="parameter_description"><p> A navigation <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-new-event.returns"></a><h4>Returns</h4>
-<p> The new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -782,35 +421,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_navigation_message_new_mouse_over (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> *src</code></em>,
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> message with type
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-MESSAGE-MOUSE-OVER:CAPS"><span class="type">GST_NAVIGATION_MESSAGE_MOUSE_OVER</span></a>.</p>
-<div class="refsect3">
-<a name="gst-navigation-message-new-mouse-over.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> to set as source of the new message.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>active</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the mouse has entered a clickable area of the display.
-<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it over a non-clickable area.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-new-mouse-over.returns"></a><h4>Returns</h4>
-<p> The new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -820,42 +430,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *message</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *cur_angle</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_angles</code></em>);</pre>
-<p>Parse a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
-and extract the <em class="parameter"><code>cur_angle</code></em>
- and <em class="parameter"><code>n_angles</code></em>
- parameters.</p>
-<div class="refsect3">
-<a name="gst-navigation-message-parse-angles-changed.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cur_angle</p></td>
-<td class="parameter_description"><p>A pointer to a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> to receive the new current angle number,
-or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_angles</p></td>
-<td class="parameter_description"><p>A pointer to a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> to receive the new angle count, or NULL.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-parse-angles-changed.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message could be successfully parsed. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -863,38 +437,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_navigation_message_parse_event (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *message</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> **event</code></em>);</pre>
-<p>Parse a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> message of type <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-MESSAGE-EVENT:CAPS"><span class="type">GST_NAVIGATION_MESSAGE_EVENT</span></a>
-and extract contained <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a>. The caller must unref the <em class="parameter"><code>event</code></em>
- when done
-with it.</p>
-<div class="refsect3">
-<a name="gst-navigation-message-parse-event.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>event</p></td>
-<td class="parameter_description"><p> a pointer to a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to receive the
-contained navigation event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-parse-event.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message could be successfully parsed. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -903,89 +445,24 @@
 gst_navigation_message_parse_mouse_over
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *message</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *active</code></em>);</pre>
-<p>Parse a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> message of type <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-MESSAGE-MOUSE-OVER:CAPS"><span class="type">GST_NAVIGATION_MESSAGE_MOUSE_OVER</span></a>
-and extract the active/inactive flag. If the mouse over event is marked
-active, it indicates that the mouse is over a clickable area.</p>
-<div class="refsect3">
-<a name="gst-navigation-message-parse-mouse-over.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> to inspect.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>active</p></td>
-<td class="parameter_description"><p>A pointer to a gboolean to receive the active/inactive state,
-or NULL.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-message-parse-mouse-over.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message could be successfully parsed. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-navigation-query-new-angles"></a><h3>gst_navigation_query_new_angles ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="returnvalue">GstQuery</span></a> *
 gst_navigation_query_new_angles (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Create a new <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> angles query. When executed, it will
-query the pipeline for the set of currently available angles, which may be
-greater than one in a multiangle video.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-new-angles.returns"></a><h4>Returns</h4>
-<p> The new query.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-navigation-query-get-type"></a><h3>gst_navigation_query_get_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationQueryType" title="enum GstNavigationQueryType"><span class="returnvalue">GstNavigationQueryType</span></a>
 gst_navigation_query_get_type (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *query</code></em>);</pre>
-<p>Inspect a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> and return the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationQueryType" title="enum GstNavigationQueryType"><span class="type">GstNavigationQueryType</span></a> associated with
-it if it is a <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> query.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-get-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>query</p></td>
-<td class="parameter_description"><p>The query to inspect</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-query-get-type.returns"></a><h4>Returns</h4>
-<p> The <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationQueryType" title="enum GstNavigationQueryType"><span class="type">GstNavigationQueryType</span></a> of the query, or
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-QUERY-INVALID:CAPS"><span class="type">GST_NAVIGATION_QUERY_INVALID</span></a></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-navigation-query-new-commands"></a><h3>gst_navigation_query_new_commands ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="returnvalue">GstQuery</span></a> *
 gst_navigation_query_new_commands (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Create a new <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> commands query. When executed, it will
-query the pipeline for the set of currently available commands.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-new-commands.returns"></a><h4>Returns</h4>
-<p> The new query.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -994,45 +471,6 @@
 gst_navigation_query_parse_angles (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *query</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *cur_angle</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_angles</code></em>);</pre>
-<p>Parse the current angle number in the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> angles <em class="parameter"><code>query</code></em>
- into the
-<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> pointed to by the <em class="parameter"><code>cur_angle</code></em>
- variable, and the number of available
-angles into the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> pointed to by the <em class="parameter"><code>n_angles</code></em>
- variable.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-parse-angles.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>query</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cur_angle</p></td>
-<td class="parameter_description"><p>Pointer to a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> into which to store the currently selected
-angle value from the query, or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_angles</p></td>
-<td class="parameter_description"><p>Pointer to a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> into which to store the number of angles
-value from the query, or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-query-parse-angles.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be successfully parsed. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1041,34 +479,6 @@
 gst_navigation_query_parse_commands_length
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *query</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_cmds</code></em>);</pre>
-<p>Parse the number of commands in the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> commands <em class="parameter"><code>query</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-parse-commands-length.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>query</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_cmds</p></td>
-<td class="parameter_description"><p> the number of commands in this query. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-query-parse-commands-length.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be successfully parsed. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1078,44 +488,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *query</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationCommand" title="enum GstNavigationCommand"><span class="type">GstNavigationCommand</span></a> *cmd</code></em>);</pre>
-<p>Parse the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> command query and retrieve the <em class="parameter"><code>nth</code></em>
- command from
-it into <em class="parameter"><code>cmd</code></em>
-. If the list contains less elements than <em class="parameter"><code>nth</code></em>
-, <em class="parameter"><code>cmd</code></em>
- will be
-set to <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GST-NAVIGATION-COMMAND-INVALID:CAPS"><span class="type">GST_NAVIGATION_COMMAND_INVALID</span></a>.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-parse-commands-nth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>query</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>the nth command to retrieve.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cmd</p></td>
-<td class="parameter_description"><p> a pointer to store the nth command into. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-navigation-query-parse-commands-nth.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the query could be successfully parsed. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1124,35 +496,6 @@
 gst_navigation_query_set_angles (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *query</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> cur_angle</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> n_angles</code></em>);</pre>
-<p>Set the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> angles query result field in <em class="parameter"><code>query</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-set-angles.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>query</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cur_angle</p></td>
-<td class="parameter_description"><p>the current viewing angle to set.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_angles</p></td>
-<td class="parameter_description"><p>the number of viewing angles to set.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1161,39 +504,6 @@
 gst_navigation_query_set_commands (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *query</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> n_cmds</code></em>,
                                    <em class="parameter"><code>...</code></em>);</pre>
-<p>Set the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> command query result fields in <em class="parameter"><code>query</code></em>
-. The number
-of commands passed must be equal to <em class="parameter"><code>n_commands</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-set-commands.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>query</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_cmds</p></td>
-<td class="parameter_description"><p>the number of commands to set.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>A list of <em class="parameter"><code>GstNavigationCommand</code></em>
-values, <em class="parameter"><code>n_cmds</code></em>
-entries long.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1202,39 +512,6 @@
 gst_navigation_query_set_commandsv (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *query</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> n_cmds</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigationCommand" title="enum GstNavigationCommand"><span class="type">GstNavigationCommand</span></a> *cmds</code></em>);</pre>
-<p>Set the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> command query result fields in <em class="parameter"><code>query</code></em>
-. The number
-of commands passed must be equal to <em class="parameter"><code>n_commands</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-navigation-query-set-commandsv.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>query</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_cmds</p></td>
-<td class="parameter_description"><p>the number of commands to set.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cmds</p></td>
-<td class="parameter_description"><p>An array containing <em class="parameter"><code>n_cmds</code></em>
-<em class="parameter"><code>GstNavigationCommand</code></em>
-values.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -1253,51 +530,10 @@
   void (*send_event) (GstNavigation *navigation, GstStructure *structure);
 };
 </pre>
-<p>Navigation interface.</p>
-<div class="refsect3">
-<a name="GstNavigationInterface.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstNavigationInterface.iface"></a>iface</code></em>;</p></td>
-<td class="struct_member_description"><p>the parent interface</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstNavigationInterface.send-event"></a>send_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>sending a navigation event</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstNavigationCommand"></a><h3>enum GstNavigationCommand</h3>
-<p>A set of commands that may be issued to an element providing the
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#GstNavigation"><span class="type">GstNavigation</span></a> interface. The available commands can be queried via
-the <a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-query-new-commands" title="gst_navigation_query_new_commands ()"><code class="function">gst_navigation_query_new_commands()</code></a> query.</p>
-<p>For convenience in handling DVD navigation, the MENU commands are aliased as:
-   GST_NAVIGATION_COMMAND_DVD_MENU            = <em class="parameter"><code>GST_NAVIGATION_COMMAND_MENU1</code></em>
-
-   GST_NAVIGATION_COMMAND_DVD_TITLE_MENU      = <em class="parameter"><code>GST_NAVIGATION_COMMAND_MENU2</code></em>
-
-   GST_NAVIGATION_COMMAND_DVD_ROOT_MENU       = <em class="parameter"><code>GST_NAVIGATION_COMMAND_MENU3</code></em>
-
-   GST_NAVIGATION_COMMAND_DVD_SUBPICTURE_MENU = <em class="parameter"><code>GST_NAVIGATION_COMMAND_MENU4</code></em>
-
-   GST_NAVIGATION_COMMAND_DVD_AUDIO_MENU      = <em class="parameter"><code>GST_NAVIGATION_COMMAND_MENU5</code></em>
-
-   GST_NAVIGATION_COMMAND_DVD_ANGLE_MENU      = <em class="parameter"><code>GST_NAVIGATION_COMMAND_MENU6</code></em>
-
-   GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU    = <em class="parameter"><code>GST_NAVIGATION_COMMAND_MENU7</code></em>
-</p>
 <div class="refsect3">
 <a name="GstNavigationCommand.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1309,122 +545,78 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-INVALID:CAPS"></a>GST_NAVIGATION_COMMAND_INVALID</p></td>
-<td class="enum_member_description">
-<p>An invalid command entry</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-MENU1:CAPS"></a>GST_NAVIGATION_COMMAND_MENU1</p></td>
-<td class="enum_member_description">
-<p>Execute navigation menu command 1. For DVD,
-this enters the DVD root menu, or exits back to the title from the menu.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-MENU2:CAPS"></a>GST_NAVIGATION_COMMAND_MENU2</p></td>
-<td class="enum_member_description">
-<p>Execute navigation menu command 2. For DVD,
-this jumps to the DVD title menu.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-MENU3:CAPS"></a>GST_NAVIGATION_COMMAND_MENU3</p></td>
-<td class="enum_member_description">
-<p>Execute navigation menu command 3. For DVD,
-this jumps into the DVD root menu.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-MENU4:CAPS"></a>GST_NAVIGATION_COMMAND_MENU4</p></td>
-<td class="enum_member_description">
-<p>Execute navigation menu command 4. For DVD,
-this jumps to the Subpicture menu.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-MENU5:CAPS"></a>GST_NAVIGATION_COMMAND_MENU5</p></td>
-<td class="enum_member_description">
-<p>Execute navigation menu command 5. For DVD,
-the jumps to the audio menu.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-MENU6:CAPS"></a>GST_NAVIGATION_COMMAND_MENU6</p></td>
-<td class="enum_member_description">
-<p>Execute navigation menu command 6. For DVD,
-this jumps to the angles menu.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-MENU7:CAPS"></a>GST_NAVIGATION_COMMAND_MENU7</p></td>
-<td class="enum_member_description">
-<p>Execute navigation menu command 7. For DVD,
-this jumps to the chapter menu.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-LEFT:CAPS"></a>GST_NAVIGATION_COMMAND_LEFT</p></td>
-<td class="enum_member_description">
-<p>Select the next button to the left in a menu,
-if such a button exists.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-RIGHT:CAPS"></a>GST_NAVIGATION_COMMAND_RIGHT</p></td>
-<td class="enum_member_description">
-<p>Select the next button to the right in a menu,
-if such a button exists.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-UP:CAPS"></a>GST_NAVIGATION_COMMAND_UP</p></td>
-<td class="enum_member_description">
-<p>Select the button above the current one in a
-menu, if such a button exists.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-DOWN:CAPS"></a>GST_NAVIGATION_COMMAND_DOWN</p></td>
-<td class="enum_member_description">
-<p>Select the button below the current one in a
-menu, if such a button exists.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-ACTIVATE:CAPS"></a>GST_NAVIGATION_COMMAND_ACTIVATE</p></td>
-<td class="enum_member_description">
-<p>Activate (click) the currently selected
-button in a menu, if such a button exists.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-PREV-ANGLE:CAPS"></a>GST_NAVIGATION_COMMAND_PREV_ANGLE</p></td>
-<td class="enum_member_description">
-<p>Switch to the previous angle in a
-multiangle feature.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-COMMAND-NEXT-ANGLE:CAPS"></a>GST_NAVIGATION_COMMAND_NEXT_ANGLE</p></td>
-<td class="enum_member_description">
-<p>Switch to the next angle in a multiangle
-feature.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1433,8 +625,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstNavigationEventType"></a><h3>enum GstNavigationEventType</h3>
-<p>Enum values for the various events that an element implementing the
-GstNavigation interface might send up the pipeline.</p>
 <div class="refsect3">
 <a name="GstNavigationEventType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1446,62 +636,38 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-EVENT-INVALID:CAPS"></a>GST_NAVIGATION_EVENT_INVALID</p></td>
-<td class="enum_member_description">
-<p>Returned from
-<code class="function">gst_navigation_event_get_type()</code> when the passed event is not a navigation event.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-EVENT-KEY-PRESS:CAPS"></a>GST_NAVIGATION_EVENT_KEY_PRESS</p></td>
-<td class="enum_member_description">
-<p>A key press event. Use
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-event-parse-key-event" title="gst_navigation_event_parse_key_event ()"><code class="function">gst_navigation_event_parse_key_event()</code></a> to extract the details from the event.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-EVENT-KEY-RELEASE:CAPS"></a>GST_NAVIGATION_EVENT_KEY_RELEASE</p></td>
-<td class="enum_member_description">
-<p>A key release event. Use
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-event-parse-key-event" title="gst_navigation_event_parse_key_event ()"><code class="function">gst_navigation_event_parse_key_event()</code></a> to extract the details from the event.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-EVENT-MOUSE-BUTTON-PRESS:CAPS"></a>GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS</p></td>
-<td class="enum_member_description">
-<p>A mouse button press event. Use
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-event-parse-mouse-button-event" title="gst_navigation_event_parse_mouse_button_event ()"><code class="function">gst_navigation_event_parse_mouse_button_event()</code></a> to extract the details from the
-event.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-EVENT-MOUSE-BUTTON-RELEASE:CAPS"></a>GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE</p></td>
-<td class="enum_member_description">
-<p>A mouse button release event. Use
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-event-parse-mouse-button-event" title="gst_navigation_event_parse_mouse_button_event ()"><code class="function">gst_navigation_event_parse_mouse_button_event()</code></a> to extract the details from the
-event.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-EVENT-MOUSE-MOVE:CAPS"></a>GST_NAVIGATION_EVENT_MOUSE_MOVE</p></td>
-<td class="enum_member_description">
-<p>A mouse movement event. Use
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-event-parse-mouse-move-event" title="gst_navigation_event_parse_mouse_move_event ()"><code class="function">gst_navigation_event_parse_mouse_move_event()</code></a> to extract the details from the
-event.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-EVENT-COMMAND:CAPS"></a>GST_NAVIGATION_EVENT_COMMAND</p></td>
-<td class="enum_member_description">
-<p>A navigation command event. Use
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-event-parse-command" title="gst_navigation_event_parse_command ()"><code class="function">gst_navigation_event_parse_command()</code></a> to extract the details from the event.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1510,8 +676,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstNavigationMessageType"></a><h3>enum GstNavigationMessageType</h3>
-<p>A set of notifications that may be received on the bus when navigation
-related status changes.</p>
 <div class="refsect3">
 <a name="GstNavigationMessageType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1523,45 +687,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-MESSAGE-INVALID:CAPS"></a>GST_NAVIGATION_MESSAGE_INVALID</p></td>
-<td class="enum_member_description">
-<p>Returned from
-<a class="link" href="gst-plugins-base-libs-gstnavigation.html#gst-navigation-message-get-type" title="gst_navigation_message_get_type ()"><code class="function">gst_navigation_message_get_type()</code></a> when the passed message is not a
-navigation message.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-MESSAGE-MOUSE-OVER:CAPS"></a>GST_NAVIGATION_MESSAGE_MOUSE_OVER</p></td>
-<td class="enum_member_description">
-<p>Sent when the mouse moves over or leaves a
-clickable region of the output, such as a DVD menu button.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-MESSAGE-COMMANDS-CHANGED:CAPS"></a>GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</p></td>
-<td class="enum_member_description">
-<p>Sent when the set of available commands
-changes and should re-queried by interested applications.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-MESSAGE-ANGLES-CHANGED:CAPS"></a>GST_NAVIGATION_MESSAGE_ANGLES_CHANGED</p></td>
-<td class="enum_member_description">
-<p>Sent when display angles in a multi-angle
-feature (such as a multiangle DVD) change - either angles have appeared or
-disappeared.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-MESSAGE-EVENT:CAPS"></a>GST_NAVIGATION_MESSAGE_EVENT</p></td>
-<td class="enum_member_description">
-<p>Sent when a navigation event was not handled
-by any element in the pipeline (Since 1.6)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1570,7 +717,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstNavigationQueryType"></a><h3>enum GstNavigationQueryType</h3>
-<p>Tyoes of navigation interface queries.</p>
 <div class="refsect3">
 <a name="GstNavigationQueryType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1582,24 +728,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-QUERY-INVALID:CAPS"></a>GST_NAVIGATION_QUERY_INVALID</p></td>
-<td class="enum_member_description">
-<p>invalid query</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-QUERY-COMMANDS:CAPS"></a>GST_NAVIGATION_QUERY_COMMANDS</p></td>
-<td class="enum_member_description">
-<p>command query</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-NAVIGATION-QUERY-ANGLES:CAPS"></a>GST_NAVIGATION_QUERY_ANGLES</p></td>
-<td class="enum_member_description">
-<p>viewing angle query</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutils.html b/docs/libs/html/gst-plugins-base-libs-gstpbutils.html
index 36cc8a0..bfc6dec 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutils.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutils.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-gstpbutils.top_of_page"></a>gstpbutils</span></h2>
-<p>gstpbutils — General Application and Plugin Utility Library</p>
+<p>gstpbutils</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -55,42 +55,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutils.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.14.3.5.2"></a><h3>Linking to this library</h3>
-<p>
-libgstpbutils is a general utility library for plugins and applications.
-It currently provides the
-following:
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-human-readable description strings of codecs, elements, sources, decoders,
-encoders, or sinks from decoder/encoder caps, element names, or protocol
-names.
-</p></li>
-<li class="listitem"><p>
-support for applications to initiate installation of missing plugins (if
-this is supported by the distribution or operating system used)
-</p></li>
-<li class="listitem"><p>
-API for GStreamer elements to create missing-plugin messages in order to
-communicate to the application that a certain type of plugin is missing
-(decoder, encoder, URI protocol source, URI protocol sink, named element)
-</p></li>
-<li class="listitem"><p>
-API for applications to recognise and handle missing-plugin messages
-</p></li>
-</ul></div>
-<p>
-You should obtain the required CFLAGS and LIBS using pkg-config on the
-gstreamer-plugins-base-0.10 module. You will then also need to add
-'-lgstpbutils-0.10' manually to your LIBS line.
-</p>
-<p>
-Before using any of its functions, applications and plugins must call
-<a class="link" href="gst-plugins-base-libs-gstpbutils.html#gst-pb-utils-init" title="gst_pb_utils_init ()"><code class="function">gst_pb_utils_init()</code></a> to initialise the library.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutils.functions_details"></a><h2>Functions</h2>
@@ -98,11 +62,6 @@
 <a name="gst-pb-utils-init"></a><h3>gst_pb_utils_init ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_pb_utils_init (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Initialises the base utils support library. This function is not
-thread-safe. Applications should call it after calling <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-Gst.html#gst-init"><code class="function">gst_init()</code></a>,
-plugins should call it from their plugin_init function.</p>
-<p>This function may be called multiple times. It will do nothing if the
-library has already been initialised.</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
index b310dcc..5f0f78a 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilscodecutils.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-gstpbutilscodecutils.top_of_page"></a>gstpbutilscodecutils</span></h2>
-<p>gstpbutilscodecutils — Miscellaneous codec-specific utility functions</p>
+<p>gstpbutilscodecutils</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -71,6 +71,22 @@
 </tr>
 <tr>
 <td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-channels" title="gst_codec_utils_aac_get_channels ()">gst_codec_utils_aac_get_channels</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-sample-rate" title="gst_codec_utils_aac_get_sample_rate ()">gst_codec_utils_aac_get_sample_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
@@ -216,12 +232,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilscodecutils.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.14.5.5.2"></a><p>
-Provides codec-specific ulility functions such as functions to provide the
-codec profile and level in human-readable string form from header data.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilscodecutils.functions_details"></a><h2>Functions</h2>
@@ -230,29 +240,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_codec_utils_aac_get_sample_rate_from_index
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> sr_idx</code></em>);</pre>
-<p>Translates the sample rate index found in AAC headers to the actual sample
-rate.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-sample-rate-from-index.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sr_idx</p></td>
-<td class="parameter_description"><p>Sample rate index as from the AudioSpecificConfig (MPEG-4
-container) or ADTS frame header</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-sample-rate-from-index.returns"></a><h4>Returns</h4>
-<p> The sample rate if <em class="parameter"><code>sr_idx</code></em>
-is valid, 0 otherwise.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -260,27 +247,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_codec_utils_aac_get_index_from_sample_rate
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> rate</code></em>);</pre>
-<p>Translates the sample rate to the index corresponding to it in AAC spec.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-index-from-sample-rate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rate</p></td>
-<td class="parameter_description"><p>Sample rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-index-from-sample-rate.returns"></a><h4>Returns</h4>
-<p> The AAC index for this sample rate, -1 if the rate is not a
-valid AAC sample rate.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -288,43 +254,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_aac_get_profile (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *audio_config</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Returns the profile of the given AAC stream as a string. The profile is
-determined using the AudioObjectType field which is in the first 5 bits of
-<em class="parameter"><code>audio_config</code></em>
-.</p>
-<div class="note">
-HE-AAC support has not yet been implemented.
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>audio_config</p></td>
-<td class="parameter_description"><p>a pointer to the AudioSpecificConfig as specified in the
-Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
-<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-level" title="gst_codec_utils_aac_get_level ()"><code class="function">gst_codec_utils_aac_get_level()</code></a> for a more details).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of <em class="parameter"><code>audio_config</code></em>
-in bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-profile.returns"></a><h4>Returns</h4>
-<p> The profile as a const string and <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the profile could not be
-determined.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -332,57 +261,20 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_aac_get_level (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *audio_config</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC
-streams, the constraints from the AAC audio profile are applied. For AAC
-Main, LTP, SSR and others, the Main profile is used.</p>
-<p>The <em class="parameter"><code>audio_config</code></em>
- parameter follows the following format, starting from the
-most significant bit of the first byte:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-    Bit 0:4 contains the AudioObjectType
-  </p></li>
-<li class="listitem"><p>
-    Bit 5:8 contains the sample frequency index (if this is 0xf, then the
-            next 24 bits define the actual sample frequency, and subsequent
-            fields are appropriately shifted).
-   </p></li>
-<li class="listitem"><p>
-    Bit 9:12 contains the channel configuration
-  </p></li>
-</ul></div>
-<div class="note">
-HE-AAC support has not yet been implemented.
 </div>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-level.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>audio_config</p></td>
-<td class="parameter_description"><p>a pointer to the AudioSpecificConfig as specified in the
-Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of <em class="parameter"><code>audio_config</code></em>
-in bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
+<hr>
+<div class="refsect2">
+<a name="gst-codec-utils-aac-get-channels"></a><h3>gst_codec_utils_aac_get_channels ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_codec_utils_aac_get_channels (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *audio_config</code></em>,
+                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
 </div>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-get-level.returns"></a><h4>Returns</h4>
-<p> The level as a const string and <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the level could not be
-determined.</p>
-</div>
+<hr>
+<div class="refsect2">
+<a name="gst-codec-utils-aac-get-sample-rate"></a><h3>gst_codec_utils_aac_get_sample_rate ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_codec_utils_aac_get_sample_rate (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *audio_config</code></em>,
+                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,49 +284,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *audio_config</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Sets the level and profile on <em class="parameter"><code>caps</code></em>
- if it can be determined from
-<em class="parameter"><code>audio_config</code></em>
-. See <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-level" title="gst_codec_utils_aac_get_level ()"><code class="function">gst_codec_utils_aac_get_level()</code></a> and
-<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-aac-get-profile" title="gst_codec_utils_aac_get_profile ()"><code class="function">gst_codec_utils_aac_get_profile()</code></a> for more details on the parameters.
-<em class="parameter"><code>caps</code></em>
- must be audio/mpeg caps with an "mpegversion" field of either 2 or 4.
-If mpegversion is 4, the "base-profile" field is also set in <em class="parameter"><code>caps</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-caps-set-level-and-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to which level and profile fields are to be added</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>audio_config</p></td>
-<td class="parameter_description"><p>a pointer to the AudioSpecificConfig as specified in the
-Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
-below for a more details).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of <em class="parameter"><code>audio_config</code></em>
-in bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-aac-caps-set-level-and-profile.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the level and profile could be set, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -442,48 +291,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_h264_get_profile (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *sps</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Converts the profile indication (profile_idc) in the stream's
-sequence parameter set into a string. The SPS is expected to have the
-following format, as defined in the H.264 specification. The SPS is viewed
-as a bitstream here, with bit 0 being the most significant bit of the first
-byte.</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Bit 0:7   - Profile indication</p></li>
-<li class="listitem"><p>Bit 8     - constraint_set0_flag</p></li>
-<li class="listitem"><p>Bit 9     - constraint_set1_flag</p></li>
-<li class="listitem"><p>Bit 10    - constraint_set2_flag</p></li>
-<li class="listitem"><p>Bit 11    - constraint_set3_flag</p></li>
-<li class="listitem"><p>Bit 12    - constraint_set3_flag</p></li>
-<li class="listitem"><p>Bit 13:15 - Reserved</p></li>
-<li class="listitem"><p>Bit 16:24 - Level indication</p></li>
-</ul></div>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-get-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sps</p></td>
-<td class="parameter_description"><p>Pointer to the sequence parameter set for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>sps</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-get-profile.returns"></a><h4>Returns</h4>
-<p> The profile as a const string, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is an error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -491,36 +298,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_h264_get_level (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *sps</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Converts the level indication (level_idc) in the stream's
-sequence parameter set into a string. The SPS is expected to have the
-same format as for <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h264-get-profile" title="gst_codec_utils_h264_get_profile ()"><code class="function">gst_codec_utils_h264_get_profile()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-get-level.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sps</p></td>
-<td class="parameter_description"><p>Pointer to the sequence parameter set for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>sps</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-get-level.returns"></a><h4>Returns</h4>
-<p> The level as a const string, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is an error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -530,69 +307,12 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *sps</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Sets the level and profile in <em class="parameter"><code>caps</code></em>
- if it can be determined from <em class="parameter"><code>sps</code></em>
-. See
-<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h264-get-level" title="gst_codec_utils_h264_get_level ()"><code class="function">gst_codec_utils_h264_get_level()</code></a> and <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h264-get-profile" title="gst_codec_utils_h264_get_profile ()"><code class="function">gst_codec_utils_h264_get_profile()</code></a>
-for more details on the parameters.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-caps-set-level-and-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to which the level and profile are to be added</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sps</p></td>
-<td class="parameter_description"><p>Pointer to the sequence parameter set for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>sps</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-caps-set-level-and-profile.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the level and profile could be set, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-codec-utils-h264-get-level-idc"></a><h3>gst_codec_utils_h264_get_level_idc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a>
 gst_codec_utils_h264_get_level_idc (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *level</code></em>);</pre>
-<p>Transform a level string from the caps into the level_idc</p>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-get-level-idc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>level</p></td>
-<td class="parameter_description"><p>A level string from caps</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h264-get-level-idc.returns"></a><h4>Returns</h4>
-<p> the level_idc or 0 if the level is unknown</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -600,52 +320,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_h265_get_profile (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *profile_tier_level</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Converts the profile indication (general_profile_idc) in the stream's
-profile_level_tier structure into a string. The profile_tier_level is
-expected to have the following format, as defined in the H.265
-specification. The profile_tier_level is viewed as a bitstream here,
-with bit 0 being the most significant bit of the first byte.</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Bit 0:1   - general_profile_space</p></li>
-<li class="listitem"><p>Bit 2     - general_tier_flag</p></li>
-<li class="listitem"><p>Bit 3:7   - general_profile_idc</p></li>
-<li class="listitem"><p>Bit 8:39  - gernal_profile_compatibility_flags</p></li>
-<li class="listitem"><p>Bit 40    - general_progressive_source_flag</p></li>
-<li class="listitem"><p>Bit 41    - general_interlaced_source_flag</p></li>
-<li class="listitem"><p>Bit 42    - general_non_packed_constraint_flag</p></li>
-<li class="listitem"><p>Bit 43    - general_frame_only_constraint_flag</p></li>
-<li class="listitem"><p>Bit 44:87 - general_reserved_zero_44bits</p></li>
-<li class="listitem"><p>Bit 88:95 - general_level_idc</p></li>
-</ul></div>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile_tier_level</p></td>
-<td class="parameter_description"><p>Pointer to the profile_tier_level
-structure for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>profile_tier_level</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-profile.returns"></a><h4>Returns</h4>
-<p> The profile as a const string, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is an error.</p>
-<p>Since 1.4</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -653,38 +327,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_h265_get_tier (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *profile_tier_level</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Converts the tier indication (general_tier_flag) in the stream's
-profile_tier_level structure into a string. The profile_tier_level
-is expected to have the same format as for <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h264-get-profile" title="gst_codec_utils_h264_get_profile ()"><code class="function">gst_codec_utils_h264_get_profile()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-tier.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile_tier_level</p></td>
-<td class="parameter_description"><p>Pointer to the profile_tier_level structure
-for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>profile_tier_level</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-tier.returns"></a><h4>Returns</h4>
-<p> The tier as a const string, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is an error.</p>
-<p>Since 1.4</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -692,65 +334,12 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_h265_get_level (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *profile_tier_level</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Converts the level indication (general_level_idc) in the stream's
-profile_tier_level structure into a string. The profiel_tier_level is
-expected to have the same format as for <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h264-get-profile" title="gst_codec_utils_h264_get_profile ()"><code class="function">gst_codec_utils_h264_get_profile()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-level.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>profile_tier_level</p></td>
-<td class="parameter_description"><p>Pointer to the profile_tier_level structure
-for the stream</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>profile_tier_level</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-level.returns"></a><h4>Returns</h4>
-<p> The level as a const string, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is an error.</p>
-<p>Since 1.4</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-codec-utils-h265-get-level-idc"></a><h3>gst_codec_utils_h265_get_level_idc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a>
 gst_codec_utils_h265_get_level_idc (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *level</code></em>);</pre>
-<p>Transform a level string from the caps into the level_idc</p>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-level-idc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>level</p></td>
-<td class="parameter_description"><p>A level string from caps</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-get-level-idc.returns"></a><h4>Returns</h4>
-<p> the level_idc or 0 if the level is unknown</p>
-<p>Since 1.4</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -760,45 +349,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *profile_tier_level</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Sets the level, tier and profile in <em class="parameter"><code>caps</code></em>
- if it can be determined from
-<em class="parameter"><code>profile_tier_level</code></em>
-. See <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h265-get-level" title="gst_codec_utils_h265_get_level ()"><code class="function">gst_codec_utils_h265_get_level()</code></a>,
-<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h265-get-tier" title="gst_codec_utils_h265_get_tier ()"><code class="function">gst_codec_utils_h265_get_tier()</code></a> and <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-h265-get-profile" title="gst_codec_utils_h265_get_profile ()"><code class="function">gst_codec_utils_h265_get_profile()</code></a>
-for more details on the parameters.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-caps-set-level-tier-and-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to which the level, tier and profile are to be added</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>profile_tier_level</p></td>
-<td class="parameter_description"><p>Pointer to the profile_tier_level struct</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>profile_tier_level</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-h265-caps-set-level-tier-and-profile.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the level, tier, profile could be set, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-<p>Since 1.4</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -807,38 +357,6 @@
 gst_codec_utils_mpeg4video_get_profile
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *vis_obj_seq</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Converts the profile indication in the stream's visual object sequence into
-a string. <em class="parameter"><code>vis_obj_seq</code></em>
- is expected to be the data following the visual
-object sequence start code. Only the first byte
-(profile_and_level_indication) is used.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-mpeg4video-get-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>vis_obj_seq</p></td>
-<td class="parameter_description"><p>Pointer to the visual object sequence for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>sps</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-mpeg4video-get-profile.returns"></a><h4>Returns</h4>
-<p> The profile as a const string, or NULL if there is an error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -846,38 +364,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_codec_utils_mpeg4video_get_level (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *vis_obj_seq</code></em>,
                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Converts the level indication in the stream's visual object sequence into
-a string. <em class="parameter"><code>vis_obj_seq</code></em>
- is expected to be the data following the visual
-object sequence start code. Only the first byte
-(profile_and_level_indication) is used.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-mpeg4video-get-level.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>vis_obj_seq</p></td>
-<td class="parameter_description"><p>Pointer to the visual object sequence for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>sps</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-mpeg4video-get-level.returns"></a><h4>Returns</h4>
-<p> The level as a const string, or NULL if there is an error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -887,44 +373,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *vis_obj_seq</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Sets the level and profile in <em class="parameter"><code>caps</code></em>
- if it can be determined from
-<em class="parameter"><code>vis_obj_seq</code></em>
-. See <a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-get-level" title="gst_codec_utils_mpeg4video_get_level ()"><code class="function">gst_codec_utils_mpeg4video_get_level()</code></a> and
-<a class="link" href="gst-plugins-base-libs-gstpbutilscodecutils.html#gst-codec-utils-mpeg4video-get-profile" title="gst_codec_utils_mpeg4video_get_profile ()"><code class="function">gst_codec_utils_mpeg4video_get_profile()</code></a> for more details on the
-parameters.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-mpeg4video-caps-set-level-and-profile.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to which the level and profile are to be added</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vis_obj_seq</p></td>
-<td class="parameter_description"><p>Pointer to the visual object sequence for the stream.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>Length of the data available in <em class="parameter"><code>sps</code></em>
-.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-mpeg4video-caps-set-level-and-profile.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the level and profile could be set, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -936,54 +384,6 @@
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> stream_count</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> coupled_count</code></em>,
                                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *channel_mapping</code></em>);</pre>
-<p>Creates Opus caps from the given parameters.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-create-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rate</p></td>
-<td class="parameter_description"><p>the sample rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>the number of channels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping_family</p></td>
-<td class="parameter_description"><p>the channel mapping family</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stream_count</p></td>
-<td class="parameter_description"><p>the number of independent streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>coupled_count</p></td>
-<td class="parameter_description"><p>the number of stereo streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping</p></td>
-<td class="parameter_description"><p> the mapping between the streams. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-create-caps.returns"></a><h4>Returns</h4>
-<p> The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -992,37 +392,6 @@
 gst_codec_utils_opus_create_caps_from_header
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *header</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *comments</code></em>);</pre>
-<p>Creates Opus caps from the given OpusHead <em class="parameter"><code>header</code></em>
- and comment header
-<em class="parameter"><code>comments</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-create-caps-from-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>header</p></td>
-<td class="parameter_description"><p>OpusHead header</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>comments</p></td>
-<td class="parameter_description"><p> Comment header or NULL. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-create-caps-from-header.returns"></a><h4>Returns</h4>
-<p> The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1035,59 +404,6 @@
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *stream_count</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *coupled_count</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> channel_mapping[256]</code></em>);</pre>
-<p>Parses Opus caps and fills the different fields with defaults if possible.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-parse-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to which the level and profile are to be added</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rate</p></td>
-<td class="parameter_description"><p>the sample rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>the number of channels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping_family</p></td>
-<td class="parameter_description"><p>the channel mapping family</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stream_count</p></td>
-<td class="parameter_description"><p>the number of independent streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>coupled_count</p></td>
-<td class="parameter_description"><p>the number of stereo streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping</p></td>
-<td class="parameter_description"><p>the mapping between the streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-parse-caps.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing was successful, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1101,64 +417,6 @@
                                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *channel_mapping</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> pre_skip</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint16"><span class="type">gint16</span></a> output_gain</code></em>);</pre>
-<p>Creates OpusHead header from the given parameters.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-create-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rate</p></td>
-<td class="parameter_description"><p>the sample rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>the number of channels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping_family</p></td>
-<td class="parameter_description"><p>the channel mapping family</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stream_count</p></td>
-<td class="parameter_description"><p>the number of independent streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>coupled_count</p></td>
-<td class="parameter_description"><p>the number of stereo streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping</p></td>
-<td class="parameter_description"><p> the mapping between the streams. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pre_skip</p></td>
-<td class="parameter_description"><p>Pre-skip in 48kHz samples or 0</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>output_gain</p></td>
-<td class="parameter_description"><p>Output gain or 0</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-create-header.returns"></a><h4>Returns</h4>
-<p> The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> containing the OpusHead.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1173,69 +431,6 @@
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> channel_mapping[256]</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> *pre_skip</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint16"><span class="type">gint16</span></a> *output_gain</code></em>);</pre>
-<p>Parses the OpusHead header.</p>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-parse-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>header</p></td>
-<td class="parameter_description"><p>the OpusHead <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rate</p></td>
-<td class="parameter_description"><p>the sample rate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channels</p></td>
-<td class="parameter_description"><p>the number of channels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping_family</p></td>
-<td class="parameter_description"><p>the channel mapping family</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stream_count</p></td>
-<td class="parameter_description"><p>the number of independent streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>coupled_count</p></td>
-<td class="parameter_description"><p>the number of stereo streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel_mapping</p></td>
-<td class="parameter_description"><p>the mapping between the streams</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pre_skip</p></td>
-<td class="parameter_description"><p>Pre-skip in 48kHz samples or 0</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>output_gain</p></td>
-<td class="parameter_description"><p>Output gain or 0</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-codec-utils-opus-parse-header.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if parsing was successful, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html
index d795ce0..5ebad53 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilsdescriptions.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstpbutilsdescriptions.top_of_page"></a>gstpbutilsdescriptions</span></h2>
-<p>gstpbutilsdescriptions — Provides human-readable descriptions for caps/codecs
-and encoder, decoder, URI source and URI sink elements</p>
+<p>gstpbutilsdescriptions</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -106,18 +105,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilsdescriptions.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.14.6.5.2"></a><p>
-The above functions provide human-readable strings for media formats
-and decoder/demuxer/depayloader/encoder/muxer/payloader elements for use
-in error dialogs or other messages shown to users.
-</p>
-<p>
-<a class="link" href="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-add-codec-description-to-tag-list" title="gst_pb_utils_add_codec_description_to_tag_list ()"><code class="function">gst_pb_utils_add_codec_description_to_tag_list()</code></a> is a utility function
-for demuxer and decoder elements to add audio/video codec tags from a
-given (fixed) <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilsdescriptions.functions_details"></a><h2>Functions</h2>
@@ -125,171 +112,30 @@
 <a name="gst-pb-utils-get-source-description"></a><h3>gst_pb_utils_get_source_description ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_pb_utils_get_source_description (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);</pre>
-<p>Returns a localised string describing a source element handling the protocol
-specified in <em class="parameter"><code>protocol</code></em>
-, for use in error dialogs or other messages to be
-seen by the user. Should never return NULL unless <em class="parameter"><code>protocol</code></em>
- is invalid.</p>
-<p>This function is mainly for internal use, applications would typically
-use <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-description" title="gst_missing_plugin_message_get_description ()"><code class="function">gst_missing_plugin_message_get_description()</code></a> to get a description of
-a missing feature from a missing-plugin message.</p>
-<div class="refsect3">
-<a name="gst-pb-utils-get-source-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>protocol</p></td>
-<td class="parameter_description"><p>the protocol the source element needs to handle, e.g. "http"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-pb-utils-get-source-description.returns"></a><h4>Returns</h4>
-<p> a newly-allocated description string, or NULL on error. Free
-string with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-pb-utils-get-sink-description"></a><h3>gst_pb_utils_get_sink_description ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_pb_utils_get_sink_description (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);</pre>
-<p>Returns a localised string describing a sink element handling the protocol
-specified in <em class="parameter"><code>protocol</code></em>
-, for use in error dialogs or other messages to be
-seen by the user. Should never return NULL unless <em class="parameter"><code>protocol</code></em>
- is invalid.</p>
-<p>This function is mainly for internal use, applications would typically
-use <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-description" title="gst_missing_plugin_message_get_description ()"><code class="function">gst_missing_plugin_message_get_description()</code></a> to get a description of
-a missing feature from a missing-plugin message.</p>
-<div class="refsect3">
-<a name="gst-pb-utils-get-sink-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>protocol</p></td>
-<td class="parameter_description"><p>the protocol the sink element needs to handle, e.g. "http"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-pb-utils-get-sink-description.returns"></a><h4>Returns</h4>
-<p> a newly-allocated description string, or NULL on error. Free
-string with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-pb-utils-get-decoder-description"></a><h3>gst_pb_utils_get_decoder_description ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_pb_utils_get_decoder_description (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Returns a localised string describing an decoder for the format specified
-in <em class="parameter"><code>caps</code></em>
-, for use in error dialogs or other messages to be seen by the user.
-Should never return NULL unless <em class="parameter"><code>factory_name</code></em>
- or <em class="parameter"><code>caps</code></em>
- are invalid.</p>
-<p>This function is mainly for internal use, applications would typically
-use <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-description" title="gst_missing_plugin_message_get_description ()"><code class="function">gst_missing_plugin_message_get_description()</code></a> to get a description of
-a missing feature from a missing-plugin message.</p>
-<div class="refsect3">
-<a name="gst-pb-utils-get-decoder-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the (fixed) <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> for which an decoder description is needed</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-pb-utils-get-decoder-description.returns"></a><h4>Returns</h4>
-<p> a newly-allocated description string, or NULL on error. Free
-string with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-pb-utils-get-encoder-description"></a><h3>gst_pb_utils_get_encoder_description ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_pb_utils_get_encoder_description (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Returns a localised string describing an encoder for the format specified
-in <em class="parameter"><code>caps</code></em>
-, for use in error dialogs or other messages to be seen by the user.
-Should never return NULL unless <em class="parameter"><code>factory_name</code></em>
- or <em class="parameter"><code>caps</code></em>
- are invalid.</p>
-<p>This function is mainly for internal use, applications would typically
-use <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-description" title="gst_missing_plugin_message_get_description ()"><code class="function">gst_missing_plugin_message_get_description()</code></a> to get a description of
-a missing feature from a missing-plugin message.</p>
-<div class="refsect3">
-<a name="gst-pb-utils-get-encoder-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the (fixed) <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> for which an encoder description is needed</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-pb-utils-get-encoder-description.returns"></a><h4>Returns</h4>
-<p> a newly-allocated description string, or NULL on error. Free
-string with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-pb-utils-get-element-description"></a><h3>gst_pb_utils_get_element_description ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_pb_utils_get_element_description (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factory_name</code></em>);</pre>
-<p>Returns a localised string describing the given element, for use in
-error dialogs or other messages to be seen by the user. Should never
-return NULL unless <em class="parameter"><code>factory_name</code></em>
- is invalid.</p>
-<p>This function is mainly for internal use, applications would typically
-use <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-description" title="gst_missing_plugin_message_get_description ()"><code class="function">gst_missing_plugin_message_get_description()</code></a> to get a description of
-a missing feature from a missing-plugin message.</p>
-<div class="refsect3">
-<a name="gst-pb-utils-get-element-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>factory_name</p></td>
-<td class="parameter_description"><p>the name of the element, e.g. "giosrc"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-pb-utils-get-element-description.returns"></a><h4>Returns</h4>
-<p> a newly-allocated description string, or NULL on error. Free
-string with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -299,75 +145,12 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *taglist</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *codec_tag</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Adds a codec tag describing the format specified by <em class="parameter"><code>caps</code></em>
- to <em class="parameter"><code>taglist</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-pb-utils-add-codec-description-to-tag-list.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>taglist</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>codec_tag</p></td>
-<td class="parameter_description"><p> a GStreamer codec tag such as <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-AUDIO-CODEC:CAPS"><span class="type">GST_TAG_AUDIO_CODEC</span></a>,
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-VIDEO-CODEC:CAPS"><span class="type">GST_TAG_VIDEO_CODEC</span></a> or <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-CODEC:CAPS"><span class="type">GST_TAG_CODEC</span></a>. If none is specified,
-the function will attempt to detect the appropriate category. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>the (fixed) <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> for which a codec tag should be added.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-pb-utils-add-codec-description-to-tag-list.returns"></a><h4>Returns</h4>
-<p> TRUE if a codec tag was added, FALSE otherwise.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-pb-utils-get-codec-description"></a><h3>gst_pb_utils_get_codec_description ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_pb_utils_get_codec_description (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Returns a localised (as far as this is possible) string describing the
-media format specified in <em class="parameter"><code>caps</code></em>
-, for use in error dialogs or other messages
-to be seen by the user. Should never return NULL unless <em class="parameter"><code>caps</code></em>
- is invalid.</p>
-<p>Also see the convenience function
-<a class="link" href="gst-plugins-base-libs-gstpbutilsdescriptions.html#gst-pb-utils-add-codec-description-to-tag-list" title="gst_pb_utils_add_codec_description_to_tag_list ()"><code class="function">gst_pb_utils_add_codec_description_to_tag_list()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-pb-utils-get-codec-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>the (fixed) <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> for which an format description is needed</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-pb-utils-get-codec-description.returns"></a><h4>Returns</h4>
-<p> a newly-allocated description string, or NULL on error. Free
-string with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html b/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html
index 310b861..c4bb1c8 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.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-gstpbutilsinstallplugins.top_of_page"></a>gstpbutilsinstallplugins</span></h2>
-<p>gstpbutilsinstallplugins — Missing plugin installation support for applications</p>
+<p>gstpbutilsinstallplugins</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -163,362 +163,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilsinstallplugins.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.14.8.6.2"></a><h3>Overview</h3>
-<p>
-Using this API, applications can request the installation of missing
-GStreamer plugins. These may be missing decoders/demuxers or encoders/muxers
-for a certain format, sources or sinks for a certain URI protocol
-(e.g. 'http'), or certain elements known by their element factory name
-('audioresample').
-</p>
-<p>
-Whether plugin installation is supported or not depends on the operating
-system and/or distribution in question. The vendor of the operating system
-needs to make sure the necessary hooks and mechanisms are in place for
-plugin installation to work. See below for more detailed information.
-</p>
-<p>
-From the application perspective, plugin installation is usually triggered
-either
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-when the application itself has found that it wants or needs to install a
-certain element
-</p></li>
-<li class="listitem"><p>
-when the application has been notified by an element (such as playbin or
-decodebin) that one or more plugins are missing <span class="emphasis"><em>and</em></span>
-the application has decided that it wants to install one or more of those
-missing plugins
-</p></li>
-</ul></div>
-<p>
-</p>
-<p>
-The install functions in this section all take one or more 'detail strings'.
-These detail strings contain information about the type of plugin that
-needs to be installed (decoder, encoder, source, sink, or named element),
-and some additional information such GStreamer version used and a
-human-readable description of the component to install for user dialogs.
-</p>
-<p>
-Applications should not concern themselves with the composition of the
-string itself. They should regard the string as if it was a shared secret
-between GStreamer and the plugin installer application.
-</p>
-<p>
-Detail strings can be obtained using the function
-<a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-installer-detail" title="gst_missing_plugin_message_get_installer_detail ()"><code class="function">gst_missing_plugin_message_get_installer_detail()</code></a> on a missing-plugin
-message. Such a message will either have been found by the application on
-a pipeline's <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a>, or the application will have created it itself using
-<a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-element-message-new" title="gst_missing_element_message_new ()"><code class="function">gst_missing_element_message_new()</code></a>, <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-decoder-message-new" title="gst_missing_decoder_message_new ()"><code class="function">gst_missing_decoder_message_new()</code></a>,
-<a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-encoder-message-new" title="gst_missing_encoder_message_new ()"><code class="function">gst_missing_encoder_message_new()</code></a>, <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-uri-sink-message-new" title="gst_missing_uri_sink_message_new ()"><code class="function">gst_missing_uri_sink_message_new()</code></a>, or
-<a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-uri-source-message-new" title="gst_missing_uri_source_message_new ()"><code class="function">gst_missing_uri_source_message_new()</code></a>.
-</p>
-<p>
-For each GStreamer element/plugin/component that should be installed, the
-application needs one of those 'installer detail' string mentioned in the
-previous section. This string can be obtained, as already mentioned above,
-from a missing-plugin message using the function
-<a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-installer-detail" title="gst_missing_plugin_message_get_installer_detail ()"><code class="function">gst_missing_plugin_message_get_installer_detail()</code></a>. The missing-plugin
-message is either posted by another element and then found on the bus
-by the application, or the application has created it itself as described
-above.
-</p>
-<p>
-The application will then call <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a>, passing a
-NULL-terminated array of installer detail strings, and a function that
-should be called when the installation of the plugins has finished
-(successfully or not). Optionally, a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> created
-with <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-new" title="gst_install_plugins_context_new ()"><code class="function">gst_install_plugins_context_new()</code></a> may be passed as well. This way
-additional optional arguments like the application window's XID can be
-passed to the external installer application.
-</p>
-<p>
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> will return almost immediately, with the
-return code indicating whether plugin installation was started or not.
-If the necessary hooks for plugin installation are in place and an
-external installer application has in fact been called, the passed in
-function will be called with a result code as soon as the external installer
-has finished. If the result code indicates that new plugins have been
-installed, the application will want to call <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-Gst.html#gst-update-registry"><code class="function">gst_update_registry()</code></a> so the
-run-time plugin registry is updated and the new plugins are made available
-to the application.
-</p>
-<div class="note">
-A Gtk/GLib main loop must be running in order for the result function to
-be called when the external installer has finished. If this is not the case,
-make sure to regularly call
-<pre class="programlisting">
-g_main_context_iteration (NULL,FALSE);
-</pre>
-from your code.
-</div>
-<p>
-</p>
-<p>
-<span class="emphasis"><em>1. Installer hook</em></span>
-</p>
-<p>
-When GStreamer applications initiate plugin installation via
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> or <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>, a pre-defined
-helper application will be called.
-</p>
-<p>
-The exact path of the helper application to be called is set at compile
-time, usually by the <code class="literal">./configure</code> script based on the
-install prefix. For a normal package build into the <code class="literal">/usr</code>
-prefix, this will usually default to
-<code class="filename">/usr/libexec/gst-install-plugins-helper</code> or
-<code class="filename">/usr/lib/gst-install-plugins-helper</code>.
-</p>
-<p>
-Vendors/distros who want to support GStreamer plugin installation should
-either provide such a helper script/application or use the
-<code class="literal">./configure</code> option
-<code class="literal">--with-install-plugins-helper=/path/to/installer</code> to
-make GStreamer call an installer of their own directly.
-</p>
-<p>
-It is strongly recommended that vendors provide a small helper application
-as interlocutor to the real installer though, even more so if command line
-argument munging is required to transform the command line arguments
-passed by GStreamer to the helper application into arguments that are
-understood by the real installer.
-</p>
-<p>
-The helper application path defined at compile time can be overriden at
-runtime by setting the <code class="envar">GST_INSTALL_PLUGINS_HELPER</code>
-environment variable. This can be useful for testing/debugging purposes.
-</p>
-<p>
-<span class="emphasis"><em>2. Arguments passed to the install helper</em></span>
-</p>
-<p>
-GStreamer will pass the following arguments to the install helper (this is
-in addition to the path of the executable itself, which is by convention
-argv[0]):
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-   none to many optional arguments in the form of
-   <code class="literal">--foo-bar=val</code>. Example:
-   <code class="literal">--transient-for=XID</code> where XID is the X Window ID of
-   the main window of the calling application (so the installer can make
-   itself transient to that window). Unknown optional arguments should
-   be ignored by the installer.
- </p></li>
-<li class="listitem"><p>
-   one 'installer detail string' argument for each plugin to be installed;
-   these strings will have a <code class="literal">gstreamer</code> prefix; the
-   exact format of the detail string is explained below
- </p></li>
-</ul></div>
-<p>
-</p>
-<p>
-<span class="emphasis"><em>3. Detail string describing the missing plugin</em></span>
-</p>
-<p>
-The string is in UTF-8 encoding and is made up of several fields, separated
-by '|' characters (but neither the first nor the last character is a '|').
-The fields are:
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
-<p>
-   plugin system identifier, ie. "gstreamer"
-  </p>
-<p>
-   This identifier determines the format of the rest of the detail string.
-   Automatic plugin installers should not process detail strings with
-   unknown identifiers. This allows other plugin-based libraries to use
-   the same mechanism for their automatic plugin installation needs, or
-   for the format to be changed should it turn out to be insufficient.
-  </p>
-</li>
-<li class="listitem">
-<p>
-   plugin system version, e.g. "0.10"
-  </p>
-<p>
-   This is required so that when there is a GStreamer-0.12 or GStreamer-1.0
-   at some point in future, the different major versions can still co-exist
-   and use the same plugin install mechanism in the same way.
-  </p>
-</li>
-<li class="listitem">
-<p>
-   application identifier, e.g. "totem"
-  </p>
-<p>
-   This may also be in the form of "pid/12345" if the program name can't
-   be obtained for some reason.
-  </p>
-</li>
-<li class="listitem"><p>
-   human-readable localised description of the required component,
-   e.g. "Vorbis audio decoder"
-  </p></li>
-<li class="listitem">
-<p>
-   identifier string for the required component (see below for details about
-   how to map this to the package/plugin that needs installing), e.g.
-   </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
-<li class="listitem"><p>
-      urisource-$(PROTOCOL_REQUIRED), e.g. urisource-http or urisource-mms
-    </p></li>
-<li class="listitem"><p>
-      element-$(ELEMENT_REQUIRED), e.g. element-videoconvert
-    </p></li>
-<li class="listitem">
-<p>
-      decoder-$(CAPS_REQUIRED), e.g. (do read below for more details!):
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square; ">
-<li class="listitem"><p>decoder-audio/x-vorbis</p></li>
-<li class="listitem"><p>decoder-application/ogg</p></li>
-<li class="listitem"><p>decoder-audio/mpeg, mpegversion=(int)4</p></li>
-<li class="listitem"><p>decoder-video/mpeg, systemstream=(boolean)true, mpegversion=(int)2</p></li>
-</ul></div>
-<p>
-    </p>
-</li>
-<li class="listitem"><p>
-      encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis
-    </p></li>
-</ul></div>
-<p>
-  </p>
-</li>
-<li class="listitem"><p>
-    optional further fields not yet specified
-  </p></li>
-</ul></div>
-<p>
-</p>
-<p>
-An entire ID string might then look like this, for example:
-<code class="literal">
-gstreamer|0.10|totem|Vorbis audio decoder|decoder-audio/x-vorbis
-</code>
-</p>
-<p>
-Plugin installers parsing this ID string should expect further fields also
-separated by '|' symbols and either ignore them, warn the user, or error
-out when encountering them.
-</p>
-<p>
-Those unfamiliar with the GStreamer 'caps' system should note a few things
-about the caps string used in the above decoder/encoder case:
-  </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-      the first part ("video/mpeg") of the caps string is a GStreamer media
-      type and <span class="emphasis"><em>not</em></span> a MIME type. Wherever possible, the
-      GStreamer media type will be the same as the corresponding MIME type,
-      but often it is not.
-    </p></li>
-<li class="listitem"><p>
-      a caps string may or may not have additional comma-separated fields
-      of various types (as seen in the examples above)
-    </p></li>
-<li class="listitem">
-<p>
-      the caps string of a 'required' component (as above) will always have
-      fields with fixed values, whereas an introspected string (see below)
-      may have fields with non-fixed values. Compare for example:
-      </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
-<li class="listitem"><p>
-          <code class="literal">audio/mpeg, mpegversion=(int)4</code> vs.
-          <code class="literal">audio/mpeg, mpegversion=(int){2, 4}</code>
-        </p></li>
-<li class="listitem"><p>
-          <code class="literal">video/mpeg, mpegversion=(int)2</code> vs.
-          <code class="literal">video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2]</code>
-        </p></li>
-</ul></div>
-<p>
-    </p>
-</li>
-</ul></div>
-<p>
-</p>
-<p>
-<span class="emphasis"><em>4. Exit codes the installer should return</em></span>
-</p>
-<p>
-The installer should return one of the following exit codes when it exits:
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-    0 if all of the requested plugins could be installed
-    (<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GST-INSTALL-PLUGINS-SUCCESS:CAPS"><span class="type">GST_INSTALL_PLUGINS_SUCCESS</span></a>)
-  </p></li>
-<li class="listitem"><p>
-    1 if no appropriate installation candidate for any of the requested
-    plugins could be found. Only return this if nothing has been installed
-    (<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GST-INSTALL-PLUGINS-NOT-FOUND:CAPS"><span class="type">GST_INSTALL_PLUGINS_NOT_FOUND</span></a>)
-  </p></li>
-<li class="listitem"><p>
-    2 if an error occured during the installation. The application will
-    assume that the user will already have seen an error message by the
-    installer in this case and will usually not show another one
-    (<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GST-INSTALL-PLUGINS-ERROR:CAPS"><span class="type">GST_INSTALL_PLUGINS_ERROR</span></a>)
-  </p></li>
-<li class="listitem"><p>
-    3 if some of the requested plugins could be installed, but not all
-    (<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GST-INSTALL-PLUGINS-PARTIAL-SUCCESS:CAPS"><span class="type">GST_INSTALL_PLUGINS_PARTIAL_SUCCESS</span></a>)
-  </p></li>
-<li class="listitem"><p>
-    4 if the user aborted the installation (<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GST-INSTALL-PLUGINS-USER-ABORT:CAPS"><span class="type">GST_INSTALL_PLUGINS_USER_ABORT</span></a>)
-  </p></li>
-</ul></div>
-<p>
-</p>
-<p>
-<span class="emphasis"><em>5. How to map the required detail string to packages</em></span>
-</p>
-<p>
-It is up to the vendor to find mechanism to map required components from
-the detail string to the actual packages/plugins to install. This could
-be a hardcoded list of mappings, for example, or be part of the packaging
-system metadata.
-</p>
-<p>
-GStreamer plugin files can be introspected for this information. The
-<code class="literal">gst-inspect</code> utility has a special command line option
-that will output information similar to what is required. For example
-<span class="command"><strong>
-$ gst-inspect-1.0 --print-plugin-auto-install-info /path/to/libgstvorbis.so
-</strong></span>
-should output something along the lines of
-<code class="computeroutput">
-decoder-audio/x-vorbis
-element-vorbisdec
-element-vorbisenc
-element-vorbisparse
-element-vorbistag
-encoder-audio/x-vorbis
-</code>
-Note that in the encoder and decoder case the introspected caps can be more
-complex with additional fields, e.g.
-<code class="literal">audio/mpeg,mpegversion=(int){2,4}</code>, so they will not
-always exactly match the caps wanted by the application. It is up to the
-installer to deal with this (either by doing proper caps intersection using
-the GStreamer <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> API, or by only taking into account the media type).
-</p>
-<p>
-Another potential source of problems are plugins such as ladspa or
-libvisual where the list of elements depends on the installed
-ladspa/libvisual plugins at the time. This is also up to the distribution
-to handle (but usually not relevant for playback applications).
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilsinstallplugins.functions_details"></a><h2>Functions</h2>
@@ -527,31 +171,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*GstInstallPluginsResultFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsReturn" title="enum GstInstallPluginsReturn"><span class="type">GstInstallPluginsReturn</span></a> result</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>The prototype of the callback function that will be called once the
-external plugin installer program has returned. You only need to provide
-a callback function if you are using the asynchronous interface.</p>
-<div class="refsect3">
-<a name="GstInstallPluginsResultFunc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>result</p></td>
-<td class="parameter_description"><p>whether the installation of the requested plugins succeeded or not</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>the user data passed to <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -561,60 +180,6 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> *ctx</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsResultFunc" title="GstInstallPluginsResultFunc ()"><span class="type">GstInstallPluginsResultFunc</span></a> func</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
-<p>Requests plugin installation without blocking. Once the plugins have been
-installed or installation has failed, <em class="parameter"><code>func</code></em>
- will be called with the result
-of the installation and your provided <em class="parameter"><code>user_data</code></em>
- pointer.</p>
-<p>This function requires a running GLib/Gtk main loop. If you are not
-running a GLib/Gtk main loop, make sure to regularly call
-g_main_context_iteration(NULL,FALSE).</p>
-<p>The installer strings that make up <em class="parameter"><code>detail</code></em>
- are typically obtained by
-calling <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-installer-detail" title="gst_missing_plugin_message_get_installer_detail ()"><code class="function">gst_missing_plugin_message_get_installer_detail()</code></a> on missing-plugin
-messages that have been caught on a pipeline's bus or created by the
-application via the provided API, such as <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-element-message-new" title="gst_missing_element_message_new ()"><code class="function">gst_missing_element_message_new()</code></a>.</p>
-<p>It is possible to request the installation of multiple missing plugins in
-one go (as might be required if there is a demuxer for a certain format
-installed but no suitable video decoder and no suitable audio decoder).</p>
-<div class="refsect3">
-<a name="gst-install-plugins-async.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>details</p></td>
-<td class="parameter_description"><p> NULL-terminated array
-of installer string details (see below). </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ctx</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a>, or NULL. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>func</p></td>
-<td class="parameter_description"><p> the function to call when the installer program returns. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p> the user data to pass to <em class="parameter"><code>func</code></em>
-when called, or NULL. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-install-plugins-async.returns"></a><h4>Returns</h4>
-<p> result code whether an external installer could be started</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -622,70 +187,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsReturn" title="enum GstInstallPluginsReturn"><span class="returnvalue">GstInstallPluginsReturn</span></a>
 gst_install_plugins_sync (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> * const *details</code></em>,
                           <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> *ctx</code></em>);</pre>
-<p>Requests plugin installation and block until the plugins have been
-installed or installation has failed.</p>
-<p>This function should almost never be used, it only exists for cases where
-a non-GLib main loop is running and the user wants to run it in a separate
-thread and marshal the result back asynchronously into the main thread
-using the other non-GLib main loop. You should almost always use
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> instead of this function.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-sync.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>details</p></td>
-<td class="parameter_description"><p> NULL-terminated array
-of installer string details. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ctx</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a>, or NULL. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-install-plugins-sync.returns"></a><h4>Returns</h4>
-<p> the result of the installation.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-install-plugins-return-get-name"></a><h3>gst_install_plugins_return_get_name ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_install_plugins_return_get_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsReturn" title="enum GstInstallPluginsReturn"><span class="type">GstInstallPluginsReturn</span></a> ret</code></em>);</pre>
-<p>Convenience function to return the descriptive string associated
-with a status code.  This function returns English strings and
-should not be used for user messages. It is here only to assist
-in debugging.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-return-get-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ret</p></td>
-<td class="parameter_description"><p>the return status code</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-install-plugins-return-get-name.returns"></a><h4>Returns</h4>
-<p> a descriptive string for the status code in <em class="parameter"><code>ret</code></em>
-</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -693,60 +200,24 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_install_plugins_installation_in_progress
                                (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Checks whether plugin installation (initiated by this application only)
-is currently in progress.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-installation-in-progress.returns"></a><h4>Returns</h4>
-<p> TRUE if plugin installation is in progress, otherwise FALSE</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-install-plugins-supported"></a><h3>gst_install_plugins_supported ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_install_plugins_supported (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Checks whether plugin installation is likely to be supported by the
-current environment. This currently only checks whether the helper script
-that is to be provided by the distribution or operating system vendor
-exists.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-supported.returns"></a><h4>Returns</h4>
-<p> TRUE if plugin installation is likely to be supported.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-install-plugins-context-new"></a><h3>gst_install_plugins_context_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="returnvalue">GstInstallPluginsContext</span></a> *
 gst_install_plugins_context_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Creates a new <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a>.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-context-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a>. Free with
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-context-free" title="gst_install_plugins_context_free ()"><code class="function">gst_install_plugins_context_free()</code></a> when no longer needed</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-install-plugins-context-free"></a><h3>gst_install_plugins_context_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_install_plugins_context_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> *ctx</code></em>);</pre>
-<p>Frees a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a>.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-context-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ctx</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -754,48 +225,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_install_plugins_context_set_xid (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> *ctx</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> xid</code></em>);</pre>
-<p>This function is for X11-based applications (such as most Gtk/Qt
-applications on linux/unix) only. You can use it to tell the external
-installer the XID of your main application window. That way the installer
-can make its own window transient to your application window during the
-installation.</p>
-<p>If set, the XID will be passed to the installer via a --transient-for=XID
-command line option.</p>
-<p>Gtk+/Gnome application should be able to obtain the XID of the top-level
-window like this:</p>
-<pre class="programlisting">
-##include &lt;gtk/gtk.h&gt;
-##ifdef GDK_WINDOWING_X11
-##include &lt;gdk/gdkx.h&gt;
-##endif
-...
-##ifdef GDK_WINDOWING_X11
-  xid = GDK_WINDOW_XWINDOW (GTK_WIDGET (application_window)-&gt;window);
-##endif
-...
-</pre>
-<div class="refsect3">
-<a name="gst-install-plugins-context-set-xid.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ctx</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>xid</p></td>
-<td class="parameter_description"><p>the XWindow ID (XID) of the top-level application</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -804,33 +233,6 @@
 gst_install_plugins_context_set_confirm_search
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> *ctx</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> confirm_search</code></em>);</pre>
-<p>This function is used to tell the external installer process whether it
-should ask for confirmation or not before searching for missing plugins.</p>
-<p>If set, this option will be passed to the installer via a
---interaction=[show-confirm-search|hide-confirm-search] command line option.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-context-set-confirm-search.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ctx</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>confirm_search</p></td>
-<td class="parameter_description"><p>whether to ask for confirmation before searching for plugins</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -839,35 +241,6 @@
 gst_install_plugins_context_set_desktop_id
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> *ctx</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *desktop_id</code></em>);</pre>
-<p>This function is used to pass the calling application's desktop file ID to
-the external installer process.</p>
-<p>A desktop file ID is the basename of the desktop file, including the
-.desktop extension.</p>
-<p>If set, the desktop file ID will be passed to the installer via a
---desktop-id= command line option.</p>
-<div class="refsect3">
-<a name="gst-install-plugins-context-set-desktop-id.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ctx</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>desktop_id</p></td>
-<td class="parameter_description"><p>the desktop file ID of the calling application</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -876,54 +249,12 @@
 gst_install_plugins_context_set_startup_notification_id
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a> *ctx</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *startup_id</code></em>);</pre>
-<p>Sets the startup notification ID for the launched process.</p>
-<p>This is typically used to to pass the current X11 event timestamp to the
-external installer process.</p>
-<p>Startup notification IDs are defined in the
-<a class="ulink" href="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt" target="_top">FreeDesktop.Org Startup Notifications standard</a>.</p>
-<p>If set, the ID will be passed to the installer via a
---startup-notification-id= command line option.</p>
-<p>GTK+/GNOME applications should be able to create a startup notification ID
-like this:</p>
-<pre class="programlisting">
-  timestamp = gtk_get_current_event_time ();
-  startup_id = g_strdup_printf ("_TIME%u", timestamp);
-...
-</pre>
-<div class="refsect3">
-<a name="gst-install-plugins-context-set-startup-notification-id.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ctx</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsContext" title="GstInstallPluginsContext"><span class="type">GstInstallPluginsContext</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>startup_id</p></td>
-<td class="parameter_description"><p>the startup notification ID</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-gstpbutilsinstallplugins.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstInstallPluginsReturn"></a><h3>enum GstInstallPluginsReturn</h3>
-<p>Result codes returned by <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> and
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>, and also the result code passed to the
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GstInstallPluginsResultFunc" title="GstInstallPluginsResultFunc ()"><span class="type">GstInstallPluginsResultFunc</span></a> specified with <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a>.</p>
-<p>These codes indicate success or failure of starting an external installer
-program and to what extent the requested plugins could be installed.</p>
 <div class="refsect3">
 <a name="GstInstallPluginsReturn.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -935,93 +266,58 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-SUCCESS:CAPS"></a>GST_INSTALL_PLUGINS_SUCCESS</p></td>
-<td class="enum_member_description">
-<p>all of the requested plugins could be
-    installed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-NOT-FOUND:CAPS"></a>GST_INSTALL_PLUGINS_NOT_FOUND</p></td>
-<td class="enum_member_description">
-<p>no appropriate installation candidate for
-    any of the requested plugins could be found. Only return this if nothing
-    has been installed. Return <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#GST-INSTALL-PLUGINS-PARTIAL-SUCCESS:CAPS"><span class="type">GST_INSTALL_PLUGINS_PARTIAL_SUCCESS</span></a> if
-    some (but not all) of the requested plugins could be installed.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-ERROR:CAPS"></a>GST_INSTALL_PLUGINS_ERROR</p></td>
-<td class="enum_member_description">
-<p>an error occured during the installation. If
-    this happens, the  user has already seen an error message and another
-    one should not be displayed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-PARTIAL-SUCCESS:CAPS"></a>GST_INSTALL_PLUGINS_PARTIAL_SUCCESS</p></td>
-<td class="enum_member_description">
-<p>some of the requested plugins could
-    be installed, but not all</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-USER-ABORT:CAPS"></a>GST_INSTALL_PLUGINS_USER_ABORT</p></td>
-<td class="enum_member_description">
-<p>the user has aborted the installation</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-CRASHED:CAPS"></a>GST_INSTALL_PLUGINS_CRASHED</p></td>
-<td class="enum_member_description">
-<p>the installer had an unclean exit code
-    (ie. death by signal)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-INVALID:CAPS"></a>GST_INSTALL_PLUGINS_INVALID</p></td>
-<td class="enum_member_description">
-<p>the helper returned an invalid status code</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-STARTED-OK:CAPS"></a>GST_INSTALL_PLUGINS_STARTED_OK</p></td>
-<td class="enum_member_description">
-<p>returned by <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> to
-    indicate that everything went fine so far and the provided callback
-    will be called with the result of the installation later</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-INTERNAL-FAILURE:CAPS"></a>GST_INSTALL_PLUGINS_INTERNAL_FAILURE</p></td>
-<td class="enum_member_description">
-<p>some internal failure has
-    occured when trying to start the installer</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-HELPER-MISSING:CAPS"></a>GST_INSTALL_PLUGINS_HELPER_MISSING</p></td>
-<td class="enum_member_description">
-<p>the helper script to call the
-    actual installer is not installed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-INSTALL-PLUGINS-INSTALL-IN-PROGRESS:CAPS"></a>GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS</p></td>
-<td class="enum_member_description">
-<p>a previously-started plugin
-    installation is still in progress, try again later</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1031,8 +327,6 @@
 <div class="refsect2">
 <a name="GstInstallPluginsContext"></a><h3>GstInstallPluginsContext</h3>
 <pre class="programlisting">typedef struct _GstInstallPluginsContext GstInstallPluginsContext;</pre>
-<p>Opaque context structure for the plugin installation. Use the provided
-API to set details on it.</p>
 </div>
 </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 65fafd3..8f4ee6f 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.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-gstpbutilsmissingplugins.top_of_page"></a>gstpbutilsmissingplugins</span></h2>
-<p>gstpbutilsmissingplugins — Create, recognise and parse missing-plugins messages</p>
+<p>gstpbutilsmissingplugins</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -153,35 +153,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilsmissingplugins.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.14.7.5.2"></a><p>
-Functions to create, recognise and parse missing-plugins messages for
-applications and elements.
-</p>
-<p>
-Missing-plugin messages are posted on the bus by elements like decodebin
-or playbin if they can't find an appropriate source element or decoder
-element. The application can use these messages for two things:
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-    concise error/problem reporting to the user mentioning what exactly
-    is missing, see <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-description" title="gst_missing_plugin_message_get_description ()"><code class="function">gst_missing_plugin_message_get_description()</code></a>
-  </p></li>
-<li class="listitem"><p>
-    initiate installation of missing plugins, see
-    <a class="link" href="gst-plugins-base-libs-gstpbutilsmissingplugins.html#gst-missing-plugin-message-get-installer-detail" title="gst_missing_plugin_message_get_installer_detail ()"><code class="function">gst_missing_plugin_message_get_installer_detail()</code></a> and
-    <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a>
-  </p></li>
-</ul></div>
-<p>
-</p>
-<p>
-Applications may also create missing-plugin messages themselves to install
-required elements that are missing, using the install mechanism mentioned
-above.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpbutilsmissingplugins.functions_details"></a><h2>Functions</h2>
@@ -190,31 +161,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_missing_plugin_message_get_installer_detail
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
-<p>Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> or <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>.</p>
-<p>This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions.</p>
-<div class="refsect3">
-<a name="gst-missing-plugin-message-get-installer-detail.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a missing-plugin <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> of type <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><span class="type">GST_MESSAGE_ELEMENT</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-plugin-message-get-installer-detail.returns"></a><h4>Returns</h4>
-<p> a newly-allocated detail string, or NULL on error. Free string
-with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -222,61 +168,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_missing_plugin_message_get_description
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
-<p>Returns a localised string describing the missing feature, for use in
-error dialogs and the like. Should never return NULL unless <em class="parameter"><code>msg</code></em>
- is not
-a valid missing-plugin message.</p>
-<p>This function is mainly for applications that need a human-readable string
-describing a missing plugin, given a previously collected missing-plugin
-message</p>
-<div class="refsect3">
-<a name="gst-missing-plugin-message-get-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a missing-plugin <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> of type <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><span class="type">GST_MESSAGE_ELEMENT</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-plugin-message-get-description.returns"></a><h4>Returns</h4>
-<p> a newly-allocated description string, or NULL on error. Free
-string with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-is-missing-plugin-message"></a><h3>gst_is_missing_plugin_message ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_is_missing_plugin_message (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
-<p>Checks whether <em class="parameter"><code>msg</code></em>
- is a missing plugins message.</p>
-<div class="refsect3">
-<a name="gst-is-missing-plugin-message.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-is-missing-plugin-message.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>msg</code></em>
-is a missing-plugins message, otherwise <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -284,37 +181,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_missing_decoder_message_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *decode_caps</code></em>);</pre>
-<p>Creates a missing-plugin message for <em class="parameter"><code>element</code></em>
- to notify the application
-that a decoder element for a particular set of (fixed) caps is missing.
-This function is mainly for use in plugins.</p>
-<div class="refsect3">
-<a name="gst-missing-decoder-message-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> posting the message</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>decode_caps</p></td>
-<td class="parameter_description"><p>the (fixed) caps for which a decoder element is needed</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-decoder-message-new.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>, or NULL on error. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -322,37 +188,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_missing_encoder_message_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *encode_caps</code></em>);</pre>
-<p>Creates a missing-plugin message for <em class="parameter"><code>element</code></em>
- to notify the application
-that an encoder element for a particular set of (fixed) caps is missing.
-This function is mainly for use in plugins.</p>
-<div class="refsect3">
-<a name="gst-missing-encoder-message-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> posting the message</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>encode_caps</p></td>
-<td class="parameter_description"><p>the (fixed) caps for which an encoder element is needed</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-encoder-message-new.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>, or NULL on error. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -360,38 +195,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_missing_uri_source_message_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);</pre>
-<p>Creates a missing-plugin message for <em class="parameter"><code>element</code></em>
- to notify the application
-that a source element for a particular URI protocol is missing. This
-function is mainly for use in plugins.</p>
-<div class="refsect3">
-<a name="gst-missing-uri-source-message-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> posting the message</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>protocol</p></td>
-<td class="parameter_description"><p>the URI protocol the missing source needs to implement,
-e.g. "http" or "mms"</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-uri-source-message-new.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>, or NULL on error. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -399,38 +202,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_missing_uri_sink_message_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);</pre>
-<p>Creates a missing-plugin message for <em class="parameter"><code>element</code></em>
- to notify the application
-that a sink element for a particular URI protocol is missing. This
-function is mainly for use in plugins.</p>
-<div class="refsect3">
-<a name="gst-missing-uri-sink-message-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> posting the message</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>protocol</p></td>
-<td class="parameter_description"><p>the URI protocol the missing sink needs to implement,
-e.g. "http" or "smb"</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-uri-sink-message-new.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>, or NULL on error. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -438,38 +209,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
 gst_missing_element_message_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factory_name</code></em>);</pre>
-<p>Creates a missing-plugin message for <em class="parameter"><code>element</code></em>
- to notify the application
-that a certain required element is missing. This function is mainly for
-use in plugins.</p>
-<div class="refsect3">
-<a name="gst-missing-element-message-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> posting the message</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>factory_name</p></td>
-<td class="parameter_description"><p>the name of the missing element (element factory),
-e.g. "videoscale" or "cdparanoiasrc"</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-element-message-new.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>, or NULL on error. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -477,34 +216,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_missing_uri_source_installer_detail_new
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);</pre>
-<p>Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> or <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>.</p>
-<p>This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.</p>
-<div class="refsect3">
-<a name="gst-missing-uri-source-installer-detail-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>protocol</p></td>
-<td class="parameter_description"><p>the URI protocol the missing source needs to implement,
-e.g. "http" or "mms"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-uri-source-installer-detail-new.returns"></a><h4>Returns</h4>
-<p> a newly-allocated detail string, or NULL on error. Free string
-with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -512,34 +223,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_missing_uri_sink_installer_detail_new
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);</pre>
-<p>Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> or <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>.</p>
-<p>This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.</p>
-<div class="refsect3">
-<a name="gst-missing-uri-sink-installer-detail-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>protocol</p></td>
-<td class="parameter_description"><p>the URI protocol the missing source needs to implement,
-e.g. "http" or "mms"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-uri-sink-installer-detail-new.returns"></a><h4>Returns</h4>
-<p> a newly-allocated detail string, or NULL on error. Free string
-with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -547,34 +230,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_missing_element_installer_detail_new
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *factory_name</code></em>);</pre>
-<p>Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> or <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>.</p>
-<p>This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.</p>
-<div class="refsect3">
-<a name="gst-missing-element-installer-detail-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>factory_name</p></td>
-<td class="parameter_description"><p>the name of the missing element (element factory),
-e.g. "videoscale" or "cdparanoiasrc"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-element-installer-detail-new.returns"></a><h4>Returns</h4>
-<p> a newly-allocated detail string, or NULL on error. Free string
-with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -582,33 +237,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_missing_decoder_installer_detail_new
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *decode_caps</code></em>);</pre>
-<p>Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> or <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>.</p>
-<p>This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.</p>
-<div class="refsect3">
-<a name="gst-missing-decoder-installer-detail-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>decode_caps</p></td>
-<td class="parameter_description"><p>the (fixed) caps for which a decoder element is needed</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-decoder-installer-detail-new.returns"></a><h4>Returns</h4>
-<p> a newly-allocated detail string, or NULL on error. Free string
-with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -616,33 +244,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_missing_encoder_installer_detail_new
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *encode_caps</code></em>);</pre>
-<p>Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-<a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-async" title="gst_install_plugins_async ()"><code class="function">gst_install_plugins_async()</code></a> or <a class="link" href="gst-plugins-base-libs-gstpbutilsinstallplugins.html#gst-install-plugins-sync" title="gst_install_plugins_sync ()"><code class="function">gst_install_plugins_sync()</code></a>.</p>
-<p>This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.</p>
-<div class="refsect3">
-<a name="gst-missing-encoder-installer-detail-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>encode_caps</p></td>
-<td class="parameter_description"><p>the (fixed) caps for which an encoder element is needed</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-missing-encoder-installer-detail-new.returns"></a><h4>Returns</h4>
-<p> a newly-allocated detail string, or NULL on error. Free string
-with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when not needed any longer.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
index 8510faa..8877754 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.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-gstpluginsbaseversion.top_of_page"></a>gstpluginsbaseversion</span></h2>
-<p>gstpluginsbaseversion — GStreamer gst-plugins-base libraries version macros.</p>
+<p>gstpluginsbaseversion</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -98,11 +98,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpluginsbaseversion.description"></a><h2>Description</h2>
-<p>Use the GST_PLUGINS_BASE_VERSION_* macros e.g. to check what version of
-gst-plugins-base you are building against, and <a class="link" href="gst-plugins-base-libs-gstpluginsbaseversion.html#gst-plugins-base-version" title="gst_plugins_base_version ()"><code class="function">gst_plugins_base_version()</code></a>
-if you need to check at runtime what version of the gst-plugins-base
-libraries are being used / you are currently linked against.</p>
-<p>The version macros get defined by including &lt;gst/pbutils/pbutils.h&gt;.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstpluginsbaseversion.functions_details"></a><h2>Functions</h2>
@@ -118,52 +113,12 @@
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *minor</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *micro</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *nano</code></em>);</pre>
-<p>Gets the version number of the GStreamer Plugins Base libraries.</p>
-<div class="refsect3">
-<a name="gst-plugins-base-version.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>major</p></td>
-<td class="parameter_description"><p> pointer to a guint to store the major version number, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>minor</p></td>
-<td class="parameter_description"><p> pointer to a guint to store the minor version number, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>micro</p></td>
-<td class="parameter_description"><p> pointer to a guint to store the micro version number, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nano</p></td>
-<td class="parameter_description"><p> pointer to a guint to store the nano version number, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-plugins-base-version-string"></a><h3>gst_plugins_base_version_string ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_plugins_base_version_string (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>This function returns a string that is useful for describing this version
-of GStreamer's gst-plugins-base libraries to the outside world: user agent
-strings, logging, about dialogs ...</p>
-<div class="refsect3">
-<a name="gst-plugins-base-version-string.returns"></a><h4>Returns</h4>
-<p> a newly allocated string describing this version of gst-plugins-base</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -172,29 +127,24 @@
 <a name="GST-PLUGINS-BASE-VERSION-MAJOR:CAPS"></a><h3>GST_PLUGINS_BASE_VERSION_MAJOR</h3>
 <pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MAJOR (1)
 </pre>
-<p>The major version of GStreamer's gst-plugins-base libraries at compile time.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-PLUGINS-BASE-VERSION-MINOR:CAPS"></a><h3>GST_PLUGINS_BASE_VERSION_MINOR</h3>
-<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MINOR (8)
+<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MINOR (9)
 </pre>
-<p>The minor version of GStreamer's gst-plugins-base libraries at compile time.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-PLUGINS-BASE-VERSION-MICRO:CAPS"></a><h3>GST_PLUGINS_BASE_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (2)
+<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (1)
 </pre>
-<p>The micro version of GStreamer's gst-plugins-base libraries at compile time.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-PLUGINS-BASE-VERSION-NANO:CAPS"></a><h3>GST_PLUGINS_BASE_VERSION_NANO</h3>
 <pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_NANO (0)
 </pre>
-<p>The nano version of GStreamer's gst-plugins-base libraries at compile time.
-Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstriff.html b/docs/libs/html/gst-plugins-base-libs-gstriff.html
index 36d01e5..1bbf7b9 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstriff.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstriff.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-gstriff.top_of_page"></a>gstriff</span></h2>
-<p>gstriff — Riff fileformat utillity functions.</p>
+<p>gstriff</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -169,8 +169,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstriff.description"></a><h2>Description</h2>
-<p>A collection of functions to handle riff base files, such as avi, wav and
-asf.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstriff.functions_details"></a><h2>Functions</h2>
@@ -218,52 +216,6 @@
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *strf_data</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *strd_data</code></em>,
                             <em class="parameter"><code><span class="type">char</span> **codec_name</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-riff-create-video-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>codec_fcc</p></td>
-<td class="parameter_description"><p>fourCC codec for this codec.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strh</p></td>
-<td class="parameter_description"><p>pointer to the strh stream header structure.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strf</p></td>
-<td class="parameter_description"><p>pointer to the strf stream header structure, including any
-data that is within the range of strf.size, but excluding any
-additional data withint this chunk but outside strf.size.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strf_data</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> containing the additional data in the strf
-chunk outside reach of strf.size. Ususally a palette.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strd_data</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> containing the data in the strd stream header
-chunk. Usually codec initialization data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>codec_name</p></td>
-<td class="parameter_description"><p>if given, will be filled with a human-readable codec name.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -276,7 +228,6 @@
 <a name="gst-riff-init"></a><h3>gst_riff_init ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_riff_init (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Initialize riff library.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -287,50 +238,6 @@
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *offset</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *fourcc</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> **chunk_data</code></em>);</pre>
-<p>Reads a single chunk.</p>
-<div class="refsect3">
-<a name="gst-riff-parse-chunk.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>input buffer.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>offset</p></td>
-<td class="parameter_description"><p>offset in the buffer in the caller. Is incremented
-by the read size by this function.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fourcc</p></td>
-<td class="parameter_description"><p>fourcc (returned by this function0 of the chunk.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>chunk_data</p></td>
-<td class="parameter_description"><p>buffer (returned by the function) containing the
-chunk data, which may be NULL if chunksize == 0</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-riff-parse-chunk.returns"></a><h4>Returns</h4>
-<p> FALSE on error, TRUE otherwise</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -339,46 +246,6 @@
 gst_riff_parse_file_header (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *doctype</code></em>);</pre>
-<p>Reads the first few bytes from the provided buffer, checks
-if this stream is a RIFF stream, and determines document type.
-This function takes ownership of <em class="parameter"><code>buf</code></em>
- so it should not be used anymore
-after calling this function.</p>
-<div class="refsect3">
-<a name="gst-riff-parse-file-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging/error).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>input buffer from which the file header will be parsed,
-should be at least 12 bytes long.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>doctype</p></td>
-<td class="parameter_description"><p>a fourcc (returned by this function) to indicate the
-type of document (according to the header).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-riff-parse-file-header.returns"></a><h4>Returns</h4>
-<p> FALSE if this is not a RIFF stream (in which case the
-caller should error out; we already throw an error), or TRUE
-if it is.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -387,36 +254,6 @@
 gst_riff_parse_info (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> **taglist</code></em>);</pre>
-<p>Parses stream metadata from input data.</p>
-<div class="refsect3">
-<a name="gst-riff-parse-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging/error).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>input data to be used for parsing, stripped from header.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>taglist</p></td>
-<td class="parameter_description"><p>a pointer to a taglist (returned by this function)
-containing information about this stream. May be
-NULL if no supported tags were found.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -426,50 +263,6 @@
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                           <em class="parameter"><code><span class="type">gst_riff_strf_auds</span> **strf</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> **data</code></em>);</pre>
-<p>Parses an audio stream´s strf structure plus optionally some
-extradata from input data. This function takes ownership of <em class="parameter"><code>buf</code></em>
-.
-use.</p>
-<div class="refsect3">
-<a name="gst-riff-parse-strf-auds.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging/error).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>input data to be used for parsing, stripped from header.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strf</p></td>
-<td class="parameter_description"><p>a pointer (returned by this function) to a filled-in
-strf/auds structure. Caller should free it.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>a pointer (returned by this function) to a buffer
-containing extradata for this particular stream (e.g.
-codec initialization data).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-riff-parse-strf-auds.returns"></a><h4>Returns</h4>
-<p> TRUE if parsing succeeded, otherwise FALSE. The stream
-should be skipped on error, but it is not fatal.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -479,49 +272,6 @@
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                           <em class="parameter"><code><span class="type">gst_riff_strf_iavs</span> **strf</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> **data</code></em>);</pre>
-<p>Parses a interleaved (also known as "complex")  stream´s strf
-structure plus optionally some extradata from input data. This
-function takes ownership of <em class="parameter"><code>buf</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-riff-parse-strf-iavs.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging/error).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>input data to be used for parsing, stripped from header.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strf</p></td>
-<td class="parameter_description"><p>a pointer (returned by this function) to a filled-in
-strf/iavs structure. Caller should free it.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>a pointer (returned by this function) to a buffer
-containing extradata for this particular stream (e.g.
-codec initialization data).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-riff-parse-strf-iavs.returns"></a><h4>Returns</h4>
-<p> TRUE if parsing succeeded, otherwise FALSE.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -531,49 +281,6 @@
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                           <em class="parameter"><code><span class="type">gst_riff_strf_vids</span> **strf</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> **data</code></em>);</pre>
-<p>Parses a video stream´s strf structure plus optionally some
-extradata from input data. This function takes ownership of <em class="parameter"><code>buf</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-riff-parse-strf-vids.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging/error).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>input data to be used for parsing, stripped from header.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strf</p></td>
-<td class="parameter_description"><p>a pointer (returned by this function) to a filled-in
-strf/vids structure. Caller should free it.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>a pointer (returned by this function) to a buffer
-containing extradata for this particular stream (e.g.
-palette, codec initialization data).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-riff-parse-strf-vids.returns"></a><h4>Returns</h4>
-<p> TRUE if parsing succeeded, otherwise FALSE. The stream
-should be skipped on error, but it is not fatal.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -582,41 +289,6 @@
 gst_riff_parse_strh (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                      <em class="parameter"><code><span class="type">gst_riff_strh</span> **strh</code></em>);</pre>
-<p>Parses a strh structure from input data. Takes ownership of <em class="parameter"><code>buf</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-riff-parse-strh.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging/error).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p>input data to be used for parsing, stripped from header.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strh</p></td>
-<td class="parameter_description"><p>a pointer (returned by this function) to a filled-in
-strh structure. Caller should free it.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-riff-parse-strh.returns"></a><h4>Returns</h4>
-<p> TRUE if parsing succeeded, otherwise FALSE. The stream
-should be skipped on error, but it is not fatal.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -627,49 +299,6 @@
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> *offset</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *tag</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> **chunk_data</code></em>);</pre>
-<p>Reads a single chunk of data. 'JUNK' chunks are skipped
-automatically.</p>
-<div class="refsect3">
-<a name="gst-riff-read-chunk.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>element</p></td>
-<td class="parameter_description"><p>caller element (used for debugging).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pad</p></td>
-<td class="parameter_description"><p>pad to pull data from.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>offset</p></td>
-<td class="parameter_description"><p>offset to pull from, incremented by this function.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tag</p></td>
-<td class="parameter_description"><p>fourcc of the chunk (returned by this function).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>chunk_data</p></td>
-<td class="parameter_description"><p>buffer (returned by this function).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-riff-read-chunk.returns"></a><h4>Returns</h4>
-<p> flow status.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.html b/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.html
index 194b1d7..c30305b 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtcpbuffer.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-gstrtcpbuffer.top_of_page"></a>gstrtcpbuffer</span></h2>
-<p>gstrtcpbuffer — Helper methods for dealing with RTCP buffers</p>
+<p>gstrtcpbuffer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -559,20 +559,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtcpbuffer.description"></a><h2>Description</h2>
-<p>Note: The API in this module is not yet declared stable.</p>
-<div class="refsect2">
-<a name="id-1.2.9.7.6.3"></a><p>
-The GstRTPCBuffer helper functions makes it easy to parse and create regular 
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> objects that contain compound RTCP packets. These buffers are typically
-of 'application/x-rtcp' <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.
-</p>
-<p>
-An RTCP buffer consists of 1 or more <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> structures that you can
-retrieve with <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-get-first-packet" title="gst_rtcp_buffer_get_first_packet ()"><code class="function">gst_rtcp_buffer_get_first_packet()</code></a>. <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> acts as a pointer
-into the RTCP buffer; you can move to the next packet with
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-packet-move-to-next" title="gst_rtcp_packet_move_to_next ()"><code class="function">gst_rtcp_packet_move_to_next()</code></a>.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtcpbuffer.functions_details"></a><h2>Functions</h2>
@@ -581,41 +567,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_rtcp_buffer_new_take_data (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Create a new buffer and set the data and size of the buffer to <em class="parameter"><code>data</code></em>
- and <em class="parameter"><code>len</code></em>
-
-respectively. <em class="parameter"><code>data</code></em>
- will be freed when the buffer is unreffed, so this
-function transfers ownership of <em class="parameter"><code>data</code></em>
- to the new buffer.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-new-take-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> data for the new buffer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-new-take-data.returns"></a><h4>Returns</h4>
-<p> A newly allocated buffer with <em class="parameter"><code>data</code></em>
-and of size <em class="parameter"><code>len</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -623,40 +574,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_rtcp_buffer_new_copy_data (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Create a new buffer and set the data to a copy of <em class="parameter"><code>len</code></em>
-
-bytes of <em class="parameter"><code>data</code></em>
- and the size to <em class="parameter"><code>len</code></em>
-. The data will be freed when the buffer
-is freed.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-new-copy-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> data for the new buffer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-new-copy-data.returns"></a><h4>Returns</h4>
-<p> A newly allocated buffer with a copy of <em class="parameter"><code>data</code></em>
-and of size <em class="parameter"><code>len</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -664,72 +581,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_buffer_validate_data_reduced (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Check if the <em class="parameter"><code>data</code></em>
- and <em class="parameter"><code>size</code></em>
- point to the data of a valid RTCP packet.
-Use this function to validate a packet before using the other functions in
-this module.</p>
-<p>This function is updated to support reduced size rtcp packets according to
-RFC 5506 and will validate full compound RTCP packets as well as reduced
-size RTCP packets.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate-data-reduced.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> the data to validate. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>data</code></em>
-to validate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate-data-reduced.returns"></a><h4>Returns</h4>
-<p> TRUE if the data points to a valid RTCP packet.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-buffer-validate-reduced"></a><h3>gst_rtcp_buffer_validate_reduced ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_buffer_validate_reduced (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Check if the data pointed to by <em class="parameter"><code>buffer</code></em>
- is a valid RTCP packet using
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate-reduced" title="gst_rtcp_buffer_validate_reduced ()"><code class="function">gst_rtcp_buffer_validate_reduced()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate-reduced.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>the buffer to validate</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate-reduced.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-is a valid RTCP packet.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -737,96 +594,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_buffer_validate_data (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Check if the <em class="parameter"><code>data</code></em>
- and <em class="parameter"><code>size</code></em>
- point to the data of a valid compound,
-non-reduced size RTCP packet.
-Use this function to validate a packet before using the other functions in
-this module.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> the data to validate. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>data</code></em>
-to validate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate-data.returns"></a><h4>Returns</h4>
-<p> TRUE if the data points to a valid RTCP packet.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-buffer-validate"></a><h3>gst_rtcp_buffer_validate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_buffer_validate (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Check if the data pointed to by <em class="parameter"><code>buffer</code></em>
- is a valid RTCP packet using
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-validate-data" title="gst_rtcp_buffer_validate_data ()"><code class="function">gst_rtcp_buffer_validate_data()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>the buffer to validate</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-validate.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-is a valid RTCP packet.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-buffer-new"></a><h3>gst_rtcp_buffer_new ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_rtcp_buffer_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> mtu</code></em>);</pre>
-<p>Create a new buffer for constructing RTCP packets. The packet will have a
-maximum size of <em class="parameter"><code>mtu</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mtu</p></td>
-<td class="parameter_description"><p>the maximum mtu size.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-new.returns"></a><h4>Returns</h4>
-<p> A newly allocated buffer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -835,93 +614,18 @@
 gst_rtcp_buffer_map (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>,
                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPBuffer" title="struct GstRTCPBuffer"><span class="type">GstRTCPBuffer</span></a> *rtcp</code></em>);</pre>
-<p>Open <em class="parameter"><code>buffer</code></em>
- for reading or writing, depending on <em class="parameter"><code>flags</code></em>
-. The resulting RTCP
-buffer state is stored in <em class="parameter"><code>rtcp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-map.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a buffer with an RTCP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags for the mapping</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rtcp</p></td>
-<td class="parameter_description"><p>resulting <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPBuffer" title="struct GstRTCPBuffer"><span class="type">GstRTCPBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-buffer-unmap"></a><h3>gst_rtcp_buffer_unmap ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_buffer_unmap (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPBuffer" title="struct GstRTCPBuffer"><span class="type">GstRTCPBuffer</span></a> *rtcp</code></em>);</pre>
-<p>Finish <em class="parameter"><code>rtcp</code></em>
- after being constructed. This function is usually called
-after <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-map" title="gst_rtcp_buffer_map ()"><code class="function">gst_rtcp_buffer_map()</code></a> and after adding the RTCP items to the new buffer.</p>
-<p>The function adjusts the size of <em class="parameter"><code>rtcp</code></em>
- with the total length of all the
-added packets.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-unmap.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtcp</p></td>
-<td class="parameter_description"><p>a buffer with an RTCP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-buffer-get-packet-count"></a><h3>gst_rtcp_buffer_get_packet_count ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtcp_buffer_get_packet_count (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPBuffer" title="struct GstRTCPBuffer"><span class="type">GstRTCPBuffer</span></a> *rtcp</code></em>);</pre>
-<p>Get the number of RTCP packets in <em class="parameter"><code>rtcp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-get-packet-count.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtcp</p></td>
-<td class="parameter_description"><p>a valid RTCP buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-get-packet-count.returns"></a><h4>Returns</h4>
-<p> the number of RTCP packets in <em class="parameter"><code>rtcp</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -929,67 +633,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_buffer_get_first_packet (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPBuffer" title="struct GstRTCPBuffer"><span class="type">GstRTCPBuffer</span></a> *rtcp</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Initialize a new <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> pointer that points to the first packet in
-<em class="parameter"><code>rtcp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-get-first-packet.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtcp</p></td>
-<td class="parameter_description"><p>a valid RTCP buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packet</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-get-first-packet.returns"></a><h4>Returns</h4>
-<p> TRUE if the packet existed in <em class="parameter"><code>rtcp</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-move-to-next"></a><h3>gst_rtcp_packet_move_to_next ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_move_to_next (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Move the packet pointer <em class="parameter"><code>packet</code></em>
- to the next packet in the payload.
-Use <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-buffer-get-first-packet" title="gst_rtcp_buffer_get_first_packet ()"><code class="function">gst_rtcp_buffer_get_first_packet()</code></a> to initialize <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-move-to-next.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-move-to-next.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>packet</code></em>
-is pointing to a valid packet after calling this
-function.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -998,187 +647,36 @@
 gst_rtcp_buffer_add_packet (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPBuffer" title="struct GstRTCPBuffer"><span class="type">GstRTCPBuffer</span></a> *rtcp</code></em>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPType" title="enum GstRTCPType"><span class="type">GstRTCPType</span></a> type</code></em>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Add a new packet of <em class="parameter"><code>type</code></em>
- to <em class="parameter"><code>rtcp</code></em>
-. <em class="parameter"><code>packet</code></em>
- will point to the newly created 
-packet.</p>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-add-packet.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtcp</p></td>
-<td class="parameter_description"><p>a valid RTCP buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPType" title="enum GstRTCPType"><span class="type">GstRTCPType</span></a> of the new packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packet</p></td>
-<td class="parameter_description"><p>pointer to new packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-buffer-add-packet.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the packet could be created. This function returns <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
-if the max mtu is exceeded for the buffer.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-remove"></a><h3>gst_rtcp_packet_remove ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_remove (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Removes the packet pointed to by <em class="parameter"><code>packet</code></em>
- and moves pointer to the next one</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-remove.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-remove.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>packet</code></em>
-is pointing to a valid packet after calling this
-function.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-get-padding"></a><h3>gst_rtcp_packet_get_padding ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_get_padding (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the packet padding of the packet pointed to by <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-padding.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-padding.returns"></a><h4>Returns</h4>
-<p> If the packet has the padding bit set.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-get-count"></a><h3>gst_rtcp_packet_get_count ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a>
 gst_rtcp_packet_get_count (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the count field in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-count.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-count.returns"></a><h4>Returns</h4>
-<p> The count field in <em class="parameter"><code>packet</code></em>
-or -1 if <em class="parameter"><code>packet</code></em>
-does not point to a
-valid packet.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-get-type"></a><h3>gst_rtcp_packet_get_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPType" title="enum GstRTCPType"><span class="returnvalue">GstRTCPType</span></a>
 gst_rtcp_packet_get_type (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the packet type of the packet pointed to by <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-type.returns"></a><h4>Returns</h4>
-<p> The packet type or GST_RTCP_TYPE_INVALID when <em class="parameter"><code>packet</code></em>
-is not
-pointing to a valid packet.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-get-length"></a><h3>gst_rtcp_packet_get_length ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>
 gst_rtcp_packet_get_length (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the length field of <em class="parameter"><code>packet</code></em>
-. This is the length of the packet in 
-32-bit words minus one.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-length.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-length.returns"></a><h4>Returns</h4>
-<p> The length field of <em class="parameter"><code>packet</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1190,49 +688,6 @@
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *rtptime</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *packet_count</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *octet_count</code></em>);</pre>
-<p>Parse the SR sender info and store the values.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sr-get-sender-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>result SSRC</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ntptime</p></td>
-<td class="parameter_description"><p>result NTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rtptime</p></td>
-<td class="parameter_description"><p>result RTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packet_count</p></td>
-<td class="parameter_description"><p>result packet count</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>octet_count</p></td>
-<td class="parameter_description"><p>result octet count</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1244,77 +699,12 @@
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> rtptime</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> packet_count</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> octet_count</code></em>);</pre>
-<p>Set the given values in the SR packet <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sr-set-sender-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>the SSRC </p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ntptime</p></td>
-<td class="parameter_description"><p>the NTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rtptime</p></td>
-<td class="parameter_description"><p>the RTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packet_count</p></td>
-<td class="parameter_description"><p>the packet count</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>octet_count</p></td>
-<td class="parameter_description"><p>the octet count</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-rr-get-ssrc"></a><h3>gst_rtcp_packet_rr_get_ssrc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtcp_packet_rr_get_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the ssrc field of the RR <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-rr-get-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-rr-get-ssrc.returns"></a><h4>Returns</h4>
-<p> the ssrc.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1322,58 +712,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtcp_packet_rr_set_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ssrc</code></em>);</pre>
-<p>Set the ssrc field of the RR <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-rr-set-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>the SSRC to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-get-rb-count"></a><h3>gst_rtcp_packet_get_rb_count ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtcp_packet_get_rb_count (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the number of report blocks in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-rb-count.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SR or RR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-rb-count.returns"></a><h4>Returns</h4>
-<p> The number of report blocks in <em class="parameter"><code>packet</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1388,68 +732,6 @@
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *jitter</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *lsr</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *dlsr</code></em>);</pre>
-<p>Parse the values of the <em class="parameter"><code>nth</code></em>
- report block in <em class="parameter"><code>packet</code></em>
- and store the result in
-the values.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-get-rb.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SR or RR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>the nth report block in <em class="parameter"><code>packet</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>result for data source being reported</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fractionlost</p></td>
-<td class="parameter_description"><p>result for fraction lost since last SR/RR</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packetslost</p></td>
-<td class="parameter_description"><p>result for the cumululative number of packets lost</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>exthighestseq</p></td>
-<td class="parameter_description"><p>result for the extended last sequence number received</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>jitter</p></td>
-<td class="parameter_description"><p>result for the interarrival jitter</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>lsr</p></td>
-<td class="parameter_description"><p>result for the last SR packet from this source</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dlsr</p></td>
-<td class="parameter_description"><p>result for the delay since last SR packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1463,66 +745,6 @@
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> jitter</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> lsr</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> dlsr</code></em>);</pre>
-<p>Add a new report block to <em class="parameter"><code>packet</code></em>
- with the given values.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-add-rb.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SR or RR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>data source being reported</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fractionlost</p></td>
-<td class="parameter_description"><p>fraction lost since last SR/RR</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packetslost</p></td>
-<td class="parameter_description"><p>the cumululative number of packets lost</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>exthighestseq</p></td>
-<td class="parameter_description"><p>the extended last sequence number received</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>jitter</p></td>
-<td class="parameter_description"><p>the interarrival jitter</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>lsr</p></td>
-<td class="parameter_description"><p>the last SR packet from this source</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dlsr</p></td>
-<td class="parameter_description"><p>the delay since last SR packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-add-rb.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the packet was created. This function can return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
-the max MTU is exceeded or the number of report blocks is greater than
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-MAX-RB-COUNT:CAPS" title="GST_RTCP_MAX_RB_COUNT"><span class="type">GST_RTCP_MAX_RB_COUNT</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1537,227 +759,42 @@
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> jitter</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> lsr</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> dlsr</code></em>);</pre>
-<p>Set the <em class="parameter"><code>nth</code></em>
- new report block in <em class="parameter"><code>packet</code></em>
- with the given values.</p>
-<p>Note: Not implemented.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-set-rb.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SR or RR <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>the nth report block to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>data source being reported</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fractionlost</p></td>
-<td class="parameter_description"><p>fraction lost since last SR/RR</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>packetslost</p></td>
-<td class="parameter_description"><p>the cumululative number of packets lost</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>exthighestseq</p></td>
-<td class="parameter_description"><p>the extended last sequence number received</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>jitter</p></td>
-<td class="parameter_description"><p>the interarrival jitter</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>lsr</p></td>
-<td class="parameter_description"><p>the last SR packet from this source</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dlsr</p></td>
-<td class="parameter_description"><p>the delay since last SR packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-sdes-get-item-count"></a><h3>gst_rtcp_packet_sdes_get_item_count ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtcp_packet_sdes_get_item_count (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the number of items in the SDES packet <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-get-item-count.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-get-item-count.returns"></a><h4>Returns</h4>
-<p> The number of items in <em class="parameter"><code>packet</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-sdes-first-item"></a><h3>gst_rtcp_packet_sdes_first_item ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_sdes_first_item (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Move to the first SDES item in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-first-item.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-first-item.returns"></a><h4>Returns</h4>
-<p> TRUE if there was a first item.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-sdes-next-item"></a><h3>gst_rtcp_packet_sdes_next_item ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_sdes_next_item (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Move to the next SDES item in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-next-item.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-next-item.returns"></a><h4>Returns</h4>
-<p> TRUE if there was a next item.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-sdes-get-ssrc"></a><h3>gst_rtcp_packet_sdes_get_ssrc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtcp_packet_sdes_get_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the SSRC of the current SDES item.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-get-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-get-ssrc.returns"></a><h4>Returns</h4>
-<p> the SSRC of the current item.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-sdes-first-entry"></a><h3>gst_rtcp_packet_sdes_first_entry ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_sdes_first_entry (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Move to the first SDES entry in the current item.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-first-entry.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-first-entry.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there was a first entry.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-sdes-next-entry"></a><h3>gst_rtcp_packet_sdes_next_entry ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_sdes_next_entry (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Move to the next SDES entry in the current item.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-next-entry.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-next-entry.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there was a next entry.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1767,53 +804,6 @@
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="type">GstRTCPSDESType</span></a> *type</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *len</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **data</code></em>);</pre>
-<p>Get the data of the current SDES item entry. <em class="parameter"><code>type</code></em>
- (when not NULL) will
-contain the type of the entry. <em class="parameter"><code>data</code></em>
- (when not NULL) will point to <em class="parameter"><code>len</code></em>
-
-bytes.</p>
-<p>When <em class="parameter"><code>type</code></em>
- refers to a text item, <em class="parameter"><code>data</code></em>
- will point to a UTF8 string. Note
-that this UTF8 string is NOT null-terminated. Use
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-packet-sdes-copy-entry" title="gst_rtcp_packet_sdes_copy_entry ()"><code class="function">gst_rtcp_packet_sdes_copy_entry()</code></a> to get a null-terminated copy of the entry.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-get-entry.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>result of the entry type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p> result length of the entry data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> result entry data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-get-entry.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there was valid data.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1823,44 +813,6 @@
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="type">GstRTCPSDESType</span></a> *type</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *len</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **data</code></em>);</pre>
-<p>This function is like <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#gst-rtcp-packet-sdes-get-entry" title="gst_rtcp_packet_sdes_get_entry ()"><code class="function">gst_rtcp_packet_sdes_get_entry()</code></a> but it returns a
-null-terminated copy of the data instead. use <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-copy-entry.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>result of the entry type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p> result length of the entry data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> result entry data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-copy-entry.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there was valid data.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1868,36 +820,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_sdes_add_item (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ssrc</code></em>);</pre>
-<p>Add a new SDES item for <em class="parameter"><code>ssrc</code></em>
- to <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-add-item.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>the SSRC of the new item to add</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-add-item.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the item could be added, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the maximum amount of
-items has been exceeded for the SDES packet or the MTU has been reached.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1907,73 +829,12 @@
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="type">GstRTCPSDESType</span></a> type</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> len</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>);</pre>
-<p>Add a new SDES entry to the current item in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-add-entry.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid SDES <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="type">GstRTCPSDESType</span></a> of the SDES entry</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the data length</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> the data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-sdes-add-entry.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the item could be added, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the MTU has been
-reached.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-bye-get-ssrc-count"></a><h3>gst_rtcp_packet_bye_get_ssrc_count ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtcp_packet_bye_get_ssrc_count (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the number of SSRC fields in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-ssrc-count.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid BYE <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-ssrc-count.returns"></a><h4>Returns</h4>
-<p> The number of SSRC fields in <em class="parameter"><code>packet</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1981,37 +842,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtcp_packet_bye_get_nth_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</code></em>);</pre>
-<p>Get the <em class="parameter"><code>nth</code></em>
- SSRC of the BYE <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-nth-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid BYE <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>the nth SSRC to get</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-nth-ssrc.returns"></a><h4>Returns</h4>
-<p> The <em class="parameter"><code>nth</code></em>
-SSRC of <em class="parameter"><code>packet</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2019,37 +849,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_bye_add_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ssrc</code></em>);</pre>
-<p>Add <em class="parameter"><code>ssrc</code></em>
- to the BYE <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-add-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid BYE <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>an SSRC to add</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-add-ssrc.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the ssrc was added. This function can return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
-the max MTU is exceeded or the number of sources blocks is greater than
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-MAX-BYE-SSRC-COUNT:CAPS" title="GST_RTCP_MAX_BYE_SSRC_COUNT"><span class="type">GST_RTCP_MAX_BYE_SSRC_COUNT</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2058,100 +857,18 @@
 gst_rtcp_packet_bye_add_ssrcs (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *ssrc</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Adds <em class="parameter"><code>len</code></em>
- SSRCs in <em class="parameter"><code>ssrc</code></em>
- to BYE <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-add-ssrcs.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid BYE <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>an array of SSRCs to add</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>number of elements in <em class="parameter"><code>ssrc</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-add-ssrcs.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the all the SSRCs were added. This function can return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
-the max MTU is exceeded or the number of sources blocks is greater than
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-MAX-BYE-SSRC-COUNT:CAPS" title="GST_RTCP_MAX_BYE_SSRC_COUNT"><span class="type">GST_RTCP_MAX_BYE_SSRC_COUNT</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-bye-get-reason-len"></a><h3>gst_rtcp_packet_bye_get_reason_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a>
 gst_rtcp_packet_bye_get_reason_len (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the length of the reason string.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-reason-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid BYE <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-reason-len.returns"></a><h4>Returns</h4>
-<p> The length of the reason string or 0 when there is no reason string
-present.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-bye-get-reason"></a><h3>gst_rtcp_packet_bye_get_reason ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtcp_packet_bye_get_reason (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the reason in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-reason.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid BYE <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-get-reason.returns"></a><h4>Returns</h4>
-<p> The reason for the BYE <em class="parameter"><code>packet</code></em>
-or NULL if the packet did not contain
-a reason string. The string must be freed with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2159,62 +876,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_bye_set_reason (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reason</code></em>);</pre>
-<p>Set the reason string to <em class="parameter"><code>reason</code></em>
- in <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-set-reason.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid BYE <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reason</p></td>
-<td class="parameter_description"><p>a reason string</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-bye-set-reason.returns"></a><h4>Returns</h4>
-<p> TRUE if the string could be set.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-fb-get-type"></a><h3>gst_rtcp_packet_fb_get_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPFBType" title="enum GstRTCPFBType"><span class="returnvalue">GstRTCPFBType</span></a>
 gst_rtcp_packet_fb_get_type (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the feedback message type of the FB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-type.returns"></a><h4>Returns</h4>
-<p> The feedback message type.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2222,57 +889,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtcp_packet_fb_set_type (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPFBType" title="enum GstRTCPFBType"><span class="type">GstRTCPFBType</span></a> type</code></em>);</pre>
-<p>Set the feedback message type of the FB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-set-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPFBType" title="enum GstRTCPFBType"><span class="type">GstRTCPFBType</span></a> to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-fb-get-sender-ssrc"></a><h3>gst_rtcp_packet_fb_get_sender_ssrc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtcp_packet_fb_get_sender_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the sender SSRC field of the RTPFB or PSFB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-sender-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-sender-ssrc.returns"></a><h4>Returns</h4>
-<p> the sender SSRC.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2280,57 +902,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtcp_packet_fb_set_sender_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ssrc</code></em>);</pre>
-<p>Set the sender SSRC field of the RTPFB or PSFB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-set-sender-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>a sender SSRC</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-fb-get-media-ssrc"></a><h3>gst_rtcp_packet_fb_get_media_ssrc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtcp_packet_fb_get_media_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the media SSRC field of the RTPFB or PSFB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-media-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-media-ssrc.returns"></a><h4>Returns</h4>
-<p> the media SSRC.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2338,58 +915,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtcp_packet_fb_set_media_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ssrc</code></em>);</pre>
-<p>Set the media SSRC field of the RTPFB or PSFB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-set-media-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>a media SSRC</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-fb-get-fci-length"></a><h3>gst_rtcp_packet_fb_get_fci_length ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>
 gst_rtcp_packet_fb_get_fci_length (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the length of the Feedback Control Information attached to a
-RTPFB or PSFB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-fci-length.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-fci-length.returns"></a><h4>Returns</h4>
-<p> The length of the FCI in 32-bit words.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2397,185 +928,36 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtcp_packet_fb_set_fci_length (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> wordlen</code></em>);</pre>
-<p>Set the length of the Feedback Control Information attached to a
-RTPFB or PSFB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-set-fci-length.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>wordlen</p></td>
-<td class="parameter_description"><p>Length of the FCI in 32-bit words</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-set-fci-length.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there was enough space in the packet to add this much FCI</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-packet-fb-get-fci"></a><h3>gst_rtcp_packet_fb_get_fci ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
 gst_rtcp_packet_fb_get_fci (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a> *packet</code></em>);</pre>
-<p>Get the Feedback Control Information attached to a RTPFB or PSFB <em class="parameter"><code>packet</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-fci.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet</p></td>
-<td class="parameter_description"><p>a valid RTPFB or PSFB <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPPacket" title="struct GstRTCPPacket"><span class="type">GstRTCPPacket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-packet-fb-get-fci.returns"></a><h4>Returns</h4>
-<p> a pointer to the FCI</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-ntp-to-unix"></a><h3>gst_rtcp_ntp_to_unix ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 gst_rtcp_ntp_to_unix (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> ntptime</code></em>);</pre>
-<p>Converts an NTP time to UNIX nanoseconds. <em class="parameter"><code>ntptime</code></em>
- can typically be
-the NTP time of an SR RTCP message and contains, in the upper 32 bits, the
-number of seconds since 1900 and, in the lower 32 bits, the fractional
-seconds. The resulting value will be the number of nanoseconds since 1970.</p>
-<div class="refsect3">
-<a name="gst-rtcp-ntp-to-unix.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ntptime</p></td>
-<td class="parameter_description"><p>an NTP timestamp</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-ntp-to-unix.returns"></a><h4>Returns</h4>
-<p> the UNIX time for <em class="parameter"><code>ntptime</code></em>
-in nanoseconds.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-unix-to-ntp"></a><h3>gst_rtcp_unix_to_ntp ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 gst_rtcp_unix_to_ntp (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> unixtime</code></em>);</pre>
-<p>Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should
-pass a value with nanoseconds since 1970. The NTP time will, in the upper
-32 bits, contain the number of seconds since 1900 and, in the lower 32
-bits, the fractional seconds. The resulting value can be used as an ntptime
-for constructing SR RTCP packets.</p>
-<div class="refsect3">
-<a name="gst-rtcp-unix-to-ntp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>unixtime</p></td>
-<td class="parameter_description"><p>an UNIX timestamp in nanoseconds</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-unix-to-ntp.returns"></a><h4>Returns</h4>
-<p> the NTP time for <em class="parameter"><code>unixtime</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-sdes-name-to-type"></a><h3>gst_rtcp_sdes_name_to_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="returnvalue">GstRTCPSDESType</span></a>
 gst_rtcp_sdes_name_to_type (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
-<p>Convert <em class="parameter"><code>name</code></em>
- into a <em class="parameter"><code>GstRTCPSDESType</code></em>
-. <em class="parameter"><code>name</code></em>
- is typically a key in a
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> containing SDES items.</p>
-<div class="refsect3">
-<a name="gst-rtcp-sdes-name-to-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>name</p></td>
-<td class="parameter_description"><p>a SDES name</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-sdes-name-to-type.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="type">GstRTCPSDESType</span></a> for <em class="parameter"><code>name</code></em>
-or <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-SDES-PRIV:CAPS"><span class="type">GST_RTCP_SDES_PRIV</span></a> when <em class="parameter"><code>name</code></em>
-is a private sdes item.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtcp-sdes-type-to-name"></a><h3>gst_rtcp_sdes_type_to_name ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtcp_sdes_type_to_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="type">GstRTCPSDESType</span></a> type</code></em>);</pre>
-<p>Converts <em class="parameter"><code>type</code></em>
- to the string equivalent. The string is typically used as a
-key in a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> containing SDES items.</p>
-<div class="refsect3">
-<a name="gst-rtcp-sdes-type-to-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>type</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPSDESType" title="enum GstRTCPSDESType"><span class="type">GstRTCPSDESType</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtcp-sdes-type-to-name.returns"></a><h4>Returns</h4>
-<p> the string equivalent of <em class="parameter"><code>type</code></em>
-</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -2584,55 +966,46 @@
 <a name="GST-RTCP-VERSION:CAPS"></a><h3>GST_RTCP_VERSION</h3>
 <pre class="programlisting">#define GST_RTCP_VERSION 2
 </pre>
-<p>The supported RTCP version 2.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTCP-MAX-SDES:CAPS"></a><h3>GST_RTCP_MAX_SDES</h3>
 <pre class="programlisting">#define GST_RTCP_MAX_SDES 255
 </pre>
-<p>The maximum text length for an SDES item.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTCP-MAX-BYE-SSRC-COUNT:CAPS"></a><h3>GST_RTCP_MAX_BYE_SSRC_COUNT</h3>
 <pre class="programlisting">#define GST_RTCP_MAX_BYE_SSRC_COUNT   31
 </pre>
-<p>The maximum amount of SSRCs in a BYE packet.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTCP-MAX-RB-COUNT:CAPS"></a><h3>GST_RTCP_MAX_RB_COUNT</h3>
 <pre class="programlisting">#define GST_RTCP_MAX_RB_COUNT   31
 </pre>
-<p>The maximum amount of Receiver report blocks in RR and SR messages.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTCP-MAX-SDES-ITEM-COUNT:CAPS"></a><h3>GST_RTCP_MAX_SDES_ITEM_COUNT</h3>
 <pre class="programlisting">#define GST_RTCP_MAX_SDES_ITEM_COUNT   31
 </pre>
-<p>The maximum amount of SDES items.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTCP-VALID-MASK:CAPS"></a><h3>GST_RTCP_VALID_MASK</h3>
 <pre class="programlisting">#define GST_RTCP_VALID_MASK (0xc000 | 0x2000 | 0xfe)
 </pre>
-<p>Mask for version, padding bit and packet type pair</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTCP-VALID-VALUE:CAPS"></a><h3>GST_RTCP_VALID_VALUE</h3>
 <pre class="programlisting">#define GST_RTCP_VALID_VALUE ((GST_RTCP_VERSION &lt;&lt; 14) | GST_RTCP_TYPE_SR)
 </pre>
-<p>Valid value for the first two bytes of an RTCP packet after applying
-<a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GST-RTCP-VALID-MASK:CAPS" title="GST_RTCP_VALID_MASK"><span class="type">GST_RTCP_VALID_MASK</span></a> to them.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstRTCPType"></a><h3>enum GstRTCPType</h3>
-<p>Different RTCP packet types.</p>
 <div class="refsect3">
 <a name="GstRTCPType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2644,59 +1017,43 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-INVALID:CAPS"></a>GST_RTCP_TYPE_INVALID</p></td>
-<td class="enum_member_description">
-<p>Invalid type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-SR:CAPS"></a>GST_RTCP_TYPE_SR</p></td>
-<td class="enum_member_description">
-<p>Sender report</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-RR:CAPS"></a>GST_RTCP_TYPE_RR</p></td>
-<td class="enum_member_description">
-<p>Receiver report</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-SDES:CAPS"></a>GST_RTCP_TYPE_SDES</p></td>
-<td class="enum_member_description">
-<p>Source description</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-BYE:CAPS"></a>GST_RTCP_TYPE_BYE</p></td>
-<td class="enum_member_description">
-<p>Goodbye</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-APP:CAPS"></a>GST_RTCP_TYPE_APP</p></td>
-<td class="enum_member_description">
-<p>Application defined</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-RTPFB:CAPS"></a>GST_RTCP_TYPE_RTPFB</p></td>
-<td class="enum_member_description">
-<p>Transport layer feedback.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-TYPE-PSFB:CAPS"></a>GST_RTCP_TYPE_PSFB</p></td>
-<td class="enum_member_description">
-<p>Payload-specific feedback.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2710,37 +1067,10 @@
   guint          offset;
 };
 </pre>
-<p>Data structure that points to a packet at <em class="parameter"><code>offset</code></em>
- in <em class="parameter"><code>buffer</code></em>
-.
-The size of the structure is made public to allow stack allocations.</p>
-<div class="refsect3">
-<a name="GstRTCPPacket.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtcpbuffer.html#GstRTCPBuffer" title="struct GstRTCPBuffer"><span class="type">GstRTCPBuffer</span></a> *<em class="structfield"><code><a name="GstRTCPPacket.rtcp"></a>rtcp</code></em>;</p></td>
-<td class="struct_member_description"><p>pointer to RTCP buffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTCPPacket.offset"></a>offset</code></em>;</p></td>
-<td class="struct_member_description"><p>offset of packet in buffer data</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstRTCPSDESType"></a><h3>enum GstRTCPSDESType</h3>
-<p>Different types of SDES content.</p>
 <div class="refsect3">
 <a name="GstRTCPSDESType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2752,73 +1082,53 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-INVALID:CAPS"></a>GST_RTCP_SDES_INVALID</p></td>
-<td class="enum_member_description">
-<p>Invalid SDES entry</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-END:CAPS"></a>GST_RTCP_SDES_END</p></td>
-<td class="enum_member_description">
-<p>End of SDES list</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-CNAME:CAPS"></a>GST_RTCP_SDES_CNAME</p></td>
-<td class="enum_member_description">
-<p>Canonical name</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-NAME:CAPS"></a>GST_RTCP_SDES_NAME</p></td>
-<td class="enum_member_description">
-<p>User name</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-EMAIL:CAPS"></a>GST_RTCP_SDES_EMAIL</p></td>
-<td class="enum_member_description">
-<p>User's electronic mail address</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-PHONE:CAPS"></a>GST_RTCP_SDES_PHONE</p></td>
-<td class="enum_member_description">
-<p>User's phone number</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-LOC:CAPS"></a>GST_RTCP_SDES_LOC</p></td>
-<td class="enum_member_description">
-<p>Geographic user location</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-TOOL:CAPS"></a>GST_RTCP_SDES_TOOL</p></td>
-<td class="enum_member_description">
-<p>Name of application or tool</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-NOTE:CAPS"></a>GST_RTCP_SDES_NOTE</p></td>
-<td class="enum_member_description">
-<p>Notice about the source</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-SDES-PRIV:CAPS"></a>GST_RTCP_SDES_PRIV</p></td>
-<td class="enum_member_description">
-<p>Private extensions</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2827,7 +1137,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTCPFBType"></a><h3>enum GstRTCPFBType</h3>
-<p>Different types of feedback messages.</p>
 <div class="refsect3">
 <a name="GstRTCPFBType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2839,96 +1148,68 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-FB-TYPE-INVALID:CAPS"></a>GST_RTCP_FB_TYPE_INVALID</p></td>
-<td class="enum_member_description">
-<p>Invalid type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-RTPFB-TYPE-NACK:CAPS"></a>GST_RTCP_RTPFB_TYPE_NACK</p></td>
-<td class="enum_member_description">
-<p>Generic NACK</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-RTPFB-TYPE-TMMBR:CAPS"></a>GST_RTCP_RTPFB_TYPE_TMMBR</p></td>
-<td class="enum_member_description">
-<p>Temporary Maximum Media Stream Bit Rate Request</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-RTPFB-TYPE-TMMBN:CAPS"></a>GST_RTCP_RTPFB_TYPE_TMMBN</p></td>
-<td class="enum_member_description">
-<p>Temporary Maximum Media Stream Bit Rate
-   Notification</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-RTPFB-TYPE-RTCP-SR-REQ:CAPS"></a>GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ</p></td>
-<td class="enum_member_description">
-<p>Request an SR packet for early
-   synchronization</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-PLI:CAPS"></a>GST_RTCP_PSFB_TYPE_PLI</p></td>
-<td class="enum_member_description">
-<p>Picture Loss Indication</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-SLI:CAPS"></a>GST_RTCP_PSFB_TYPE_SLI</p></td>
-<td class="enum_member_description">
-<p>Slice Loss Indication</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-RPSI:CAPS"></a>GST_RTCP_PSFB_TYPE_RPSI</p></td>
-<td class="enum_member_description">
-<p>Reference Picture Selection Indication</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-AFB:CAPS"></a>GST_RTCP_PSFB_TYPE_AFB</p></td>
-<td class="enum_member_description">
-<p>Application layer Feedback</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-FIR:CAPS"></a>GST_RTCP_PSFB_TYPE_FIR</p></td>
-<td class="enum_member_description">
-<p>Full Intra Request Command</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-TSTR:CAPS"></a>GST_RTCP_PSFB_TYPE_TSTR</p></td>
-<td class="enum_member_description">
-<p>Temporal-Spatial Trade-off Request</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-TSTN:CAPS"></a>GST_RTCP_PSFB_TYPE_TSTN</p></td>
-<td class="enum_member_description">
-<p>Temporal-Spatial Trade-off Notification</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTCP-PSFB-TYPE-VBCN:CAPS"></a>GST_RTCP_PSFB_TYPE_VBCN</p></td>
-<td class="enum_member_description">
-<p>Video Back Channel Message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -2950,10 +1231,6 @@
 </pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstrtcpbuffer.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>, <span class="type">gstrtpbuffer</span></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html b/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html
index 88195fc..b893552 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtpbaseaudiopayload.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstrtpbaseaudiopayload.top_of_page"></a>gstrtpbaseaudiopayload</span></h2>
-<p>gstrtpbaseaudiopayload — Base class for audio RTP payloader</p>
+<p>gstrtpbaseaudiopayload</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -159,35 +159,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbaseaudiopayload.description"></a><h2>Description</h2>
-<p>Provides a base class for audio RTP payloaders for frame or sample based
-audio codecs (constant bitrate)</p>
-<p>This class derives from GstRTPBasePayload. It can be used for payloading
-audio codecs. It will only work with constant bitrate codecs. It supports
-both frame based and sample based codecs. It takes care of packing up the
-audio data into RTP packets and filling up the headers accordingly. The
-payloading is done based on the maximum MTU (mtu) and the maximum time per
-packet (max-ptime). The general idea is to divide large data buffers into
-smaller RTP packets. The RTP packet size is the minimum of either the MTU,
-max-ptime (if set) or available data. The RTP packet size is always larger or
-equal to min-ptime (if set). If min-ptime is not set, any residual data is
-sent in a last RTP packet. In the case of frame based codecs, the resulting
-RTP packets always contain full frames.</p>
-<div class="refsect2">
-<a name="id-1.2.9.3.9.4"></a><h3>Usage</h3>
-<p>
-To use this base class, your child element needs to call either
-<a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#gst-rtp-base-audio-payload-set-frame-based" title="gst_rtp_base_audio_payload_set_frame_based ()"><code class="function">gst_rtp_base_audio_payload_set_frame_based()</code></a> or
-<a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#gst-rtp-base-audio-payload-set-sample-based" title="gst_rtp_base_audio_payload_set_sample_based ()"><code class="function">gst_rtp_base_audio_payload_set_sample_based()</code></a>. This is usually done in the
-element's <code class="function">_init()</code> function. Then, the child element must call either
-<a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#gst-rtp-base-audio-payload-set-frame-options" title="gst_rtp_base_audio_payload_set_frame_options ()"><code class="function">gst_rtp_base_audio_payload_set_frame_options()</code></a>,
-<a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#gst-rtp-base-audio-payload-set-sample-options" title="gst_rtp_base_audio_payload_set_sample_options ()"><code class="function">gst_rtp_base_audio_payload_set_sample_options()</code></a> or
-gst_rtp_base_audio_payload_set_samplebits_options. Since
-GstRTPBaseAudioPayload derives from GstRTPBasePayload, the child element
-must set any variables or call/override any functions required by that base
-class. The child element does not need to override any other functions
-specific to GstRTPBaseAudioPayload.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbaseaudiopayload.functions_details"></a><h2>Functions</h2>
@@ -196,23 +167,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_base_audio_payload_set_frame_based
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> *rtpbaseaudiopayload</code></em>);</pre>
-<p>Tells <a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> that the child element is for a frame based
-audio codec</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-set-frame-based.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtpbaseaudiopayload</p></td>
-<td class="parameter_description"><p>a pointer to the element.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -222,34 +176,6 @@
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> *rtpbaseaudiopayload</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> frame_duration</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> frame_size</code></em>);</pre>
-<p>Sets the options for frame based audio codecs.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-set-frame-options.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtpbaseaudiopayload</p></td>
-<td class="parameter_description"><p>a pointer to the element.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame_duration</p></td>
-<td class="parameter_description"><p>The duraction of an audio frame in milliseconds.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>frame_size</p></td>
-<td class="parameter_description"><p>The size of an audio frame in bytes.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -257,23 +183,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_base_audio_payload_set_sample_based
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> *rtpbaseaudiopayload</code></em>);</pre>
-<p>Tells <a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> that the child element is for a sample based
-audio codec</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-set-sample-based.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtpbaseaudiopayload</p></td>
-<td class="parameter_description"><p>a pointer to the element.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -282,29 +191,6 @@
 gst_rtp_base_audio_payload_set_sample_options
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> *rtpbaseaudiopayload</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> sample_size</code></em>);</pre>
-<p>Sets the options for sample based audio codecs.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-set-sample-options.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtpbaseaudiopayload</p></td>
-<td class="parameter_description"><p>a pointer to the element.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sample_size</p></td>
-<td class="parameter_description"><p>Size per sample in bytes.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -312,27 +198,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstAdapter.html#GstAdapter-struct"><span class="returnvalue">GstAdapter</span></a> *
 gst_rtp_base_audio_payload_get_adapter
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> *rtpbaseaudiopayload</code></em>);</pre>
-<p>Gets the internal adapter used by the depayloader.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-get-adapter.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtpbaseaudiopayload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-get-adapter.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstAdapter.html#GstAdapter-struct"><span class="type">GstAdapter</span></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -342,48 +207,6 @@
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> payload_len</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
-<p>Create an RTP buffer and store <em class="parameter"><code>payload_len</code></em>
- bytes of <em class="parameter"><code>data</code></em>
- as the
-payload. Set the timestamp on the new buffer to <em class="parameter"><code>timestamp</code></em>
- before pushing
-the buffer downstream.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-push.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>baseaudiopayload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>data to set as payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>payload_len</p></td>
-<td class="parameter_description"><p>length of payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timestamp</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-push.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -392,46 +215,6 @@
 gst_rtp_base_audio_payload_flush (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> *baseaudiopayload</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> payload_len</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre>
-<p>Create an RTP buffer and store <em class="parameter"><code>payload_len</code></em>
- bytes of the adapter as the
-payload. Set the timestamp on the new buffer to <em class="parameter"><code>timestamp</code></em>
- before pushing
-the buffer downstream.</p>
-<p>If <em class="parameter"><code>payload_len</code></em>
- is -1, all pending bytes will be flushed. If <em class="parameter"><code>timestamp</code></em>
- is
--1, the timestamp will be calculated automatically.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-flush.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>baseaudiopayload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>payload_len</p></td>
-<td class="parameter_description"><p>length of payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timestamp</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-flush.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -440,29 +223,6 @@
 gst_rtp_base_audio_payload_set_samplebits_options
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload"><span class="type">GstRTPBaseAudioPayload</span></a> *rtpbaseaudiopayload</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> sample_size</code></em>);</pre>
-<p>Sets the options for sample based audio codecs.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-audio-payload-set-samplebits-options.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtpbaseaudiopayload</p></td>
-<td class="parameter_description"><p>a pointer to the element.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sample_size</p></td>
-<td class="parameter_description"><p>Size per sample in bits.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -478,18 +238,6 @@
   GstRTPBasePayloadClass parent_class;
 };
 </pre>
-<p>Base class for audio RTP payloader.</p>
-<div class="refsect3">
-<a name="GstRTPBaseAudioPayloadClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html b/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html
index 48b09ff..fe65232 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtpbasedepayload.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstrtpbasedepayload.top_of_page"></a>gstrtpbasedepayload</span></h2>
-<p>gstrtpbasedepayload — Base class for RTP depayloader</p>
+<p>gstrtpbasedepayload</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -123,7 +123,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbasedepayload.description"></a><h2>Description</h2>
-<p>Provides a base class for RTP depayloaders</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbasedepayload.functions_details"></a><h2>Functions</h2>
@@ -144,39 +143,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_rtp_base_depayload_push (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayload"><span class="type">GstRTPBaseDepayload</span></a> *filter</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *out_buf</code></em>);</pre>
-<p>Push <em class="parameter"><code>out_buf</code></em>
- to the peer of <em class="parameter"><code>filter</code></em>
-. This function takes ownership of
-<em class="parameter"><code>out_buf</code></em>
-.</p>
-<p>This function will by default apply the last incomming timestamp on
-the outgoing buffer when it didn't have a timestamp already.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-depayload-push.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>filter</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayload"><span class="type">GstRTPBaseDepayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_buf</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-depayload-push.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -184,37 +150,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_rtp_base_depayload_push_list (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayload"><span class="type">GstRTPBaseDepayload</span></a> *filter</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferList.html#GstBufferList-struct"><span class="type">GstBufferList</span></a> *out_list</code></em>);</pre>
-<p>Push <em class="parameter"><code>out_list</code></em>
- to the peer of <em class="parameter"><code>filter</code></em>
-. This function takes ownership of
-<em class="parameter"><code>out_list</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-depayload-push-list.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>filter</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasedepayload.html#GstRTPBaseDepayload"><span class="type">GstRTPBaseDepayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_list</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferList.html#GstBufferList-struct"><span class="type">GstBufferList</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-depayload-push-list.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -263,44 +198,6 @@
   GstBuffer * (*process_rtp_packet) (GstRTPBaseDepayload *base, GstRTPBuffer * rtp_buffer);
 };
 </pre>
-<p>Base class for audio RTP payloader.</p>
-<div class="refsect3">
-<a name="GstRTPBaseDepayloadClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBaseDepayloadClass.set-caps"></a>set_caps</code></em> ()</p></td>
-<td class="struct_member_description"><p>configure the depayloader</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBaseDepayloadClass.process"></a>process</code></em> ()</p></td>
-<td class="struct_member_description"><p>process incoming rtp packets</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBaseDepayloadClass.packet-lost"></a>packet_lost</code></em> ()</p></td>
-<td class="struct_member_description"><p>signal the depayloader about packet loss</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBaseDepayloadClass.handle-event"></a>handle_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>custom event handling</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBaseDepayloadClass.process-rtp-packet"></a>process_rtp_packet</code></em> ()</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -308,65 +205,7 @@
 <div class="refsect2">
 <a name="GstRTPBaseDepayload--stats"></a><h3>The <code class="literal">“stats”</code> property</h3>
 <pre class="programlisting">  “stats”                    <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</pre>
-<p>Various depayloader statistics retrieved atomically (and are therefore
-synchroized with each other). This property return a GstStructure named
-application/x-rtp-depayload-stats containing the following fields relating to
-the last processed buffer and current state of the stream being depayloaded:</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term">clock-rate</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, clock-rate of the
-    stream</p></td>
-</tr>
-<tr>
-<td><p><span class="term">npt-start</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT64:CAPS"><span class="type">G_TYPE_UINT64</span></a>, time of playback start
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">npt-stop</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT64:CAPS"><span class="type">G_TYPE_UINT64</span></a>, time of playback stop
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">play-speed</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-DOUBLE:CAPS"><span class="type">G_TYPE_DOUBLE</span></a>, the playback speed
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">play-scale</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-DOUBLE:CAPS"><span class="type">G_TYPE_DOUBLE</span></a>, the playback scale
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">running-time-dts</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT64:CAPS"><span class="type">G_TYPE_UINT64</span></a>, the last running-time of the
-     last DTS
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">running-time-pts</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT64:CAPS"><span class="type">G_TYPE_UINT64</span></a>, the last running-time of the
-     last PTS
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">seqnum</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, the last seen seqnum
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">timestamp</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, the last seen RTP timestamp
-    </p></td>
-</tr>
-</tbody>
-</table></div>
+<p>Various statistics.</p>
 <p>Flags: Read</p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtpbasepayload.html b/docs/libs/html/gst-plugins-base-libs-gstrtpbasepayload.html
index b07b626..89851fb 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtpbasepayload.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtpbasepayload.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstrtpbasepayload.top_of_page"></a>gstrtpbasepayload</span></h2>
-<p>gstrtpbasepayload — Base class for RTP payloader</p>
+<p>gstrtpbasepayload</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -217,7 +217,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbasepayload.description"></a><h2>Description</h2>
-<p>Provides a base class for RTP payloaders</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbasepayload.functions_details"></a><h2>Functions</h2>
@@ -225,92 +224,24 @@
 <a name="GST-RTP-BASE-PAYLOAD-MTU:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_MTU()</h3>
 <pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_MTU(payload) (GST_RTP_BASE_PAYLOAD (payload)-&gt;mtu)
 </pre>
-<p>Get access to the configured MTU of <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-RTP-BASE-PAYLOAD-MTU.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTP-BASE-PAYLOAD-PT:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_PT()</h3>
 <pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_PT(payload)  (GST_RTP_BASE_PAYLOAD (payload)-&gt;pt)
 </pre>
-<p>Get access to the configured payload type of <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-RTP-BASE-PAYLOAD-PT.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTP-BASE-PAYLOAD-SINKPAD:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_SINKPAD()</h3>
 <pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_SINKPAD(payload) (GST_RTP_BASE_PAYLOAD (payload)-&gt;sinkpad)
 </pre>
-<p>Get access to the sinkpad of <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-RTP-BASE-PAYLOAD-SINKPAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-RTP-BASE-PAYLOAD-SRCPAD:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_SRCPAD()</h3>
 <pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_SRCPAD(payload)  (GST_RTP_BASE_PAYLOAD (payload)-&gt;srcpad)
 </pre>
-<p>Get access to the srcpad of <em class="parameter"><code>payload</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-RTP-BASE-PAYLOAD-SRCPAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -319,44 +250,6 @@
 gst_rtp_base_payload_is_filled (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> duration</code></em>);</pre>
-<p>Check if the packet with <em class="parameter"><code>size</code></em>
- and <em class="parameter"><code>duration</code></em>
- would exceed the configured
-maximum size.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-is-filled.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of the packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>duration</p></td>
-<td class="parameter_description"><p>the duration of the packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-is-filled.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the packet of <em class="parameter"><code>size</code></em>
-and <em class="parameter"><code>duration</code></em>
-would exceed the
-configured MTU or max_ptime.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -364,37 +257,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_rtp_base_payload_push (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Push <em class="parameter"><code>buffer</code></em>
- to the peer element of the payloader. The SSRC, payload type,
-seqnum and timestamp of the RTP buffer will be updated first.</p>
-<p>This function takes ownership of <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-push.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-push.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -402,37 +264,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_rtp_base_payload_push_list (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferList.html#GstBufferList-struct"><span class="type">GstBufferList</span></a> *list</code></em>);</pre>
-<p>Push <em class="parameter"><code>list</code></em>
- to the peer element of the payloader. The SSRC, payload type,
-seqnum and timestamp of the RTP buffer will be updated first.</p>
-<p>This function takes ownership of <em class="parameter"><code>list</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-push-list.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>list</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferList.html#GstBufferList-struct"><span class="type">GstBufferList</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-push-list.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -443,46 +274,6 @@
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> dynamic</code></em>,
                                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *encoding_name</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> clock_rate</code></em>);</pre>
-<p>Set the rtp options of the payloader. These options will be set in the caps
-of the payloader. Subclasses must call this method before calling
-<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-push" title="gst_rtp_base_payload_push ()"><code class="function">gst_rtp_base_payload_push()</code></a> or <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-set-outcaps" title="gst_rtp_base_payload_set_outcaps ()"><code class="function">gst_rtp_base_payload_set_outcaps()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-set-options.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>media</p></td>
-<td class="parameter_description"><p>the media type (typically "audio" or "video")</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dynamic</p></td>
-<td class="parameter_description"><p>if the payload type is dynamic</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>encoding_name</p></td>
-<td class="parameter_description"><p>the encoding name</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>clock_rate</p></td>
-<td class="parameter_description"><p>the clock rate of the media</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -491,40 +282,6 @@
 gst_rtp_base_payload_set_outcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
                                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fieldname</code></em>,
                                   <em class="parameter"><code>...</code></em>);</pre>
-<p>Configure the output caps with the optional parameters.</p>
-<p>Variable arguments should be in the form field name, field type
-(as a GType), value(s).  The last variable argument should be NULL.</p>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-set-outcaps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fieldname</p></td>
-<td class="parameter_description"><p>the first field name or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>...</p></td>
-<td class="parameter_description"><p>field values</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-base-payload-set-outcaps.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caps could be set.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -554,49 +311,6 @@
   gboolean      (*query)                (GstRTPBasePayload *payload, GstPad *pad, GstQuery * query);
 };
 </pre>
-<p>Base class for audio RTP payloader.</p>
-<div class="refsect3">
-<a name="GstRTPBasePayloadClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.get-caps"></a>get_caps</code></em> ()</p></td>
-<td class="struct_member_description"><p>get desired caps</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.set-caps"></a>set_caps</code></em> ()</p></td>
-<td class="struct_member_description"><p>configure the payloader</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.handle-buffer"></a>handle_buffer</code></em> ()</p></td>
-<td class="struct_member_description"><p>process data</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.sink-event"></a>sink_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>custom event handling on the sinkpad</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.src-event"></a>src_event</code></em> ()</p></td>
-<td class="struct_member_description"><p>custom event handling on the srcpad</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.query"></a>query</code></em> ()</p></td>
-<td class="struct_member_description"><p>custom query handling</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -613,7 +327,7 @@
 <div class="refsect2">
 <a name="GstRTPBasePayload--min-ptime"></a><h3>The <code class="literal">“min-ptime”</code> property</h3>
 <pre class="programlisting">  “min-ptime”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
-<p>Minimum duration of the packet data in ns (can't go above MTU)</p>
+<p>Minimum duration of the packet data in ns (can't go above MTU).</p>
 <p>Flags: Read / Write</p>
 <p>Allowed values: &gt;= 0</p>
 <p>Default value: 0</p>
@@ -631,21 +345,7 @@
 <div class="refsect2">
 <a name="GstRTPBasePayload--perfect-rtptime"></a><h3>The <code class="literal">“perfect-rtptime”</code> property</h3>
 <pre class="programlisting">  “perfect-rtptime”          <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Try to use the offset fields to generate perfect RTP timestamps. When this
-option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of
-each payloaded buffer. The PTSes of buffers may not necessarily increment
-with the amount of data in each input buffer, consider e.g. the case where
-the buffer arrives from a network which means that the PTS is unrelated to
-the amount of data. Because the RTP timestamps are generated from
-GST_BUFFER_PTS this can result in RTP timestamps that also don't increment
-with the amount of data in the payloaded packet. To circumvent this it is
-possible to set the perfect rtptime option enabled. When this option is
-enabled the payloader will increment the RTP timestamps based on
-GST_BUFFER_OFFSET which relates to the amount of data in each packet
-rather than the GST_BUFFER_PTS of each buffer and therefore the RTP
-timestamps will more closely correlate with the amount of data in each
-buffer. Currently GstRTPBasePayload is limited to handling perfect RTP
-timestamps for audio streams.</p>
+<p>Generate perfect RTP timestamps when possible.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: TRUE</p>
 </div>
@@ -662,7 +362,7 @@
 <div class="refsect2">
 <a name="GstRTPBasePayload--ptime-multiple"></a><h3>The <code class="literal">“ptime-multiple”</code> property</h3>
 <pre class="programlisting">  “ptime-multiple”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
-<p>Force buffers to be multiples of this duration in ns (0 disables)</p>
+<p>Force buffers to be multiples of this duration in ns (0 disables).</p>
 <p>Flags: Read / Write</p>
 <p>Allowed values: &gt;= 0</p>
 <p>Default value: 0</p>
@@ -697,59 +397,7 @@
 <div class="refsect2">
 <a name="GstRTPBasePayload--stats"></a><h3>The <code class="literal">“stats”</code> property</h3>
 <pre class="programlisting">  “stats”                    <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</pre>
-<p>Various payloader statistics retrieved atomically (and are therefore
-synchroized with each other), these can be used e.g. to generate an
-RTP-Info header. This property return a GstStructure named
-application/x-rtp-payload-stats containing the following fields relating to
-the last processed buffer and current state of the stream being payloaded:</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term">clock-rate</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, clock-rate of the
-    stream</p></td>
-</tr>
-<tr>
-<td><p><span class="term">running-time</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT64:CAPS"><span class="type">G_TYPE_UINT64</span></a>, running time
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">seqnum</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, sequence number, same as
-    <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--seqnum" title="The “seqnum” property"><span class="type">“seqnum”</span></a></p></td>
-</tr>
-<tr>
-<td><p><span class="term">timestamp</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, RTP timestamp, same as
-    <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--timestamp" title="The “timestamp” property"><span class="type">“timestamp”</span></a></p></td>
-</tr>
-<tr>
-<td><p><span class="term">ssrc</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The SSRC in use
-    </p></td>
-</tr>
-<tr>
-<td><p><span class="term">pt</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The Payload type in use, same as
-    <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--pt" title="The “pt” property"><span class="type">“pt”</span></a></p></td>
-</tr>
-<tr>
-<td><p><span class="term">seqnum-offset</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The current offset added to the
-    seqnum</p></td>
-</tr>
-<tr>
-<td><p><span class="term">timestamp-offset</span></p></td>
-<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The current offset added to the
-    timestamp</p></td>
-</tr>
-</tbody>
-</table></div>
+<p>Various statistics.</p>
 <p>Flags: Read</p>
 </div>
 <hr>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.html b/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.html
index e81fee8..35cd666 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtpbuffer.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-gstrtpbuffer.top_of_page"></a>gstrtpbuffer</span></h2>
-<p>gstrtpbuffer — Helper methods for dealing with RTP buffers</p>
+<p>gstrtpbuffer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -456,13 +456,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbuffer.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.9.6.6.2"></a><p>
-The GstRTPBuffer helper functions makes it easy to parse and create regular 
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> objects that contain RTP payloads. These buffers are typically of
-'application/x-rtp' <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtpbuffer.functions_details"></a><h2>Functions</h2>
@@ -473,50 +466,6 @@
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> payload_len</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> pad_len</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> csrc_count</code></em>);</pre>
-<p>Allocate enough data in <em class="parameter"><code>buffer</code></em>
- to hold an RTP packet with <em class="parameter"><code>csrc_count</code></em>
- CSRCs,
-a payload length of <em class="parameter"><code>payload_len</code></em>
- and padding of <em class="parameter"><code>pad_len</code></em>
-.
-<em class="parameter"><code>buffer</code></em>
- must be writable and all previous memory in <em class="parameter"><code>buffer</code></em>
- will be freed.
-If <em class="parameter"><code>pad_len</code></em>
- is &gt;0, the padding bit will be set. All other RTP header fields
-will be set to 0/FALSE.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-allocate-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>payload_len</p></td>
-<td class="parameter_description"><p>the length of the payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pad_len</p></td>
-<td class="parameter_description"><p>the amount of padding</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>csrc_count</p></td>
-<td class="parameter_description"><p>the number of CSRC entries</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -524,41 +473,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_rtp_buffer_new_take_data (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>);</pre>
-<p>Create a new buffer and set the data and size of the buffer to <em class="parameter"><code>data</code></em>
- and <em class="parameter"><code>len</code></em>
-
-respectively. <em class="parameter"><code>data</code></em>
- will be freed when the buffer is unreffed, so this
-function transfers ownership of <em class="parameter"><code>data</code></em>
- to the new buffer.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-take-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>  data for the new buffer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-take-data.returns"></a><h4>Returns</h4>
-<p> A newly allocated buffer with <em class="parameter"><code>data</code></em>
-and of size <em class="parameter"><code>len</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -566,41 +480,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_rtp_buffer_new_copy_data (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>);</pre>
-<p>Create a new buffer and set the data to a copy of <em class="parameter"><code>len</code></em>
-
-bytes of <em class="parameter"><code>data</code></em>
- and the size to <em class="parameter"><code>len</code></em>
-. The data will be freed when the buffer
-is freed.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-copy-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> data for the new
-buffer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length of data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-copy-data.returns"></a><h4>Returns</h4>
-<p> A newly allocated buffer with a copy of <em class="parameter"><code>data</code></em>
-and of size <em class="parameter"><code>len</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -609,44 +488,6 @@
 gst_rtp_buffer_new_allocate (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> payload_len</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> pad_len</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> csrc_count</code></em>);</pre>
-<p>Allocate a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> with enough data to hold an RTP packet with
-<em class="parameter"><code>csrc_count</code></em>
- CSRCs, a payload length of <em class="parameter"><code>payload_len</code></em>
- and padding of <em class="parameter"><code>pad_len</code></em>
-.
-All other RTP header fields will be set to 0/FALSE.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-allocate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload_len</p></td>
-<td class="parameter_description"><p>the length of the payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pad_len</p></td>
-<td class="parameter_description"><p>the amount of padding</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>csrc_count</p></td>
-<td class="parameter_description"><p>the number of CSRC entries</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-allocate.returns"></a><h4>Returns</h4>
-<p> A newly allocated buffer that can hold an RTP packet with given
-parameters.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -655,45 +496,6 @@
 gst_rtp_buffer_new_allocate_len (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> packet_len</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> pad_len</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> csrc_count</code></em>);</pre>
-<p>Create a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> that can hold an RTP packet that is exactly
-<em class="parameter"><code>packet_len</code></em>
- long. The length of the payload depends on <em class="parameter"><code>pad_len</code></em>
- and
-<em class="parameter"><code>csrc_count</code></em>
- and can be calculated with <a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-calc-payload-len" title="gst_rtp_buffer_calc_payload_len ()"><code class="function">gst_rtp_buffer_calc_payload_len()</code></a>.
-All RTP header fields will be set to 0/FALSE.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-allocate-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet_len</p></td>
-<td class="parameter_description"><p>the total length of the packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pad_len</p></td>
-<td class="parameter_description"><p>the amount of padding</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>csrc_count</p></td>
-<td class="parameter_description"><p>the number of CSRC entries</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-new-allocate-len.returns"></a><h4>Returns</h4>
-<p> A newly allocated buffer that can hold an RTP packet of <em class="parameter"><code>packet_len</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -702,93 +504,18 @@
 gst_rtp_buffer_map (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Map the contents of <em class="parameter"><code>buffer</code></em>
- into <em class="parameter"><code>rtp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-map.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rtp</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-map.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>buffer</code></em>
-could be mapped.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-unmap"></a><h3>gst_rtp_buffer_unmap ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_unmap (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Unmap <em class="parameter"><code>rtp</code></em>
- previously mapped with <a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-map" title="gst_rtp_buffer_map ()"><code class="function">gst_rtp_buffer_map()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-unmap.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-calc-header-len"></a><h3>gst_rtp_buffer_calc_header_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtp_buffer_calc_header_len (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> csrc_count</code></em>);</pre>
-<p>Calculate the header length of an RTP packet with <em class="parameter"><code>csrc_count</code></em>
- CSRC entries.
-An RTP packet can have at most 15 CSRC entries.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-calc-header-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>csrc_count</p></td>
-<td class="parameter_description"><p>the number of CSRC entries</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-calc-header-len.returns"></a><h4>Returns</h4>
-<p> The length of an RTP header with <em class="parameter"><code>csrc_count</code></em>
-CSRC entries.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -797,42 +524,6 @@
 gst_rtp_buffer_calc_packet_len (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> payload_len</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> pad_len</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> csrc_count</code></em>);</pre>
-<p>Calculate the total length of an RTP packet with a payload size of <em class="parameter"><code>payload_len</code></em>
-,
-a padding of <em class="parameter"><code>pad_len</code></em>
- and a <em class="parameter"><code>csrc_count</code></em>
- CSRC entries.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-calc-packet-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload_len</p></td>
-<td class="parameter_description"><p>the length of the payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pad_len</p></td>
-<td class="parameter_description"><p>the amount of padding</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>csrc_count</p></td>
-<td class="parameter_description"><p>the number of CSRC entries</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-calc-packet-len.returns"></a><h4>Returns</h4>
-<p> The total length of an RTP header with given parameters.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -841,42 +532,6 @@
 gst_rtp_buffer_calc_payload_len (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> packet_len</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> pad_len</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> csrc_count</code></em>);</pre>
-<p>Calculate the length of the payload of an RTP packet with size <em class="parameter"><code>packet_len</code></em>
-,
-a padding of <em class="parameter"><code>pad_len</code></em>
- and a <em class="parameter"><code>csrc_count</code></em>
- CSRC entries.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-calc-payload-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>packet_len</p></td>
-<td class="parameter_description"><p>the length of the total RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pad_len</p></td>
-<td class="parameter_description"><p>the amount of padding</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>csrc_count</p></td>
-<td class="parameter_description"><p>the number of CSRC entries</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-calc-payload-len.returns"></a><h4>Returns</h4>
-<p> The length of the payload of an RTP packet  with given parameters.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -884,117 +539,24 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_packet_len (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Set the total <em class="parameter"><code>rtp</code></em>
- size to <em class="parameter"><code>len</code></em>
-. The data in the buffer will be made
-larger if needed. Any padding will be removed from the packet.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-packet-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the new packet length</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-packet-len"></a><h3>gst_rtp_buffer_get_packet_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtp_buffer_get_packet_len (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Return the total length of the packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-packet-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-packet-len.returns"></a><h4>Returns</h4>
-<p> The total length of the packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-header-len"></a><h3>gst_rtp_buffer_get_header_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtp_buffer_get_header_len (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Return the total length of the header in <em class="parameter"><code>buffer</code></em>
-. This include the length of
-the fixed header, the CSRC list and the extension header.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-header-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-header-len.returns"></a><h4>Returns</h4>
-<p> The total length of the header in <em class="parameter"><code>buffer</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-version"></a><h3>gst_rtp_buffer_get_version ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a>
 gst_rtp_buffer_get_version (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get the version number of the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-version.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-version.returns"></a><h4>Returns</h4>
-<p> The version of <em class="parameter"><code>buffer</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1002,59 +564,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_version (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> version</code></em>);</pre>
-<p>Set the version of the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>version</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-version.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>version</p></td>
-<td class="parameter_description"><p>the new version</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-padding"></a><h3>gst_rtp_buffer_get_padding ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtp_buffer_get_padding (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Check if the padding bit is set on the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-padding.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-padding.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-has the padding bit set.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1062,31 +577,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_padding (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> padding</code></em>);</pre>
-<p>Set the padding bit on the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>padding</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-padding.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>padding</p></td>
-<td class="parameter_description"><p>the new padding</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1094,62 +584,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_pad_to (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Set the amount of padding in the RTP packet in <em class="parameter"><code>buffer</code></em>
- to
-<em class="parameter"><code>len</code></em>
-. If <em class="parameter"><code>len</code></em>
- is 0, the padding is removed.</p>
-<p>NOTE: This function does not work correctly.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-pad-to.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the new amount of padding</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-extension"></a><h3>gst_rtp_buffer_get_extension ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtp_buffer_get_extension (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Check if the extension bit is set on the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-has the extension bit set.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1157,31 +597,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_extension (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> extension</code></em>);</pre>
-<p>Set the extension bit on the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>extension</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-extension.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>extension</p></td>
-<td class="parameter_description"><p>the new extension</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1191,58 +606,6 @@
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> *bits</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *data</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *wordlen</code></em>);</pre>
-<p>Get the extension data. <em class="parameter"><code>bits</code></em>
- will contain the extension 16 bits of custom
-data. <em class="parameter"><code>data</code></em>
- will point to the data in the extension and <em class="parameter"><code>wordlen</code></em>
- will contain
-the length of <em class="parameter"><code>data</code></em>
- in 32 bits words.</p>
-<p>If <em class="parameter"><code>buffer</code></em>
- did not contain an extension, this function will return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
-with <em class="parameter"><code>bits</code></em>
-, <em class="parameter"><code>data</code></em>
- and <em class="parameter"><code>wordlen</code></em>
- unchanged.</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="gst-rtp-buffer-get-extension-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bits</p></td>
-<td class="parameter_description"><p> location for result bits. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> location for data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>wordlen</p></td>
-<td class="parameter_description"><p> location for length of <em class="parameter"><code>data</code></em>
-in 32 bits words. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension-data.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-had the extension bit set.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1250,74 +613,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="returnvalue">GBytes</span></a> *
 gst_rtp_buffer_get_extension_bytes (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> *bits</code></em>);</pre>
-<p>Similar to gst_rtp_buffer_get_extension_data, but more suitable for language
-bindings usage. <em class="parameter"><code>bits</code></em>
- will contain the extension 16 bits of custom data and
-the extension data (not including the extension header) is placed in a new
-<a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> structure.</p>
-<p>If <em class="parameter"><code>rtp</code></em>
- did not contain an extension, this function will return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, with
-<em class="parameter"><code>bits</code></em>
- unchanged. If there is an extension header but no extension data then
-an empty <a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> will be returned.</p>
-<p><span class="annotation">[<acronym title="Rename the original symbol's name to SYMBOL."><span class="acronym">rename-to</span></acronym> gst_rtp_buffer_get_extension_data]</span></p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension-bytes.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bits</p></td>
-<td class="parameter_description"><p> location for header bits. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension-bytes.returns"></a><h4>Returns</h4>
-<p> A new <a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> if an extension header was present
-and <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </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.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-ssrc"></a><h3>gst_rtp_buffer_get_ssrc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtp_buffer_get_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get the SSRC of the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-ssrc.returns"></a><h4>Returns</h4>
-<p> the SSRC of <em class="parameter"><code>buffer</code></em>
-in host order.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1325,59 +626,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_ssrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ssrc</code></em>);</pre>
-<p>Set the SSRC on the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>ssrc</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-ssrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ssrc</p></td>
-<td class="parameter_description"><p>the new SSRC</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-csrc-count"></a><h3>gst_rtp_buffer_get_csrc_count ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a>
 gst_rtp_buffer_get_csrc_count (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get the CSRC count of the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-csrc-count.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-csrc-count.returns"></a><h4>Returns</h4>
-<p> the CSRC count of <em class="parameter"><code>buffer</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1385,36 +639,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtp_buffer_get_csrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> idx</code></em>);</pre>
-<p>Get the CSRC at index <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-csrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index of the CSRC to get</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-csrc.returns"></a><h4>Returns</h4>
-<p> the CSRC at index <em class="parameter"><code>idx</code></em>
-in host order.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1423,66 +647,12 @@
 gst_rtp_buffer_set_csrc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> idx</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> csrc</code></em>);</pre>
-<p>Modify the CSRC at index <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>csrc</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-csrc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the CSRC index to set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>csrc</p></td>
-<td class="parameter_description"><p>the CSRC in host order to set at <em class="parameter"><code>idx</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-marker"></a><h3>gst_rtp_buffer_get_marker ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtp_buffer_get_marker (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Check if the marker bit is set on the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-marker.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-marker.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-has the marker bit set.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1490,58 +660,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_marker (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> marker</code></em>);</pre>
-<p>Set the marker bit on the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>marker</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-marker.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>marker</p></td>
-<td class="parameter_description"><p>the new marker</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-payload-type"></a><h3>gst_rtp_buffer_get_payload_type ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a>
 gst_rtp_buffer_get_payload_type (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get the payload type of the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-type.returns"></a><h4>Returns</h4>
-<p> The payload type.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1549,58 +673,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_payload_type (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> payload_type</code></em>);</pre>
-<p>Set the payload type of the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>payload_type</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-payload-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>payload_type</p></td>
-<td class="parameter_description"><p>the new type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-seq"></a><h3>gst_rtp_buffer_get_seq ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>
 gst_rtp_buffer_get_seq (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get the sequence number of the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-seq.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-seq.returns"></a><h4>Returns</h4>
-<p> The sequence number in host order.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1608,58 +686,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_seq (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> seq</code></em>);</pre>
-<p>Set the sequence number of the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>seq</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-seq.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>seq</p></td>
-<td class="parameter_description"><p>the new sequence number</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-timestamp"></a><h3>gst_rtp_buffer_get_timestamp ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtp_buffer_get_timestamp (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get the timestamp of the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-timestamp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-timestamp.returns"></a><h4>Returns</h4>
-<p> The timestamp in host order.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1667,61 +699,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtp_buffer_set_timestamp (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> timestamp</code></em>);</pre>
-<p>Set the timestamp of the RTP packet in <em class="parameter"><code>buffer</code></em>
- to <em class="parameter"><code>timestamp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-timestamp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timestamp</p></td>
-<td class="parameter_description"><p>the new timestamp</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-payload-buffer"></a><h3>gst_rtp_buffer_get_payload_buffer ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_rtp_buffer_get_payload_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Create a buffer of the payload of the RTP packet in <em class="parameter"><code>buffer</code></em>
-. This function
-will internally create a subbuffer of <em class="parameter"><code>buffer</code></em>
- so that a memcpy can be
-avoided.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-buffer.returns"></a><h4>Returns</h4>
-<p> A new buffer with the data of the payload.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1730,167 +713,30 @@
 gst_rtp_buffer_get_payload_subbuffer (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> offset</code></em>,
                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> len</code></em>);</pre>
-<p>Create a subbuffer of the payload of the RTP packet in <em class="parameter"><code>buffer</code></em>
-. <em class="parameter"><code>offset</code></em>
- bytes
-are skipped in the payload and the subbuffer will be of size <em class="parameter"><code>len</code></em>
-.
-If <em class="parameter"><code>len</code></em>
- is -1 the total payload starting from <em class="parameter"><code>offset</code></em>
- is subbuffered.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-subbuffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>offset</p></td>
-<td class="parameter_description"><p>the offset in the payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>the length in the payload</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-subbuffer.returns"></a><h4>Returns</h4>
-<p> A new buffer with the specified data of the payload.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-payload-len"></a><h3>gst_rtp_buffer_get_payload_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtp_buffer_get_payload_len (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get the length of the payload of the RTP packet in <em class="parameter"><code>buffer</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-len.returns"></a><h4>Returns</h4>
-<p> The length of the payload in <em class="parameter"><code>buffer</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-payload-bytes"></a><h3>gst_rtp_buffer_get_payload_bytes ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="returnvalue">GBytes</span></a> *
 gst_rtp_buffer_get_payload_bytes (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Similar to gst_rtp_buffer_get_payload, but more suitable for language
-bindings usage. The return value is a pointer to a <a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> structure
-containing the payload data in <em class="parameter"><code>rtp</code></em>
-.</p>
-<p><span class="annotation">[<acronym title="Rename the original symbol's name to SYMBOL."><span class="acronym">rename-to</span></acronym> gst_rtp_buffer_get_payload]</span></p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-bytes.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload-bytes.returns"></a><h4>Returns</h4>
-<p> A new <a href="/usr/share/gtk-doc/html/glibglib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> containing the payload data in <em class="parameter"><code>rtp</code></em>
-. </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.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-buffer-get-payload"></a><h3>gst_rtp_buffer_get_payload ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
 gst_rtp_buffer_get_payload (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>);</pre>
-<p>Get a pointer to the payload data in <em class="parameter"><code>buffer</code></em>
-. This pointer is valid as long
-as a reference to <em class="parameter"><code>buffer</code></em>
- is held.</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="gst-rtp-buffer-get-payload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-payload.returns"></a><h4>Returns</h4>
-<p> A pointer
-to the payload data in <em class="parameter"><code>buffer</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8][<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">
 <a name="gst-rtp-buffer-default-clock-rate"></a><h3>gst_rtp_buffer_default_clock_rate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_rtp_buffer_default_clock_rate (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> payload_type</code></em>);</pre>
-<p>Get the default clock-rate for the static payload type <em class="parameter"><code>payload_type</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-default-clock-rate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload_type</p></td>
-<td class="parameter_description"><p>the static payload type</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-default-clock-rate.returns"></a><h4>Returns</h4>
-<p> the default clock rate or -1 if the payload type is not static or
-the clock-rate is undefined.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1898,41 +744,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_rtp_buffer_compare_seqnum (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> seqnum1</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> seqnum2</code></em>);</pre>
-<p>Compare two sequence numbers, taking care of wraparounds. This function
-returns the difference between <em class="parameter"><code>seqnum1</code></em>
- and <em class="parameter"><code>seqnum2</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-compare-seqnum.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>seqnum1</p></td>
-<td class="parameter_description"><p>a sequence number</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>seqnum2</p></td>
-<td class="parameter_description"><p>a sequence number</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-compare-seqnum.returns"></a><h4>Returns</h4>
-<p> a negative value if <em class="parameter"><code>seqnum1</code></em>
-is bigger than <em class="parameter"><code>seqnum2</code></em>
-, 0 if they
-are equal or a positive value if <em class="parameter"><code>seqnum1</code></em>
-is smaller than <em class="parameter"><code>segnum2</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1940,40 +751,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 gst_rtp_buffer_ext_timestamp (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> *exttimestamp</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> timestamp</code></em>);</pre>
-<p>Update the <em class="parameter"><code>exttimestamp</code></em>
- field with <em class="parameter"><code>timestamp</code></em>
-. For the first call of the
-method, <em class="parameter"><code>exttimestamp</code></em>
- should point to a location with a value of -1.</p>
-<p>This function makes sure that the returned value is a constantly increasing
-value even in the case where there is a timestamp wraparound.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-ext-timestamp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>exttimestamp</p></td>
-<td class="parameter_description"><p>a previous extended timestamp</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timestamp</p></td>
-<td class="parameter_description"><p>a new timestamp</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-ext-timestamp.returns"></a><h4>Returns</h4>
-<p> The extended timestamp of <em class="parameter"><code>timestamp</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1982,43 +759,6 @@
 gst_rtp_buffer_set_extension_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#GstRTPBuffer" title="struct GstRTPBuffer"><span class="type">GstRTPBuffer</span></a> *rtp</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> bits</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> length</code></em>);</pre>
-<p>Set the extension bit of the rtp buffer and fill in the <em class="parameter"><code>bits</code></em>
- and <em class="parameter"><code>length</code></em>
- of the
-extension header. If the existing extension data is not large enough, it will
-be made larger.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-extension-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bits</p></td>
-<td class="parameter_description"><p>the bits specific for the extension</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p>the length that counts the number of 32-bit words in
-the extension, excluding the extension header ( therefore zero is a valid length)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-set-extension-data.returns"></a><h4>Returns</h4>
-<p> True if done.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2030,50 +770,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *size</code></em>);</pre>
-<p>Parses RFC 5285 style header extensions with a one byte header. It will
-return the nth extension with the requested id.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension-onebyte-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>The ID of the header extension to be read (between 1 and 14).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>Read the nth extension packet with the requested ID</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>  location for data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p> the size of the data in bytes. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension-onebyte-header.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-had the requested header extension</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2086,55 +782,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *size</code></em>);</pre>
-<p>Parses RFC 5285 style header extensions with a two bytes header. It will
-return the nth extension with the requested id.</p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension-twobytes-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>appbits</p></td>
-<td class="parameter_description"><p> Application specific bits. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>The ID of the header extension to be read (between 1 and 14).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>Read the nth extension packet with the requested ID</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>  location for data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p> the size of the data in bytes. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-get-extension-twobytes-header.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>buffer</code></em>
-had the requested header extension</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2145,49 +792,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> id</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
-<p>Adds a RFC 5285 header extension with a one byte header to the end of the
-RTP header. If there is already a RFC 5285 header extension with a one byte
-header, the new extension will be appended.
-It will not work if there is already a header extension that does not follow
-the mecanism described in RFC 5285 or if there is a header extension with
-a two bytes header as described in RFC 5285. In that case, use
-<a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-add-extension-twobytes-header" title="gst_rtp_buffer_add_extension_twobytes_header ()"><code class="function">gst_rtp_buffer_add_extension_twobytes_header()</code></a></p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-add-extension-onebyte-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>The ID of the header extension (between 1 and 14).</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> location for data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of the data in bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-add-extension-onebyte-header.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if header extension could be added</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2199,54 +803,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> id</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
-<p>Adds a RFC 5285 header extension with a two bytes header to the end of the
-RTP header. If there is already a RFC 5285 header extension with a two bytes
-header, the new extension will be appended.
-It will not work if there is already a header extension that does not follow
-the mecanism described in RFC 5285 or if there is a header extension with
-a one byte header as described in RFC 5285. In that case, use
-<a class="link" href="gst-plugins-base-libs-gstrtpbuffer.html#gst-rtp-buffer-add-extension-onebyte-header" title="gst_rtp_buffer_add_extension_onebyte_header ()"><code class="function">gst_rtp_buffer_add_extension_onebyte_header()</code></a></p>
-<div class="refsect3">
-<a name="gst-rtp-buffer-add-extension-twobytes-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rtp</p></td>
-<td class="parameter_description"><p>the RTP packet</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>appbits</p></td>
-<td class="parameter_description"><p>Application specific bits</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>The ID of the header extension</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> location for data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of the data in bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-buffer-add-extension-twobytes-header.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if header extension could be added</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -2255,7 +811,6 @@
 <a name="GST-RTP-VERSION:CAPS"></a><h3>GST_RTP_VERSION</h3>
 <pre class="programlisting">#define GST_RTP_VERSION 2
 </pre>
-<p>The supported RTP version 2.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2268,45 +823,6 @@
   GstMapInfo   map[4];
 };
 </pre>
-<p>Data structure that points to an RTP packet.
-The size of the structure is made public to allow stack allocations.</p>
-<div class="refsect3">
-<a name="GstRTPBuffer.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstRTPBuffer.buffer"></a>buffer</code></em>;</p></td>
-<td class="struct_member_description"><p>pointer to RTP buffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTPBuffer.state"></a>state</code></em>;</p></td>
-<td class="struct_member_description"><p>internal state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstRTPBuffer.data"></a>data</code></em>[4];</p></td>
-<td class="struct_member_description"><p>array of data</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstRTPBuffer.size"></a>size</code></em>[4];</p></td>
-<td class="struct_member_description"><p>array of size</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> <em class="structfield"><code><a name="GstRTPBuffer.map"></a>map</code></em>[4];</p></td>
-<td class="struct_member_description"><p>array of <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2314,10 +830,6 @@
 <pre class="programlisting">#define             GST_RTP_BUFFER_INIT</pre>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstrtpbuffer.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>, gstrtcpbuffer</p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtphdrext.html b/docs/libs/html/gst-plugins-base-libs-gstrtphdrext.html
index 2fc58a5..3ee1bf5 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 — Helper methods for dealing with RTP header extensions</p>
+<p>gstrtphdrext</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -81,10 +81,6 @@
 </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>
@@ -94,43 +90,6 @@
 gst_rtp_hdrext_get_ntp_56 (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> *ntptime</code></em>);</pre>
-<p>Reads the NTP time from the <em class="parameter"><code>size</code></em>
- NTP-56 extension bytes in <em class="parameter"><code>data</code></em>
- and store the
-result in <em class="parameter"><code>ntptime</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-get-ntp-56.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>the data to read from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ntptime</p></td>
-<td class="parameter_description"><p>the result NTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-get-ntp-56.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -139,43 +98,6 @@
 gst_rtp_hdrext_get_ntp_64 (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> *ntptime</code></em>);</pre>
-<p>Reads the NTP time from the <em class="parameter"><code>size</code></em>
- NTP-64 extension bytes in <em class="parameter"><code>data</code></em>
- and store the
-result in <em class="parameter"><code>ntptime</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-get-ntp-64.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>the data to read from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ntptime</p></td>
-<td class="parameter_description"><p>the result NTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-get-ntp-64.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -184,42 +106,6 @@
 gst_rtp_hdrext_set_ntp_56 (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> ntptime</code></em>);</pre>
-<p>Writes the NTP time in <em class="parameter"><code>ntptime</code></em>
- to the format required for the NTP-56 header
-extension. <em class="parameter"><code>data</code></em>
- must hold at least <span class="type">GST_RTP_HDREXT_NTP_56_SIZE</span> bytes.</p>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-set-ntp-56.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>the data to write to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ntptime</p></td>
-<td class="parameter_description"><p>the NTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-set-ntp-56.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -228,51 +114,11 @@
 gst_rtp_hdrext_set_ntp_64 (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a> ntptime</code></em>);</pre>
-<p>Writes the NTP time in <em class="parameter"><code>ntptime</code></em>
- to the format required for the NTP-64 header
-extension. <em class="parameter"><code>data</code></em>
- must hold at least <span class="type">GST_RTP_HDREXT_NTP_64_SIZE</span> bytes.</p>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-set-ntp-64.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>the data to write to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ntptime</p></td>
-<td class="parameter_description"><p>the NTP time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-hdrext-set-ntp-64.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
 </div>
 </div>
 <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.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.html b/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.html
index 6401194..77ced9c 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtppayloads.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-gstrtppayloads.top_of_page"></a>gstrtppayloads</span></h2>
-<p>gstrtppayloads — Helper methods for dealing with RTP payloads</p>
+<p>gstrtppayloads</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -88,13 +88,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtppayloads.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.9.8.6.2"></a><p>
-The GstRTPPayloads helper functions makes it easy to deal with static and dynamic
-payloads. Its main purpose is to retrieve properties such as the default clock-rate 
-and get session bandwidth information.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtppayloads.functions_details"></a><h2>Functions</h2>
@@ -102,23 +95,6 @@
 <a name="GST-RTP-PAYLOAD-IS-DYNAMIC:CAPS"></a><h3>GST_RTP_PAYLOAD_IS_DYNAMIC()</h3>
 <pre class="programlisting">#define GST_RTP_PAYLOAD_IS_DYNAMIC(pt) ((pt) &gt;= 96 &amp;&amp; (pt) &lt;= 127)
 </pre>
-<p>Check if <em class="parameter"><code>pt</code></em>
- is a dynamic payload type.</p>
-<div class="refsect3">
-<a name="GST-RTP-PAYLOAD-IS-DYNAMIC.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>pt</p></td>
-<td class="parameter_description"><p>a payload type</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -126,86 +102,18 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo" title="struct GstRTPPayloadInfo"><span class="returnvalue">GstRTPPayloadInfo</span></a> *
 gst_rtp_payload_info_for_name (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *media</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *encoding_name</code></em>);</pre>
-<p>Get the <a class="link" href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo" title="struct GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> for <em class="parameter"><code>media</code></em>
- and <em class="parameter"><code>encoding_name</code></em>
-. This function is
-mostly used to get the default clock-rate and bandwidth for dynamic payload
-types specified with <em class="parameter"><code>media</code></em>
- and <em class="parameter"><code>encoding</code></em>
- name.</p>
-<p>The search for <em class="parameter"><code>encoding_name</code></em>
- will be performed in a case insensitve way.</p>
-<div class="refsect3">
-<a name="gst-rtp-payload-info-for-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>the media to find</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>encoding_name</p></td>
-<td class="parameter_description"><p>the encoding name to find</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-payload-info-for-name.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo" title="struct GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> or NULL when no info could be found.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtp-payload-info-for-pt"></a><h3>gst_rtp_payload_info_for_pt ()</h3>
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo" title="struct GstRTPPayloadInfo"><span class="returnvalue">GstRTPPayloadInfo</span></a> *
 gst_rtp_payload_info_for_pt (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> payload_type</code></em>);</pre>
-<p>Get the <a class="link" href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo" title="struct GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> for <em class="parameter"><code>payload_type</code></em>
-. This function is
-mostly used to get the default clock-rate and bandwidth for static payload
-types specified with <em class="parameter"><code>payload_type</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtp-payload-info-for-pt.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>payload_type</p></td>
-<td class="parameter_description"><p>the payload_type to find</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtp-payload-info-for-pt.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo" title="struct GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> or NULL when no info could be found.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtppayloads.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstRTPPayload"></a><h3>enum GstRTPPayload</h3>
-<p>Standard predefined fixed payload types.</p>
-<p>The official list is at:
-http://www.iana.org/assignments/rtp-parameters</p>
-<p>Audio:
-reserved: 19
-unassigned: 20-23,</p>
-<p>Video:
-unassigned: 24, 27, 29, 30, 35-71, 77-95
-Reserved for RTCP conflict avoidance: 72-76</p>
 <div class="refsect3">
 <a name="GstRTPPayload.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -217,185 +125,133 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-PCMU:CAPS"></a>GST_RTP_PAYLOAD_PCMU</p></td>
-<td class="enum_member_description">
-<p>ITU-T G.711. mu-law audio (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-1016:CAPS"></a>GST_RTP_PAYLOAD_1016</p></td>
-<td class="enum_member_description">
-<p>RFC 3551 says reserved</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-G721:CAPS"></a>GST_RTP_PAYLOAD_G721</p></td>
-<td class="enum_member_description">
-<p>RFC 3551 says reserved</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-GSM:CAPS"></a>GST_RTP_PAYLOAD_GSM</p></td>
-<td class="enum_member_description">
-<p>GSM audio</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-G723:CAPS"></a>GST_RTP_PAYLOAD_G723</p></td>
-<td class="enum_member_description">
-<p>ITU G.723.1 audio</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-DVI4-8000:CAPS"></a>GST_RTP_PAYLOAD_DVI4_8000</p></td>
-<td class="enum_member_description">
-<p>IMA ADPCM wave type (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-DVI4-16000:CAPS"></a>GST_RTP_PAYLOAD_DVI4_16000</p></td>
-<td class="enum_member_description">
-<p>IMA ADPCM wave type (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-LPC:CAPS"></a>GST_RTP_PAYLOAD_LPC</p></td>
-<td class="enum_member_description">
-<p>experimental linear predictive encoding</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-PCMA:CAPS"></a>GST_RTP_PAYLOAD_PCMA</p></td>
-<td class="enum_member_description">
-<p>ITU-T G.711 A-law audio (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-G722:CAPS"></a>GST_RTP_PAYLOAD_G722</p></td>
-<td class="enum_member_description">
-<p>ITU-T G.722 (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-L16-STEREO:CAPS"></a>GST_RTP_PAYLOAD_L16_STEREO</p></td>
-<td class="enum_member_description">
-<p>stereo PCM</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-L16-MONO:CAPS"></a>GST_RTP_PAYLOAD_L16_MONO</p></td>
-<td class="enum_member_description">
-<p>mono PCM</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-QCELP:CAPS"></a>GST_RTP_PAYLOAD_QCELP</p></td>
-<td class="enum_member_description">
-<p>EIA &amp; TIA standard IS-733</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-CN:CAPS"></a>GST_RTP_PAYLOAD_CN</p></td>
-<td class="enum_member_description">
-<p>Comfort Noise (RFC 3389)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-MPA:CAPS"></a>GST_RTP_PAYLOAD_MPA</p></td>
-<td class="enum_member_description">
-<p>Audio MPEG 1-3.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-G728:CAPS"></a>GST_RTP_PAYLOAD_G728</p></td>
-<td class="enum_member_description">
-<p>ITU-T G.728 Speech coder (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-DVI4-11025:CAPS"></a>GST_RTP_PAYLOAD_DVI4_11025</p></td>
-<td class="enum_member_description">
-<p>IMA ADPCM wave type (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-DVI4-22050:CAPS"></a>GST_RTP_PAYLOAD_DVI4_22050</p></td>
-<td class="enum_member_description">
-<p>IMA ADPCM wave type (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-G729:CAPS"></a>GST_RTP_PAYLOAD_G729</p></td>
-<td class="enum_member_description">
-<p>ITU-T G.729 Speech coder (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-CELLB:CAPS"></a>GST_RTP_PAYLOAD_CELLB</p></td>
-<td class="enum_member_description">
-<p>See RFC 2029</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-JPEG:CAPS"></a>GST_RTP_PAYLOAD_JPEG</p></td>
-<td class="enum_member_description">
-<p>ISO Standards 10918-1 and 10918-2 (RFC 2435)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-NV:CAPS"></a>GST_RTP_PAYLOAD_NV</p></td>
-<td class="enum_member_description">
-<p>nv encoding by Ron Frederick</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-H261:CAPS"></a>GST_RTP_PAYLOAD_H261</p></td>
-<td class="enum_member_description">
-<p>ITU-T Recommendation H.261 (RFC 2032)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-MPV:CAPS"></a>GST_RTP_PAYLOAD_MPV</p></td>
-<td class="enum_member_description">
-<p>Video MPEG 1 &amp; 2 (RFC 2250)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-MP2T:CAPS"></a>GST_RTP_PAYLOAD_MP2T</p></td>
-<td class="enum_member_description">
-<p>MPEG-2 transport stream (RFC 2250)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTP-PAYLOAD-H263:CAPS"></a>GST_RTP_PAYLOAD_H263</p></td>
-<td class="enum_member_description">
-<p>Video H263 (RFC 2190)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -413,59 +269,9 @@
   guint        bitrate;
 };
 </pre>
-<p>Structure holding default payload type information.</p>
-<div class="refsect3">
-<a name="GstRTPPayloadInfo.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstRTPPayloadInfo.payload-type"></a>payload_type</code></em>;</p></td>
-<td class="struct_member_description"><p>payload type, -1 means dynamic</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTPPayloadInfo.media"></a>media</code></em>;</p></td>
-<td class="struct_member_description"><p>the media type(s), usually "audio", "video", "application", "text",
-"message".</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTPPayloadInfo.encoding-name"></a>encoding_name</code></em>;</p></td>
-<td class="struct_member_description"><p>the encoding name of <em class="parameter"><code>pt</code></em>
-</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTPPayloadInfo.clock-rate"></a>clock_rate</code></em>;</p></td>
-<td class="struct_member_description"><p>default clock rate, 0 = unknown/variable</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTPPayloadInfo.encoding-parameters"></a>encoding_parameters</code></em>;</p></td>
-<td class="struct_member_description"><p>encoding parameters. For audio this is the number of
-channels. NULL = not applicable.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTPPayloadInfo.bitrate"></a>bitrate</code></em>;</p></td>
-<td class="struct_member_description"><p>the bitrate of the media. 0 = unknown/variable.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstrtppayloads.see-also"></a><h2>See Also</h2>
-<p>gstrtpbuffer</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.html b/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.html
index 0b727db..da19511 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtspconnection.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-gstrtspconnection.top_of_page"></a>gstrtspconnection</span></h2>
-<p>gstrtspconnection — manage RTSP connections</p>
+<p>gstrtspconnection</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -446,8 +446,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspconnection.description"></a><h2>Description</h2>
-<p>This object manages the RTSP connection to the server. It provides function
-to receive and send bytes and messages.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspconnection.functions_details"></a><h2>Functions</h2>
@@ -456,41 +454,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_create (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> *url</code></em>,
                             <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>Create a newly allocated <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> from <em class="parameter"><code>url</code></em>
- and store it in <em class="parameter"><code>conn</code></em>
-.
-The connection will not yet attempt to connect to <em class="parameter"><code>url</code></em>
-, use
-<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-connect" title="gst_rtsp_connection_connect ()"><code class="function">gst_rtsp_connection_connect()</code></a>.</p>
-<p>A copy of <em class="parameter"><code>url</code></em>
- will be made.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-create.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>url</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>conn</p></td>
-<td class="parameter_description"><p> storage for 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"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-create.returns"></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> when <em class="parameter"><code>conn</code></em>
-contains a valid connection.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -502,55 +465,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> port</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *initial_buffer</code></em>,
                                 <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>Create a new <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> for handling communication on the existing
-socket <em class="parameter"><code>socket</code></em>
-. The <em class="parameter"><code>initial_buffer</code></em>
- contains zero terminated data already
-read from <em class="parameter"><code>socket</code></em>
- which should be used before starting to read new data.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-create-from-socket.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>socket</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gioGSocket.html#GSocket-struct"><span class="type">GSocket</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ip</p></td>
-<td class="parameter_description"><p>the IP address of the other end</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>port</p></td>
-<td class="parameter_description"><p>the port used by the other end</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>initial_buffer</p></td>
-<td class="parameter_description"><p>data already read from <em class="parameter"><code>fd</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>conn</p></td>
-<td class="parameter_description"><p> storage for 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"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-create-from-socket.returns"></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> when <em class="parameter"><code>conn</code></em>
-contains a valid connection.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -559,41 +473,6 @@
 gst_rtsp_connection_accept (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gioGSocket.html#GSocket-struct"><span class="type">GSocket</span></a> *socket</code></em>,
                             <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="/usr/share/gtk-doc/html/gioGCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>);</pre>
-<p>Accept a new connection on <em class="parameter"><code>socket</code></em>
- and create a new <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> for
-handling communication on new socket.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-accept.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>socket</p></td>
-<td class="parameter_description"><p>a socket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>conn</p></td>
-<td class="parameter_description"><p> storage for 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"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>cancellable</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gioGCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> to cancel the operation</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-accept.returns"></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> when <em class="parameter"><code>conn</code></em>
-contains a valid connection.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -601,40 +480,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_connect (<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="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Attempt to connect to the url of <em class="parameter"><code>conn</code></em>
- made with
-<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-create" title="gst_rtsp_connection_create ()"><code class="function">gst_rtsp_connection_create()</code></a>. If <em class="parameter"><code>timeout</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> this function can block
-forever. If <em class="parameter"><code>timeout</code></em>
- contains a valid timeout, this function will return
-<a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ETIMEOUT:CAPS"><span class="type">GST_RTSP_ETIMEOUT</span></a> after the timeout expired.</p>
-<p>This function can be cancelled with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-flush" title="gst_rtsp_connection_flush ()"><code class="function">gst_rtsp_connection_flush()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-connect.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>timeout</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> timeout</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-connect.returns"></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> when a connection could be made.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -644,104 +489,18 @@
                                (<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="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *response</code></em>);</pre>
-<p>Attempt to connect to the url of <em class="parameter"><code>conn</code></em>
- made with
-<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-create" title="gst_rtsp_connection_create ()"><code class="function">gst_rtsp_connection_create()</code></a>. If <em class="parameter"><code>timeout</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> this function can block
-forever. If <em class="parameter"><code>timeout</code></em>
- contains a valid timeout, this function will return
-<a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ETIMEOUT:CAPS"><span class="type">GST_RTSP_ETIMEOUT</span></a> after the timeout expired.  If <em class="parameter"><code>conn</code></em>
- is set to tunneled,
-<em class="parameter"><code>response</code></em>
- will contain a response to the tunneling request messages.</p>
-<p>This function can be cancelled with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-flush" title="gst_rtsp_connection_flush ()"><code class="function">gst_rtsp_connection_flush()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-connect-with-response.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>timeout</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> timeout</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>response</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-connect-with-response.returns"></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> when a connection could be made.</p>
-<p>Since 1.8</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-close"></a><h3>gst_rtsp_connection_close ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_close (<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>Close the connected <em class="parameter"><code>conn</code></em>
-. After this call, the connection is in the same
-state as when it was first created.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-close.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-close.returns"></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>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-free"></a><h3>gst_rtsp_connection_free ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_free (<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>Close and free <em class="parameter"><code>conn</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-free.returns"></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>
 <hr>
 <div class="refsect2">
@@ -751,52 +510,6 @@
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Attempt to read <em class="parameter"><code>size</code></em>
- bytes into <em class="parameter"><code>data</code></em>
- from the connected <em class="parameter"><code>conn</code></em>
-, blocking up to
-the specified <em class="parameter"><code>timeout</code></em>
-. <em class="parameter"><code>timeout</code></em>
- can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in which case this function
-might block forever.</p>
-<p>This function can be cancelled with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-flush" title="gst_rtsp_connection_flush ()"><code class="function">gst_rtsp_connection_flush()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-read.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>the data to read</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>a timeout value or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-read.returns"></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>
 <hr>
 <div class="refsect2">
@@ -806,52 +519,6 @@
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Attempt to write <em class="parameter"><code>size</code></em>
- bytes of <em class="parameter"><code>data</code></em>
- to the connected <em class="parameter"><code>conn</code></em>
-, blocking up to
-the specified <em class="parameter"><code>timeout</code></em>
-. <em class="parameter"><code>timeout</code></em>
- can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in which case this function
-might block forever.</p>
-<p>This function can be cancelled with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-flush" title="gst_rtsp_connection_flush ()"><code class="function">gst_rtsp_connection_flush()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-write.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>the data to write</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>a timeout value or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-write.returns"></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>
 <hr>
 <div class="refsect2">
@@ -861,53 +528,6 @@
                           <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPEvent" title="enum GstRTSPEvent"><span class="type">GstRTSPEvent</span></a> events</code></em>,
                           <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPEvent" title="enum GstRTSPEvent"><span class="type">GstRTSPEvent</span></a> *revents</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Wait up to the specified <em class="parameter"><code>timeout</code></em>
- for the connection to become available for
-at least one of the operations specified in <em class="parameter"><code>events</code></em>
-. When the function returns
-with <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-OK:CAPS"><span class="type">GST_RTSP_OK</span></a>, <em class="parameter"><code>revents</code></em>
- will contain a bitmask of available operations on
-<em class="parameter"><code>conn</code></em>
-.</p>
-<p><em class="parameter"><code>timeout</code></em>
- can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in which case this function might block forever.</p>
-<p>This function can be cancelled with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-flush" title="gst_rtsp_connection_flush ()"><code class="function">gst_rtsp_connection_flush()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-poll.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>events</p></td>
-<td class="parameter_description"><p>a bitmask of <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPEvent" title="enum GstRTSPEvent"><span class="type">GstRTSPEvent</span></a> flags to check</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>revents</p></td>
-<td class="parameter_description"><p>location for result flags</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>a timeout</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-poll.returns"></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>
 <hr>
 <div class="refsect2">
@@ -916,45 +536,6 @@
 gst_rtsp_connection_send (<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 class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *message</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Attempt to send <em class="parameter"><code>message</code></em>
- to the connected <em class="parameter"><code>conn</code></em>
-, blocking up to
-the specified <em class="parameter"><code>timeout</code></em>
-. <em class="parameter"><code>timeout</code></em>
- can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in which case this function
-might block forever.</p>
-<p>This function can be cancelled with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-flush" title="gst_rtsp_connection_flush ()"><code class="function">gst_rtsp_connection_flush()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-send.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>the message to send</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>a timeout value or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-send.returns"></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>
 <hr>
 <div class="refsect2">
@@ -963,45 +544,6 @@
 gst_rtsp_connection_receive (<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 class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *message</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Attempt to read into <em class="parameter"><code>message</code></em>
- from the connected <em class="parameter"><code>conn</code></em>
-, blocking up to
-the specified <em class="parameter"><code>timeout</code></em>
-. <em class="parameter"><code>timeout</code></em>
- can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in which case this function
-might block forever.</p>
-<p>This function can be cancelled with <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-flush" title="gst_rtsp_connection_flush ()"><code class="function">gst_rtsp_connection_flush()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-receive.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>message</p></td>
-<td class="parameter_description"><p>the message to read</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>a timeout value or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-receive.returns"></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>
 <hr>
 <div class="refsect2">
@@ -1009,62 +551,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_next_timeout (<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="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Calculate the next timeout for <em class="parameter"><code>conn</code></em>
-, storing the result in <em class="parameter"><code>timeout</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-next-timeout.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>timeout</p></td>
-<td class="parameter_description"><p>a timeout</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-next-timeout.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-reset-timeout"></a><h3>gst_rtsp_connection_reset_timeout ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_reset_timeout (<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>Reset the timeout of <em class="parameter"><code>conn</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-reset-timeout.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-reset-timeout.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1072,37 +564,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_flush (<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="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flush</code></em>);</pre>
-<p>Start or stop the flushing action on <em class="parameter"><code>conn</code></em>
-. When flushing, all current
-and future actions on <em class="parameter"><code>conn</code></em>
- will return <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-EINTR:CAPS"><span class="type">GST_RTSP_EINTR</span></a> until the connection
-is set to non-flushing mode again.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-flush.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>flush</p></td>
-<td class="parameter_description"><p>start or stop the flush</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-flush.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1112,48 +573,6 @@
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPAuthMethod" title="enum GstRTSPAuthMethod"><span class="type">GstRTSPAuthMethod</span></a> method</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *user</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pass</code></em>);</pre>
-<p>Configure <em class="parameter"><code>conn</code></em>
- for authentication mode <em class="parameter"><code>method</code></em>
- with <em class="parameter"><code>user</code></em>
- and <em class="parameter"><code>pass</code></em>
- as the
-user and password respectively.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-auth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>method</p></td>
-<td class="parameter_description"><p>authentication method</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user</p></td>
-<td class="parameter_description"><p>the user</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pass</p></td>
-<td class="parameter_description"><p>the password</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-auth.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1162,62 +581,12 @@
 gst_rtsp_connection_set_auth_param (<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>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *param</code></em>,
                                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Setup <em class="parameter"><code>conn</code></em>
- with authentication directives. This is not necesary for
-methods <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-AUTH-NONE:CAPS"><span class="type">GST_RTSP_AUTH_NONE</span></a> and <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-AUTH-BASIC:CAPS"><span class="type">GST_RTSP_AUTH_BASIC</span></a>. For
-<a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-AUTH-DIGEST:CAPS"><span class="type">GST_RTSP_AUTH_DIGEST</span></a>, directives should be taken from the digest challenge
-in the WWW-Authenticate response header and can include realm, domain,
-nonce, opaque, stale, algorithm, qop as per RFC2617.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-auth-param.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>param</p></td>
-<td class="parameter_description"><p>authentication directive</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-clear-auth-params"></a><h3>gst_rtsp_connection_clear_auth_params ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_connection_clear_auth_params (<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>Clear the list of authentication directives stored in <em class="parameter"><code>conn</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-clear-auth-params.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>
 <hr>
 <div class="refsect2">
@@ -1225,34 +594,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_set_qos_dscp (<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="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> qos_dscp</code></em>);</pre>
-<p>Configure <em class="parameter"><code>conn</code></em>
- to use the specified DSCP value.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-qos-dscp.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>qos_dscp</p></td>
-<td class="parameter_description"><p>DSCP value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-qos-dscp.returns"></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>
 <hr>
 <div class="refsect2">
@@ -1260,85 +601,18 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_connection_set_ip (<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>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *ip</code></em>);</pre>
-<p>Set the IP address of the server.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-ip.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ip</p></td>
-<td class="parameter_description"><p>an ip address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-get-ip"></a><h3>gst_rtsp_connection_get_ip ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_connection_get_ip (<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>Retrieve the IP address of the other end of <em class="parameter"><code>conn</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-get-ip.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-ip.returns"></a><h4>Returns</h4>
-<p> The IP address as a string. this value remains valid until the
-connection is closed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-get-url"></a><h3>gst_rtsp_connection_get_url ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="returnvalue">GstRTSPUrl</span></a> *
 gst_rtsp_connection_get_url (<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>Retrieve the URL of the other end of <em class="parameter"><code>conn</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-get-url.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-url.returns"></a><h4>Returns</h4>
-<p> The URL. This value remains valid until the
-connection is freed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1346,85 +620,18 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_connection_set_tunneled (<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="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> tunneled</code></em>);</pre>
-<p>Set the HTTP tunneling state of the connection. This must be configured before
-the <em class="parameter"><code>conn</code></em>
- is connected.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-tunneled.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>tunneled</p></td>
-<td class="parameter_description"><p>the new state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-is-tunneled"></a><h3>gst_rtsp_connection_is_tunneled ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtsp_connection_is_tunneled (<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 tunneling state of the connection.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-is-tunneled.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-is-tunneled.returns"></a><h4>Returns</h4>
-<p> if <em class="parameter"><code>conn</code></em>
-is using HTTP tunneling.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-get-tunnelid"></a><h3>gst_rtsp_connection_get_tunnelid ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_connection_get_tunnelid (<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 tunnel session id the connection.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-get-tunnelid.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-tunnelid.returns"></a><h4>Returns</h4>
-<p> returns a non-empty string if <em class="parameter"><code>conn</code></em>
-is being tunneled over HTTP.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1432,45 +639,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_connection_do_tunnel (<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 class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPConnection" title="GstRTSPConnection"><span class="type">GstRTSPConnection</span></a> *conn2</code></em>);</pre>
-<p>If <em class="parameter"><code>conn</code></em>
- received the first tunnel connection and <em class="parameter"><code>conn2</code></em>
- received
-the second tunnel connection, link the two connections together so that
-<em class="parameter"><code>conn</code></em>
- manages the tunneled connection.</p>
-<p>After this call, <em class="parameter"><code>conn2</code></em>
- cannot be used anymore and must be freed with
-<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-connection-free" title="gst_rtsp_connection_free ()"><code class="function">gst_rtsp_connection_free()</code></a>.</p>
-<p>If <em class="parameter"><code>conn2</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then only the base64 decoding context will be setup for
-<em class="parameter"><code>conn</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-do-tunnel.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>conn2</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> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-do-tunnel.returns"></a><h4>Returns</h4>
-<p> return GST_RTSP_OK on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1478,31 +646,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_connection_set_http_mode (<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="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enable</code></em>);</pre>
-<p>By setting the HTTP mode to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> the message parsing will support HTTP
-messages in addition to the RTSP messages. It will also disable the
-automatic handling of setting up an HTTP tunnel.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-http-mode.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>enable</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to enable manual HTTP mode</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1511,94 +654,18 @@
 gst_rtsp_connection_set_proxy (<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>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);</pre>
-<p>Set the proxy host and port.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-proxy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>host</p></td>
-<td class="parameter_description"><p>the proxy host</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>port</p></td>
-<td class="parameter_description"><p>the proxy port</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-proxy.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-connection-get-read-socket"></a><h3>gst_rtsp_connection_get_read_socket ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gioGSocket.html#GSocket-struct"><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="gst-rtsp-connection-get-read-socket.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-read-socket.returns"></a><h4>Returns</h4>
-<p> the file descriptor used for reading or <a href="/usr/share/gtk-doc/html/glibglib-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">
 <a name="gst-rtsp-connection-get-write-socket"></a><h3>gst_rtsp_connection_get_write_socket ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gioGSocket.html#GSocket-struct"><span class="returnvalue">GSocket</span></a> *
 gst_rtsp_connection_get_write_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 writing.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-get-write-socket.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-write-socket.returns"></a><h4>Returns</h4>
-<p> the file descriptor used for writing or NULL 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">
@@ -1606,42 +673,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gioGTlsConnection.html#GTlsConnection-struct"><span class="returnvalue">GTlsConnection</span></a> *
 gst_rtsp_connection_get_tls (<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="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Get the TLS connection of <em class="parameter"><code>conn</code></em>
-.</p>
-<p>For client side this will return the <a href="/usr/share/gtk-doc/html/gioGTlsClientConnection.html#GTlsClientConnection-struct"><span class="type">GTlsClientConnection</span></a> when connected
-over TLS.</p>
-<p>For server side connections, this function will create a GTlsServerConnection
-when called the first time and will return that same connection on subsequent
-calls. The server is then responsible for configuring the TLS connection.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-get-tls.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>error</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or NULL to ignore.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-get-tls.returns"></a><h4>Returns</h4>
-<p> the TLS connection for <em class="parameter"><code>conn</code></em>
-. </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>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1650,37 +681,6 @@
 gst_rtsp_connection_set_tls_validation_flags
                                (<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="/usr/share/gtk-doc/html/giogio-TLS-Overview.html#GTlsCertificateFlags"><span class="type">GTlsCertificateFlags</span></a> flags</code></em>);</pre>
-<p>Sets the TLS validation flags to be used to verify the peer
-certificate when a TLS connection is established.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-tls-validation-flags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>flags</p></td>
-<td class="parameter_description"><p>the validation flags.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-connection-set-tls-validation-flags.returns"></a><h4>Returns</h4>
-<p> TRUE if the validation flags are set correctly, or FALSE if
-<em class="parameter"><code>conn</code></em>
-is NULL or is not a TLS connection.</p>
-</div>
-<p class="since">Since: 1.2.1</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1688,28 +688,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/giogio-TLS-Overview.html#GTlsCertificateFlags"><span class="returnvalue">GTlsCertificateFlags</span></a>
 gst_rtsp_connection_get_tls_validation_flags
                                (<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 TLS validation flags used to verify the peer certificate
-when a TLS connection is established.</p>
-<div class="refsect3">
-<a name="gst-rtsp-connection-get-tls-validation-flags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-tls-validation-flags.returns"></a><h4>Returns</h4>
-<p> the validationg flags.</p>
-</div>
-<p class="since">Since: 1.2.1</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1717,64 +695,12 @@
 <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="/usr/share/gtk-doc/html/gioGTlsDatabase.html#GTlsDatabase-struct"><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="gst-rtsp-connection-set-tls-database.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="/usr/share/gtk-doc/html/gioGTlsDatabase.html#GTlsDatabase-struct"><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="/usr/share/gtk-doc/html/gioGTlsDatabase.html#GTlsDatabase-struct"><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="gst-rtsp-connection-get-tls-database.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-tls-database.returns"></a><h4>Returns</h4>
-<p> the anchor certificate authorities database, or NULL if no
-database has been previously set. Use <a href="/usr/share/gtk-doc/html/gobjectgobject-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">
@@ -1783,32 +709,6 @@
 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="/usr/share/gtk-doc/html/gioGTlsInteraction.html#GTlsInteraction-struct"><span class="type">GTlsInteraction</span></a> *interaction</code></em>);</pre>
-<p>Sets a <a href="/usr/share/gtk-doc/html/gioGTlsInteraction.html#GTlsInteraction-struct"><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="gst-rtsp-connection-set-tls-interaction.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="/usr/share/gtk-doc/html/gioGTlsInteraction.html#GTlsInteraction-struct"><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">
@@ -1816,31 +716,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gioGTlsInteraction.html#GTlsInteraction-struct"><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="/usr/share/gtk-doc/html/gioGTlsInteraction.html#GTlsInteraction-struct"><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="gst-rtsp-connection-get-tls-interaction.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-rtsp-connection-get-tls-interaction.returns"></a><h4>Returns</h4>
-<p> a reference on the <a href="/usr/share/gtk-doc/html/gioGTlsInteraction.html#GTlsInteraction-struct"><span class="type">GTlsInteraction</span></a>. Use
-<a href="/usr/share/gtk-doc/html/gobjectgobject-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">
@@ -1850,79 +725,12 @@
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatchFuncs" title="GstRTSPWatchFuncs"><span class="type">GstRTSPWatchFuncs</span></a> *funcs</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
-<p>Create a watch object for <em class="parameter"><code>conn</code></em>
-. The functions provided in <em class="parameter"><code>funcs</code></em>
- will be
-called with <em class="parameter"><code>user_data</code></em>
- when activity happened on the watch.</p>
-<p>The new watch is usually created so that it can be attached to a
-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="gst-rtsp-watch-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>funcs</p></td>
-<td class="parameter_description"><p>watch functions</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 to pass to <em class="parameter"><code>funcs</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>notify</p></td>
-<td class="parameter_description"><p>notify when <em class="parameter"><code>user_data</code></em>
-is not referenced anymore</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-watch-new.returns"></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>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-watch-unref"></a><h3>gst_rtsp_watch_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_watch_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>);</pre>
-<p>Decreases the reference count of <em class="parameter"><code>watch</code></em>
- by one. If the resulting reference
-count is zero the watch and associated memory will be destroyed.</p>
-<div class="refsect3">
-<a name="gst-rtsp-watch-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1930,57 +738,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_rtsp_watch_attach (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-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="gst-rtsp-watch-attach.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>context</p></td>
-<td class="parameter_description"><p>a GMainContext (if NULL, the default context will be used)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-watch-attach.returns"></a><h4>Returns</h4>
-<p> the ID (greater than 0) for the watch within the GMainContext.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-watch-reset"></a><h3>gst_rtsp_watch_reset ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_watch_reset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>);</pre>
-<p>Reset <em class="parameter"><code>watch</code></em>
-, 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="gst-rtsp-watch-reset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1989,50 +752,6 @@
 gst_rtsp_watch_send_message (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *message</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *id</code></em>);</pre>
-<p>Send a <em class="parameter"><code>message</code></em>
- using the connection of the <em class="parameter"><code>watch</code></em>
-. If it cannot be sent
-immediately, it will be queued for transmission in <em class="parameter"><code>watch</code></em>
-. The contents of
-<em class="parameter"><code>message</code></em>
- will then be serialized and transmitted when the connection of the
-<em class="parameter"><code>watch</code></em>
- becomes writable. In case the <em class="parameter"><code>message</code></em>
- is queued, the ID returned in
-<em class="parameter"><code>id</code></em>
- will be non-zero and used as the ID argument in the message_sent
-callback.</p>
-<div class="refsect3">
-<a name="gst-rtsp-watch-send-message.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>message</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p> location for a message ID or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-watch-send-message.returns"></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>
 <hr>
 <div class="refsect2">
@@ -2042,63 +761,6 @@
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *id</code></em>);</pre>
-<p>Write <em class="parameter"><code>data</code></em>
- using the connection of the <em class="parameter"><code>watch</code></em>
-. If it cannot be sent
-immediately, it will be queued for transmission in <em class="parameter"><code>watch</code></em>
-. The contents of
-<em class="parameter"><code>message</code></em>
- will then be serialized and transmitted when the connection of the
-<em class="parameter"><code>watch</code></em>
- becomes writable. In case the <em class="parameter"><code>message</code></em>
- is queued, the ID returned in
-<em class="parameter"><code>id</code></em>
- will be non-zero and used as the ID argument in the message_sent
-callback.</p>
-<p>This function will take ownership of <em class="parameter"><code>data</code></em>
- and <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> it after use.</p>
-<p>If the amount of queued data exceeds the limits set with
-<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="gst-rtsp-watch-write-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> the data to queue. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p> location for a message ID or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-watch-write-data.returns"></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>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2107,37 +769,6 @@
 gst_rtsp_watch_get_send_backlog (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *bytes</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *messages</code></em>);</pre>
-<p>Get the maximum amount of bytes and messages that will be queued in <em class="parameter"><code>watch</code></em>
-.
-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="gst-rtsp-watch-get-send-backlog.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bytes</p></td>
-<td class="parameter_description"><p> maximum bytes. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>messages</p></td>
-<td class="parameter_description"><p> maximum messages. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2146,41 +777,6 @@
 gst_rtsp_watch_set_send_backlog (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> bytes</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> messages</code></em>);</pre>
-<p>Set the maximum amount of bytes and messages that will be queued in <em class="parameter"><code>watch</code></em>
-.
-When the maximum amounts are exceeded, <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> and
-<a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-send-message" title="gst_rtsp_watch_send_message ()"><code class="function">gst_rtsp_watch_send_message()</code></a> 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>
-<p>A value of 0 for <em class="parameter"><code>bytes</code></em>
- or <em class="parameter"><code>messages</code></em>
- means no limits.</p>
-<div class="refsect3">
-<a name="gst-rtsp-watch-set-send-backlog.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bytes</p></td>
-<td class="parameter_description"><p>maximum bytes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>messages</p></td>
-<td class="parameter_description"><p>maximum messages</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2188,33 +784,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_watch_set_flushing (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flushing</code></em>);</pre>
-<p>When <em class="parameter"><code>flushing</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, abort a call to <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#gst-rtsp-watch-wait-backlog" title="gst_rtsp_watch_wait_backlog ()"><code class="function">gst_rtsp_watch_wait_backlog()</code></a>
-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="gst-rtsp-watch-set-flushing.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flushing</p></td>
-<td class="parameter_description"><p>new flushing state</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2222,50 +791,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_watch_wait_backlog (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a> *watch</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> *timeout</code></em>);</pre>
-<p>Wait until there is place in the backlog queue, <em class="parameter"><code>timeout</code></em>
- is reached
-or <em class="parameter"><code>watch</code></em>
- is set to flushing.</p>
-<p>If <em class="parameter"><code>timeout</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> this function can block forever. If <em class="parameter"><code>timeout</code></em>
-
-contains a valid timeout, this function will return <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ETIMEOUT:CAPS"><code class="literal">GST_RTSP_ETIMEOUT</code></a>
-after the timeout expired.</p>
-<p>The typically use of this function is when gst_rtsp_watch_write_data
-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="gst-rtsp-watch-wait-backlog.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>watch</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Date-and-Time-Functions.html#GTimeVal"><span class="type">GTimeVal</span></a> timeout</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-watch-wait-backlog.returns"></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.
-<a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-EINTR:CAPS"><code class="literal">GST_RTSP_EINTR</code></a> when <em class="parameter"><code>watch</code></em>
-is flushing
-<a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-EINVAL:CAPS"><code class="literal">GST_RTSP_EINVAL</code></a> when called with invalid parameters.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -2273,14 +798,11 @@
 <div class="refsect2">
 <a name="GstRTSPConnection"></a><h3>GstRTSPConnection</h3>
 <pre class="programlisting">typedef struct _GstRTSPConnection GstRTSPConnection;</pre>
-<p>Opaque RTSP connection object.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstRTSPWatch"></a><h3>GstRTSPWatch</h3>
 <pre class="programlisting">typedef struct _GstRTSPWatch GstRTSPWatch;</pre>
-<p>Opaque RTSP watch object that can be used for asynchronous RTSP
-operations.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2305,78 +827,9 @@
                                              gpointer user_data);
 } GstRTSPWatchFuncs;
 </pre>
-<p>Callback functions from a <a class="link" href="gst-plugins-base-libs-gstrtspconnection.html#GstRTSPWatch" title="GstRTSPWatch"><span class="type">GstRTSPWatch</span></a>.</p>
-<div class="refsect3">
-<a name="GstRTSPWatchFuncs.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.message-received"></a>message_received</code></em> ()</p></td>
-<td class="struct_member_description"><p>callback when a message was received</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.message-sent"></a>message_sent</code></em> ()</p></td>
-<td class="struct_member_description"><p>callback when a message was sent</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.closed"></a>closed</code></em> ()</p></td>
-<td class="struct_member_description"><p>callback when the connection is closed</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.error"></a>error</code></em> ()</p></td>
-<td class="struct_member_description"><p>callback when an error occured</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.tunnel-start"></a>tunnel_start</code></em> ()</p></td>
-<td class="struct_member_description"><p>a client started a tunneled connection. The tunnelid of the
-connection must be saved.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.tunnel-complete"></a>tunnel_complete</code></em> ()</p></td>
-<td class="struct_member_description"><p>a client finished a tunneled connection. In this callback
-you usually pair the tunnelid of this connection with the saved one using
-<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>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.error-full"></a>error_full</code></em> ()</p></td>
-<td class="struct_member_description"><p>callback when an error occured with more information than
-the <em class="parameter"><code>error</code></em>
-callback.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.tunnel-lost"></a>tunnel_lost</code></em> ()</p></td>
-<td class="struct_member_description"><p>callback when the post connection of a tunnel is closed.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTSPWatchFuncs.tunnel-http-response"></a>tunnel_http_response</code></em> ()</p></td>
-<td class="struct_member_description"><p>callback when an HTTP response to the GET request
-is about to be sent for a tunneled connection. The response can be
-modified in the callback. Since 1.4.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstrtspconnection.see-also"></a><h2>See Also</h2>
-<p>gstrtspurl</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtspdefs.html b/docs/libs/html/gst-plugins-base-libs-gstrtspdefs.html
index 6abb911..bfc826e 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtspdefs.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtspdefs.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-gstrtspdefs.top_of_page"></a>gstrtspdefs</span></h2>
-<p>gstrtspdefs — common RTSP defines</p>
+<p>gstrtspdefs</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -182,320 +182,72 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspdefs.description"></a><h2>Description</h2>
-<p>Provides common defines for the RTSP library.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspdefs.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="GST-RTSP-CHECK:CAPS"></a><h3>GST_RTSP_CHECK()</h3>
 <pre class="programlisting">#define             GST_RTSP_CHECK(stmt, label)</pre>
-<p>Macro that checks the return value of <em class="parameter"><code>stmt</code></em>
- and jumps to <em class="parameter"><code>label</code></em>
- when it does
-not equal <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-OK:CAPS"><span class="type">GST_RTSP_OK</span></a>.</p>
-<div class="refsect3">
-<a name="GST-RTSP-CHECK.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>stmt</p></td>
-<td class="parameter_description"><p>a statement</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>label</p></td>
-<td class="parameter_description"><p>a label</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-strresult"></a><h3>gst_rtsp_strresult ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_strresult (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a> result</code></em>);</pre>
-<p>Convert <em class="parameter"><code>result</code></em>
- in a human readable string.</p>
-<div class="refsect3">
-<a name="gst-rtsp-strresult.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>result</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-strresult.returns"></a><h4>Returns</h4>
-<p> a newly allocated string. <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-method-as-text"></a><h3>gst_rtsp_method_as_text ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_method_as_text (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a> method</code></em>);</pre>
-<p>Convert <em class="parameter"><code>method</code></em>
- to a string.</p>
-<div class="refsect3">
-<a name="gst-rtsp-method-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>method</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-method-as-text.returns"></a><h4>Returns</h4>
-<p> a string representation of <em class="parameter"><code>method</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-version-as-text"></a><h3>gst_rtsp_version_as_text ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_version_as_text (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPVersion" title="enum GstRTSPVersion"><span class="type">GstRTSPVersion</span></a> version</code></em>);</pre>
-<p>Convert <em class="parameter"><code>version</code></em>
- to a string.</p>
-<div class="refsect3">
-<a name="gst-rtsp-version-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>version</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPVersion" title="enum GstRTSPVersion"><span class="type">GstRTSPVersion</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-version-as-text.returns"></a><h4>Returns</h4>
-<p> a string representation of <em class="parameter"><code>version</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-header-as-text"></a><h3>gst_rtsp_header_as_text ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_header_as_text (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a> field</code></em>);</pre>
-<p>Convert <em class="parameter"><code>field</code></em>
- to a string.</p>
-<div class="refsect3">
-<a name="gst-rtsp-header-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>field</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-header-as-text.returns"></a><h4>Returns</h4>
-<p> a string representation of <em class="parameter"><code>field</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-header-allow-multiple"></a><h3>gst_rtsp_header_allow_multiple ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtsp_header_allow_multiple (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a> field</code></em>);</pre>
-<p>Check whether <em class="parameter"><code>field</code></em>
- may appear multiple times in a message.</p>
-<div class="refsect3">
-<a name="gst-rtsp-header-allow-multiple.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>field</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-header-allow-multiple.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if multiple headers are allowed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-status-as-text"></a><h3>gst_rtsp_status_as_text ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_status_as_text (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPStatusCode" title="enum GstRTSPStatusCode"><span class="type">GstRTSPStatusCode</span></a> code</code></em>);</pre>
-<p>Convert <em class="parameter"><code>code</code></em>
- to a string.</p>
-<div class="refsect3">
-<a name="gst-rtsp-status-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>code</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPStatusCode" title="enum GstRTSPStatusCode"><span class="type">GstRTSPStatusCode</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-status-as-text.returns"></a><h4>Returns</h4>
-<p> a string representation of <em class="parameter"><code>code</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-options-as-text"></a><h3>gst_rtsp_options_as_text ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_options_as_text (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a> options</code></em>);</pre>
-<p>Convert <em class="parameter"><code>options</code></em>
- to a string.</p>
-<div class="refsect3">
-<a name="gst-rtsp-options-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>options</p></td>
-<td class="parameter_description"><p>one or more <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-options-as-text.returns"></a><h4>Returns</h4>
-<p> a new string of <em class="parameter"><code>options</code></em>
-. <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-options-from-text"></a><h3>gst_rtsp_options_from_text ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="returnvalue">GstRTSPMethod</span></a>
 gst_rtsp_options_from_text (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *options</code></em>);</pre>
-<p>Convert the comma separated list <em class="parameter"><code>options</code></em>
- to a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a> bitwise or
-of methods. This functions is the reverse of <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#gst-rtsp-options-as-text" title="gst_rtsp_options_as_text ()"><code class="function">gst_rtsp_options_as_text()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-options-from-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>options</p></td>
-<td class="parameter_description"><p>a comma separated list of options</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-options-from-text.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a></p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-find-header-field"></a><h3>gst_rtsp_find_header_field ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="returnvalue">GstRTSPHeaderField</span></a>
 gst_rtsp_find_header_field (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *header</code></em>);</pre>
-<p>Convert <em class="parameter"><code>header</code></em>
- to a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-find-header-field.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>header</p></td>
-<td class="parameter_description"><p>a header string</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-find-header-field.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a> for <em class="parameter"><code>header</code></em>
-or <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-HDR-INVALID:CAPS"><span class="type">GST_RTSP_HDR_INVALID</span></a> if the
-header field is unknown.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-find-method"></a><h3>gst_rtsp_find_method ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="returnvalue">GstRTSPMethod</span></a>
 gst_rtsp_find_method (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method</code></em>);</pre>
-<p>Convert <em class="parameter"><code>method</code></em>
- to a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-find-method.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>method</p></td>
-<td class="parameter_description"><p>a method</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-find-method.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a> for <em class="parameter"><code>method</code></em>
-or <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-INVALID:CAPS"><span class="type">GST_RTSP_INVALID</span></a> if the
-method is unknown.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -504,12 +256,10 @@
 <a name="GST-RTSP-AUTH-MAX:CAPS"></a><h3>GST_RTSP_AUTH_MAX</h3>
 <pre class="programlisting">#define GST_RTSP_AUTH_MAX GST_RTSP_AUTH_DIGEST
 </pre>
-<p>Strongest available authentication method</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstRTSPEvent"></a><h3>enum GstRTSPEvent</h3>
-<p>The possible events for the connection.</p>
 <div class="refsect3">
 <a name="GstRTSPEvent.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -521,17 +271,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EV-READ:CAPS"></a>GST_RTSP_EV_READ</p></td>
-<td class="enum_member_description">
-<p>connection is readable</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EV-WRITE:CAPS"></a>GST_RTSP_EV_WRITE</p></td>
-<td class="enum_member_description">
-<p>connection is writable</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -540,7 +286,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPResult"></a><h3>enum GstRTSPResult</h3>
-<p>Result codes from the RTSP functions.</p>
 <div class="refsect3">
 <a name="GstRTSPResult.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -552,129 +297,93 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-OK:CAPS"></a>GST_RTSP_OK</p></td>
-<td class="enum_member_description">
-<p>no error</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ERROR:CAPS"></a>GST_RTSP_ERROR</p></td>
-<td class="enum_member_description">
-<p>some unspecified error occured</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EINVAL:CAPS"></a>GST_RTSP_EINVAL</p></td>
-<td class="enum_member_description">
-<p>invalid arguments were provided to a function</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EINTR:CAPS"></a>GST_RTSP_EINTR</p></td>
-<td class="enum_member_description">
-<p>an operation was canceled</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ENOMEM:CAPS"></a>GST_RTSP_ENOMEM</p></td>
-<td class="enum_member_description">
-<p>no memory was available for the operation</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ERESOLV:CAPS"></a>GST_RTSP_ERESOLV</p></td>
-<td class="enum_member_description">
-<p>a host resolve error occured</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ENOTIMPL:CAPS"></a>GST_RTSP_ENOTIMPL</p></td>
-<td class="enum_member_description">
-<p>function not implemented</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ESYS:CAPS"></a>GST_RTSP_ESYS</p></td>
-<td class="enum_member_description">
-<p>a system error occured, errno contains more details</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EPARSE:CAPS"></a>GST_RTSP_EPARSE</p></td>
-<td class="enum_member_description">
-<p>a persing error occured</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EWSASTART:CAPS"></a>GST_RTSP_EWSASTART</p></td>
-<td class="enum_member_description">
-<p>windows networking could not start</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EWSAVERSION:CAPS"></a>GST_RTSP_EWSAVERSION</p></td>
-<td class="enum_member_description">
-<p>windows networking stack has wrong version</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-EEOF:CAPS"></a>GST_RTSP_EEOF</p></td>
-<td class="enum_member_description">
-<p>end-of-file was reached</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ENET:CAPS"></a>GST_RTSP_ENET</p></td>
-<td class="enum_member_description">
-<p>a network problem occured, h_errno contains more details</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ENOTIP:CAPS"></a>GST_RTSP_ENOTIP</p></td>
-<td class="enum_member_description">
-<p>the host is not an IP host</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ETIMEOUT:CAPS"></a>GST_RTSP_ETIMEOUT</p></td>
-<td class="enum_member_description">
-<p>a timeout occured</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ETGET:CAPS"></a>GST_RTSP_ETGET</p></td>
-<td class="enum_member_description">
-<p>the tunnel GET request has been performed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ETPOST:CAPS"></a>GST_RTSP_ETPOST</p></td>
-<td class="enum_member_description">
-<p>the tunnel POST request has been performed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ELAST:CAPS"></a>GST_RTSP_ELAST</p></td>
-<td class="enum_member_description">
-<p>last error</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -683,7 +392,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPFamily"></a><h3>enum GstRTSPFamily</h3>
-<p>The possible network families.</p>
 <div class="refsect3">
 <a name="GstRTSPFamily.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -695,24 +403,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-FAM-NONE:CAPS"></a>GST_RTSP_FAM_NONE</p></td>
-<td class="enum_member_description">
-<p>unknown network family</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-FAM-INET:CAPS"></a>GST_RTSP_FAM_INET</p></td>
-<td class="enum_member_description">
-<p>internet</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-FAM-INET6:CAPS"></a>GST_RTSP_FAM_INET6</p></td>
-<td class="enum_member_description">
-<p>internet V6</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -721,7 +423,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPState"></a><h3>enum GstRTSPState</h3>
-<p>The different RTSP states.</p>
 <div class="refsect3">
 <a name="GstRTSPState.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -733,45 +434,33 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-STATE-INVALID:CAPS"></a>GST_RTSP_STATE_INVALID</p></td>
-<td class="enum_member_description">
-<p>invalid state</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-STATE-INIT:CAPS"></a>GST_RTSP_STATE_INIT</p></td>
-<td class="enum_member_description">
-<p>initializing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-STATE-READY:CAPS"></a>GST_RTSP_STATE_READY</p></td>
-<td class="enum_member_description">
-<p>ready for operation</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-STATE-SEEKING:CAPS"></a>GST_RTSP_STATE_SEEKING</p></td>
-<td class="enum_member_description">
-<p>seeking in progress</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-STATE-PLAYING:CAPS"></a>GST_RTSP_STATE_PLAYING</p></td>
-<td class="enum_member_description">
-<p>playing</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-STATE-RECORDING:CAPS"></a>GST_RTSP_STATE_RECORDING</p></td>
-<td class="enum_member_description">
-<p>recording</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -780,7 +469,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPVersion"></a><h3>enum GstRTSPVersion</h3>
-<p>The supported RTSP versions.</p>
 <div class="refsect3">
 <a name="GstRTSPVersion.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -792,24 +480,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-VERSION-INVALID:CAPS"></a>GST_RTSP_VERSION_INVALID</p></td>
-<td class="enum_member_description">
-<p>unknown/invalid version</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-VERSION-1-0:CAPS"></a>GST_RTSP_VERSION_1_0</p></td>
-<td class="enum_member_description">
-<p>version 1.0</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-VERSION-1-1:CAPS"></a>GST_RTSP_VERSION_1_1</p></td>
-<td class="enum_member_description">
-<p>version 1.1.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -818,7 +500,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPMethod"></a><h3>enum GstRTSPMethod</h3>
-<p>The different supported RTSP methods.</p>
 <div class="refsect3">
 <a name="GstRTSPMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -830,101 +511,73 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-INVALID:CAPS"></a>GST_RTSP_INVALID</p></td>
-<td class="enum_member_description">
-<p>invalid method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-DESCRIBE:CAPS"></a>GST_RTSP_DESCRIBE</p></td>
-<td class="enum_member_description">
-<p>the DESCRIBE method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-ANNOUNCE:CAPS"></a>GST_RTSP_ANNOUNCE</p></td>
-<td class="enum_member_description">
-<p>the ANNOUNCE method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-GET-PARAMETER:CAPS"></a>GST_RTSP_GET_PARAMETER</p></td>
-<td class="enum_member_description">
-<p>the GET_PARAMETER method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-OPTIONS:CAPS"></a>GST_RTSP_OPTIONS</p></td>
-<td class="enum_member_description">
-<p>the OPTIONS method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-PAUSE:CAPS"></a>GST_RTSP_PAUSE</p></td>
-<td class="enum_member_description">
-<p>the PAUSE method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-PLAY:CAPS"></a>GST_RTSP_PLAY</p></td>
-<td class="enum_member_description">
-<p>the PLAY method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-RECORD:CAPS"></a>GST_RTSP_RECORD</p></td>
-<td class="enum_member_description">
-<p>the RECORD method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-REDIRECT:CAPS"></a>GST_RTSP_REDIRECT</p></td>
-<td class="enum_member_description">
-<p>the REDIRECT method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-SETUP:CAPS"></a>GST_RTSP_SETUP</p></td>
-<td class="enum_member_description">
-<p>the SETUP method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-SET-PARAMETER:CAPS"></a>GST_RTSP_SET_PARAMETER</p></td>
-<td class="enum_member_description">
-<p>the SET_PARAMETER method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TEARDOWN:CAPS"></a>GST_RTSP_TEARDOWN</p></td>
-<td class="enum_member_description">
-<p>the TEARDOWN method</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-GET:CAPS"></a>GST_RTSP_GET</p></td>
-<td class="enum_member_description">
-<p>the GET method (HTTP).</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-POST:CAPS"></a>GST_RTSP_POST</p></td>
-<td class="enum_member_description">
-<p>the POST method (HTTP).</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -933,7 +586,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPAuthMethod"></a><h3>enum GstRTSPAuthMethod</h3>
-<p>Authentication methods, ordered by strength</p>
 <div class="refsect3">
 <a name="GstRTSPAuthMethod.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -945,24 +597,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-AUTH-NONE:CAPS"></a>GST_RTSP_AUTH_NONE</p></td>
-<td class="enum_member_description">
-<p>no authentication</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-AUTH-BASIC:CAPS"></a>GST_RTSP_AUTH_BASIC</p></td>
-<td class="enum_member_description">
-<p>basic authentication</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-AUTH-DIGEST:CAPS"></a>GST_RTSP_AUTH_DIGEST</p></td>
-<td class="enum_member_description">
-<p>digest authentication</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -971,7 +617,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPHeaderField"></a><h3>enum GstRTSPHeaderField</h3>
-<p>Enumeration of rtsp header fields</p>
 <div class="refsect3">
 <a name="GstRTSPHeaderField.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1408,7 +1053,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPStatusCode"></a><h3>enum GstRTSPStatusCode</h3>
-<p>Enumeration of rtsp status codes</p>
 <div class="refsect3">
 <a name="GstRTSPStatusCode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1653,10 +1297,6 @@
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstrtspdefs.see-also"></a><h2>See Also</h2>
-<p>gstrtspurl, gstrtspconnection</p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtspextension.html b/docs/libs/html/gst-plugins-base-libs-gstrtspextension.html
index 51b9361..67b3551 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtspextension.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtspextension.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-gstrtspextension.top_of_page"></a>gstrtspextension</span></h2>
-<p>gstrtspextension — Interface for extending RTSP protocols</p>
+<p>gstrtspextension</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -57,12 +57,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspextension.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.10.5.5.2"></a><p>
- This interface is implemented e.g. by the Windows Media Streaming RTSP
- exentension (rtspwms) and the RealMedia RTSP extension (rtspreal).
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspextension.functions_details"></a><h2>Functions</h2>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtspmessage.html b/docs/libs/html/gst-plugins-base-libs-gstrtspmessage.html
index 54624c6..3600d58 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtspmessage.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtspmessage.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-gstrtspmessage.top_of_page"></a>gstrtspmessage</span></h2>
-<p>gstrtspmessage — RTSP messages</p>
+<p>gstrtspmessage</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -292,7 +292,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspmessage.description"></a><h2>Description</h2>
-<p>Provides methods for creating and parsing request, response and data messages.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspmessage.functions_details"></a><h2>Functions</h2>
@@ -300,139 +299,30 @@
 <a name="gst-rtsp-message-new"></a><h3>gst_rtsp_message_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> **msg</code></em>);</pre>
-<p>Create a new initialized <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a>. Free with <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-free" title="gst_rtsp_message_free ()"><code class="function">gst_rtsp_message_free()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p> a location for the new <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-new.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-message-init"></a><h3>gst_rtsp_message_init ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>);</pre>
-<p>Initialize <em class="parameter"><code>msg</code></em>
-. This function is mostly used when <em class="parameter"><code>msg</code></em>
- is allocated on the
-stack. The reverse operation of this is <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-unset" title="gst_rtsp_message_unset ()"><code class="function">gst_rtsp_message_unset()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-init.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-init.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-message-unset"></a><h3>gst_rtsp_message_unset ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_unset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>);</pre>
-<p>Unset the contents of <em class="parameter"><code>msg</code></em>
- so that it becomes an uninitialized
-<a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> again. This function is mostly used in combination with 
-<a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-init-request" title="gst_rtsp_message_init_request ()"><code class="function">gst_rtsp_message_init_request()</code></a>, <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-init-response" title="gst_rtsp_message_init_response ()"><code class="function">gst_rtsp_message_init_response()</code></a> and
-<a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-init-data" title="gst_rtsp_message_init_data ()"><code class="function">gst_rtsp_message_init_data()</code></a> on stack allocated <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> structures.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-unset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-unset.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-message-free"></a><h3>gst_rtsp_message_free ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>);</pre>
-<p>Free the memory used by <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-free.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-message-get-type"></a><h3>gst_rtsp_message_get_type ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMsgType" title="enum GstRTSPMsgType"><span class="returnvalue">GstRTSPMsgType</span></a>
 gst_rtsp_message_get_type (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the message type of <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-type.returns"></a><h4>Returns</h4>
-<p> the message type.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -441,42 +331,6 @@
 gst_rtsp_message_new_request (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> **msg</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a> method</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
-<p>Create a new <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> with <em class="parameter"><code>method</code></em>
- and <em class="parameter"><code>uri</code></em>
- and store the result
-request message in <em class="parameter"><code>msg</code></em>
-. Free with <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-free" title="gst_rtsp_message_free ()"><code class="function">gst_rtsp_message_free()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-new-request.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p> a location for the new <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>method</p></td>
-<td class="parameter_description"><p>the request method to use</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uri</p></td>
-<td class="parameter_description"><p> the uri of the request. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-new-request.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -485,43 +339,6 @@
 gst_rtsp_message_init_request (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a> method</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
-<p>Initialize <em class="parameter"><code>msg</code></em>
- as a request message with <em class="parameter"><code>method</code></em>
- and <em class="parameter"><code>uri</code></em>
-. To clear <em class="parameter"><code>msg</code></em>
-
-again, use <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-unset" title="gst_rtsp_message_unset ()"><code class="function">gst_rtsp_message_unset()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-init-request.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>method</p></td>
-<td class="parameter_description"><p>the request method to use</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uri</p></td>
-<td class="parameter_description"><p> the uri of the request. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-init-request.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -531,52 +348,6 @@
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPMethod" title="enum GstRTSPMethod"><span class="type">GstRTSPMethod</span></a> *method</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **uri</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPVersion" title="enum GstRTSPVersion"><span class="type">GstRTSPVersion</span></a> *version</code></em>);</pre>
-<p>Parse the request message <em class="parameter"><code>msg</code></em>
- and store the values <em class="parameter"><code>method</code></em>
-, <em class="parameter"><code>uri</code></em>
- and
-<em class="parameter"><code>version</code></em>
-. The result locations can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if one is not interested in its
-value.</p>
-<p><em class="parameter"><code>uri</code></em>
- remains valid for as long as <em class="parameter"><code>msg</code></em>
- is valid and unchanged.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-parse-request.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>method</p></td>
-<td class="parameter_description"><p> location to hold the method. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uri</p></td>
-<td class="parameter_description"><p> location to hold the uri. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>version</p></td>
-<td class="parameter_description"><p> location to hold the version. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-parse-request.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -586,53 +357,6 @@
                                <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPStatusCode" title="enum GstRTSPStatusCode"><span class="type">GstRTSPStatusCode</span></a> code</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reason</code></em>,
                                <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *request</code></em>);</pre>
-<p>Create a new response <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> with <em class="parameter"><code>code</code></em>
- and <em class="parameter"><code>reason</code></em>
- and store the
-result message in <em class="parameter"><code>msg</code></em>
-. Free with <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-free" title="gst_rtsp_message_free ()"><code class="function">gst_rtsp_message_free()</code></a>.</p>
-<p>When <em class="parameter"><code>reason</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, the default reason for <em class="parameter"><code>code</code></em>
- will be used.</p>
-<p>When <em class="parameter"><code>request</code></em>
- is not <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, the relevant headers will be copied to the new
-response message.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-new-response.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p> a location for the new <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>code</p></td>
-<td class="parameter_description"><p>the status code</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reason</p></td>
-<td class="parameter_description"><p> the status reason or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>request</p></td>
-<td class="parameter_description"><p> the request that triggered the response or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-new-response.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -642,52 +366,6 @@
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPStatusCode" title="enum GstRTSPStatusCode"><span class="type">GstRTSPStatusCode</span></a> code</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *reason</code></em>,
                                 <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *request</code></em>);</pre>
-<p>Initialize <em class="parameter"><code>msg</code></em>
- with <em class="parameter"><code>code</code></em>
- and <em class="parameter"><code>reason</code></em>
-.</p>
-<p>When <em class="parameter"><code>reason</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, the default reason for <em class="parameter"><code>code</code></em>
- will be used.</p>
-<p>When <em class="parameter"><code>request</code></em>
- is not <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, the relevant headers will be copied to the new
-response message.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-init-response.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>code</p></td>
-<td class="parameter_description"><p>the status code</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reason</p></td>
-<td class="parameter_description"><p> the status reason or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>request</p></td>
-<td class="parameter_description"><p> the request that triggered the response or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-init-response.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -697,52 +375,6 @@
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPStatusCode" title="enum GstRTSPStatusCode"><span class="type">GstRTSPStatusCode</span></a> *code</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **reason</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPVersion" title="enum GstRTSPVersion"><span class="type">GstRTSPVersion</span></a> *version</code></em>);</pre>
-<p>Parse the response message <em class="parameter"><code>msg</code></em>
- and store the values <em class="parameter"><code>code</code></em>
-, <em class="parameter"><code>reason</code></em>
- and
-<em class="parameter"><code>version</code></em>
-. The result locations can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if one is not interested in its
-value.</p>
-<p><em class="parameter"><code>reason</code></em>
- remains valid for as long as <em class="parameter"><code>msg</code></em>
- is valid and unchanged.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-parse-response.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>code</p></td>
-<td class="parameter_description"><p> location to hold the status code. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>reason</p></td>
-<td class="parameter_description"><p> location to hold the status reason. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>version</p></td>
-<td class="parameter_description"><p> location to hold the version. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-parse-response.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -750,36 +382,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_new_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> **msg</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> channel</code></em>);</pre>
-<p>Create a new data <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> with <em class="parameter"><code>channel</code></em>
- and store the
-result message in <em class="parameter"><code>msg</code></em>
-. Free with <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#gst-rtsp-message-free" title="gst_rtsp_message_free ()"><code class="function">gst_rtsp_message_free()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-new-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p> a location for the new <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel</p></td>
-<td class="parameter_description"><p>the channel</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-new-data.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -787,34 +389,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_init_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> channel</code></em>);</pre>
-<p>Initialize a new data <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> for <em class="parameter"><code>channel</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-init-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel</p></td>
-<td class="parameter_description"><p>a channel</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-init-data.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -822,35 +396,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_parse_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *channel</code></em>);</pre>
-<p>Parse the data message <em class="parameter"><code>msg</code></em>
- and store the channel in <em class="parameter"><code>channel</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-parse-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>channel</p></td>
-<td class="parameter_description"><p> location to hold the channel. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-parse-data.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -859,43 +404,6 @@
 gst_rtsp_message_add_header (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a> field</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Add a header with key <em class="parameter"><code>field</code></em>
- and <em class="parameter"><code>value</code></em>
- to <em class="parameter"><code>msg</code></em>
-. This function takes a copy
-of <em class="parameter"><code>value</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-add-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>field</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p> the value of the header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-add-header.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -904,43 +412,6 @@
 gst_rtsp_message_take_header (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a> field</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Add a header with key <em class="parameter"><code>field</code></em>
- and <em class="parameter"><code>value</code></em>
- to <em class="parameter"><code>msg</code></em>
-. This function takes
-ownership of <em class="parameter"><code>value</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-take-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>field</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p> the value of the header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-take-header.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -949,43 +420,6 @@
 gst_rtsp_message_remove_header (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a> field</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> indx</code></em>);</pre>
-<p>Remove the <em class="parameter"><code>indx</code></em>
- header with key <em class="parameter"><code>field</code></em>
- from <em class="parameter"><code>msg</code></em>
-. If <em class="parameter"><code>indx</code></em>
- equals -1, all
-headers will be removed.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-remove-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>field</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>indx</p></td>
-<td class="parameter_description"><p>the index of the header</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-remove-header.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -995,51 +429,6 @@
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a> field</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **value</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> indx</code></em>);</pre>
-<p>Get the <em class="parameter"><code>indx</code></em>
- header value with key <em class="parameter"><code>field</code></em>
- from <em class="parameter"><code>msg</code></em>
-. The result in <em class="parameter"><code>value</code></em>
-
-stays valid as long as it remains present in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>field</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p> pointer to hold the result. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>indx</p></td>
-<td class="parameter_description"><p>the index of the header</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-header.returns"></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> when <em class="parameter"><code>field</code></em>
-was found, <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ENOTIMPL:CAPS"><span class="type">GST_RTSP_ENOTIMPL</span></a> if the key
-was not found.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1048,44 +437,6 @@
 gst_rtsp_message_add_header_by_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                                      <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *header</code></em>,
                                      <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Add a header with key <em class="parameter"><code>header</code></em>
- and <em class="parameter"><code>value</code></em>
- to <em class="parameter"><code>msg</code></em>
-. This function takes a copy
-of <em class="parameter"><code>value</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-add-header-by-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>header</p></td>
-<td class="parameter_description"><p> header string. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p> the value of the header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-add-header-by-name.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1094,45 +445,6 @@
 gst_rtsp_message_take_header_by_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *header</code></em>,
                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Add a header with key <em class="parameter"><code>header</code></em>
- and <em class="parameter"><code>value</code></em>
- to <em class="parameter"><code>msg</code></em>
-. This function takes
-ownership of <em class="parameter"><code>value</code></em>
-, but not of <em class="parameter"><code>header</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-take-header-by-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>header</p></td>
-<td class="parameter_description"><p> a header string. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p> the value of the header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-take-header-by-name.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1142,44 +454,6 @@
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *header</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
-<p>Remove the <em class="parameter"><code>index</code></em>
- header with key <em class="parameter"><code>header</code></em>
- from <em class="parameter"><code>msg</code></em>
-. If <em class="parameter"><code>index</code></em>
- equals -1,
-all matching headers will be removed.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-remove-header-by-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>header</p></td>
-<td class="parameter_description"><p>the header string</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>index</p></td>
-<td class="parameter_description"><p>the index of the header</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-remove-header-by-name.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a></p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1189,52 +463,6 @@
                                      <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *header</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **value</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
-<p>Get the <em class="parameter"><code>index</code></em>
- header value with key <em class="parameter"><code>header</code></em>
- from <em class="parameter"><code>msg</code></em>
-. The result in <em class="parameter"><code>value</code></em>
-
-stays valid as long as it remains present in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-header-by-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>header</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPHeaderField" title="enum GstRTSPHeaderField"><span class="type">GstRTSPHeaderField</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p> pointer to hold the result. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>index</p></td>
-<td class="parameter_description"><p>the index of the header</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-header-by-name.returns"></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> when <em class="parameter"><code>field</code></em>
-was found, <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GST-RTSP-ENOTIMPL:CAPS"><span class="type">GST_RTSP_ENOTIMPL</span></a> if the key
-was not found.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1242,36 +470,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_append_headers (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Strings.html#GString"><span class="type">GString</span></a> *str</code></em>);</pre>
-<p>Append the currently configured headers in <em class="parameter"><code>msg</code></em>
- to the <a href="/usr/share/gtk-doc/html/glibglib-Strings.html#GString"><span class="type">GString</span></a> <em class="parameter"><code>str</code></em>
- suitable
-for transmission.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-append-headers.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>str</p></td>
-<td class="parameter_description"><p> a string. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-append-headers.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1280,41 +478,6 @@
 gst_rtsp_message_set_body (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
-<p>Set the body of <em class="parameter"><code>msg</code></em>
- to a copy of <em class="parameter"><code>data</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-set-body.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> the data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-set-body.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1323,44 +486,6 @@
 gst_rtsp_message_take_body (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
-<p>Set the body of <em class="parameter"><code>msg</code></em>
- to <em class="parameter"><code>data</code></em>
- and <em class="parameter"><code>size</code></em>
-. This method takes ownership of
-<em class="parameter"><code>data</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-take-body.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> the data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-take-body.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1369,43 +494,6 @@
 gst_rtsp_message_get_body (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **data</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *size</code></em>);</pre>
-<p>Get the body of <em class="parameter"><code>msg</code></em>
-. <em class="parameter"><code>data</code></em>
- remains valid for as long as <em class="parameter"><code>msg</code></em>
- is valid and
-unchanged.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-body.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> location for the data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p> location for the size of <em class="parameter"><code>data</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-get-body.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1414,78 +502,18 @@
 gst_rtsp_message_steal_body (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **data</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *size</code></em>);</pre>
-<p>Take the body of <em class="parameter"><code>msg</code></em>
- and store it in <em class="parameter"><code>data</code></em>
- and <em class="parameter"><code>size</code></em>
-. After this method,
-the body and size of <em class="parameter"><code>msg</code></em>
- will be set to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> and 0 respectively.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-steal-body.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p> location for the data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p> location for the size of <em class="parameter"><code>data</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-steal-body.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-message-dump"></a><h3>gst_rtsp_message_dump ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_message_dump (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a> *msg</code></em>);</pre>
-<p>Dump the contents of <em class="parameter"><code>msg</code></em>
- to stdout.</p>
-<div class="refsect3">
-<a name="gst-rtsp-message-dump.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMessage" title="struct GstRTSPMessage"><span class="type">GstRTSPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-message-dump.returns"></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>.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspmessage.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstRTSPMsgType"></a><h3>enum GstRTSPMsgType</h3>
-<p>The type of a message.</p>
 <div class="refsect3">
 <a name="GstRTSPMsgType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1497,45 +525,33 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-MESSAGE-INVALID:CAPS"></a>GST_RTSP_MESSAGE_INVALID</p></td>
-<td class="enum_member_description">
-<p>invalid message type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-MESSAGE-REQUEST:CAPS"></a>GST_RTSP_MESSAGE_REQUEST</p></td>
-<td class="enum_member_description">
-<p>RTSP request message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-MESSAGE-RESPONSE:CAPS"></a>GST_RTSP_MESSAGE_RESPONSE</p></td>
-<td class="enum_member_description">
-<p>RTSP response message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-MESSAGE-HTTP-REQUEST:CAPS"></a>GST_RTSP_MESSAGE_HTTP_REQUEST</p></td>
-<td class="enum_member_description">
-<p>HTTP request message.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-MESSAGE-HTTP-RESPONSE:CAPS"></a>GST_RTSP_MESSAGE_HTTP_RESPONSE</p></td>
-<td class="enum_member_description">
-<p>HTTP response message.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-MESSAGE-DATA:CAPS"></a>GST_RTSP_MESSAGE_DATA</p></td>
-<td class="enum_member_description">
-<p>data message</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1564,31 +580,9 @@
   } type_data;
 };
 </pre>
-<p>An RTSP message containing request, response or data messages. Depending on
-the <em class="parameter"><code>type</code></em>
-, the appropriate structure may be accessed.</p>
-<div class="refsect3">
-<a name="GstRTSPMessage.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtspmessage.html#GstRTSPMsgType" title="enum GstRTSPMsgType"><span class="type">GstRTSPMsgType</span></a> <em class="structfield"><code><a name="GstRTSPMessage.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>the message type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr></tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gstrtspmessage.see-also"></a><h2>See Also</h2>
-<p>gstrtspconnection</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtsprange.html b/docs/libs/html/gst-plugins-base-libs-gstrtsprange.html
index 2c53ab6..4cee034 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtsprange.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtsprange.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-gstrtsprange.top_of_page"></a>gstrtsprange</span></h2>
-<p>gstrtsprange — dealing with time ranges</p>
+<p>gstrtsprange</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -120,7 +120,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtsprange.description"></a><h2>Description</h2>
-<p>Provides helper functions to deal with time ranges.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtsprange.functions_details"></a><h2>Functions</h2>
@@ -129,34 +128,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_range_parse (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *rangestr</code></em>,
                       <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a> **range</code></em>);</pre>
-<p>Parse <em class="parameter"><code>rangestr</code></em>
- to a <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-range-parse.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rangestr</p></td>
-<td class="parameter_description"><p>a range string to parse</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>range</p></td>
-<td class="parameter_description"><p>location to hold the <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a> result</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-range-parse.returns"></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>
 <hr>
 <div class="refsect2">
@@ -165,76 +136,12 @@
 gst_rtsp_range_get_times (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a> *range</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max</code></em>);</pre>
-<p>Retrieve the minimum and maximum values from <em class="parameter"><code>range</code></em>
- converted to
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> in <em class="parameter"><code>min</code></em>
- and <em class="parameter"><code>max</code></em>
-.</p>
-<p>A value of <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GST-CLOCK-TIME-NONE:CAPS"><code class="literal">GST_CLOCK_TIME_NONE</code></a> will be used to signal <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GST-RTSP-TIME-NOW:CAPS"><span class="type">GST_RTSP_TIME_NOW</span></a>
-and <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GST-RTSP-TIME-END:CAPS"><span class="type">GST_RTSP_TIME_END</span></a> for <em class="parameter"><code>min</code></em>
- and <em class="parameter"><code>max</code></em>
- respectively.</p>
-<p>UTC times will be converted to nanoseconds since 1900.</p>
-<div class="refsect3">
-<a name="gst-rtsp-range-get-times.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>range</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>min</p></td>
-<td class="parameter_description"><p>result minimum <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>max</p></td>
-<td class="parameter_description"><p>result maximum <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-range-get-times.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-range-to-string"></a><h3>gst_rtsp_range_to_string ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_range_to_string (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a> *range</code></em>);</pre>
-<p>Convert <em class="parameter"><code>range</code></em>
- into a string representation.</p>
-<div class="refsect3">
-<a name="gst-rtsp-range-to-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>range</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-range-to-string.returns"></a><h4>Returns</h4>
-<p> The string representation of <em class="parameter"><code>range</code></em>
-. <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -242,65 +149,18 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_rtsp_range_convert_units (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a> *range</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPRangeUnit" title="enum GstRTSPRangeUnit"><span class="type">GstRTSPRangeUnit</span></a> unit</code></em>);</pre>
-<p>Converts the range in-place between different types of units.
-Ranges containing the special value <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GST-RTSP-TIME-NOW:CAPS"><span class="type">GST_RTSP_TIME_NOW</span></a> can not be
-converted as these are only valid for <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GST-RTSP-RANGE-NPT:CAPS"><span class="type">GST_RTSP_RANGE_NPT</span></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-range-convert-units.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>range</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>unit</p></td>
-<td class="parameter_description"><p>the unit to convert the range into</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-range-convert-units.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the range could be converted</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-range-free"></a><h3>gst_rtsp_range_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_range_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a> *range</code></em>);</pre>
-<p>Free the memory allocated by <em class="parameter"><code>range</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-range-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>range</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeRange" title="struct GstRTSPTimeRange"><span class="type">GstRTSPTimeRange</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtsprange.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstRTSPRangeUnit"></a><h3>enum GstRTSPRangeUnit</h3>
-<p>Different possible time range units.</p>
 <div class="refsect3">
 <a name="GstRTSPRangeUnit.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -312,38 +172,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-RANGE-SMPTE:CAPS"></a>GST_RTSP_RANGE_SMPTE</p></td>
-<td class="enum_member_description">
-<p>SMPTE timecode</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-RANGE-SMPTE-30-DROP:CAPS"></a>GST_RTSP_RANGE_SMPTE_30_DROP</p></td>
-<td class="enum_member_description">
-<p>29.97 frames per second</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-RANGE-SMPTE-25:CAPS"></a>GST_RTSP_RANGE_SMPTE_25</p></td>
-<td class="enum_member_description">
-<p>25 frames per second</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-RANGE-NPT:CAPS"></a>GST_RTSP_RANGE_NPT</p></td>
-<td class="enum_member_description">
-<p>Normal play time</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-RANGE-CLOCK:CAPS"></a>GST_RTSP_RANGE_CLOCK</p></td>
-<td class="enum_member_description">
-<p>Absolute time expressed as ISO 8601 timestamps</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -361,44 +211,6 @@
   GstRTSPTime2 max2;
 };
 </pre>
-<p>A time range.</p>
-<div class="refsect3">
-<a name="GstRTSPTimeRange.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPRangeUnit" title="enum GstRTSPRangeUnit"><span class="type">GstRTSPRangeUnit</span></a> <em class="structfield"><code><a name="GstRTSPTimeRange.unit"></a>unit</code></em>;</p></td>
-<td class="struct_member_description"><p>the time units used</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime" title="struct GstRTSPTime"><span class="type">GstRTSPTime</span></a> <em class="structfield"><code><a name="GstRTSPTimeRange.min"></a>min</code></em>;</p></td>
-<td class="struct_member_description"><p>the minimum interval</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime" title="struct GstRTSPTime"><span class="type">GstRTSPTime</span></a> <em class="structfield"><code><a name="GstRTSPTimeRange.max"></a>max</code></em>;</p></td>
-<td class="struct_member_description"><p>the maximum interval</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2" title="struct GstRTSPTime2"><span class="type">GstRTSPTime2</span></a> <em class="structfield"><code><a name="GstRTSPTimeRange.min2"></a>min2</code></em>;</p></td>
-<td class="struct_member_description"><p>extra fields in the minimum interval (Since: 1.2)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTime2" title="struct GstRTSPTime2"><span class="type">GstRTSPTime2</span></a> <em class="structfield"><code><a name="GstRTSPTimeRange.max2"></a>max2</code></em>;</p></td>
-<td class="struct_member_description"><p>extra fields in the maximum interval (Since: 1.2)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -408,31 +220,6 @@
   gdouble         seconds;
 };
 </pre>
-<p>A time indication.</p>
-<div class="refsect3">
-<a name="GstRTSPTime.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsprange.html#GstRTSPTimeType" title="enum GstRTSPTimeType"><span class="type">GstRTSPTimeType</span></a> <em class="structfield"><code><a name="GstRTSPTime.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>the time of the time</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="GstRTSPTime.seconds"></a>seconds</code></em>;</p></td>
-<td class="struct_member_description"><p>seconds when <em class="parameter"><code>type</code></em>
-is GST_RTSP_TIME_SECONDS,
-GST_RTSP_TIME_UTC and GST_RTSP_TIME_FRAMES</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -444,46 +231,10 @@
   guint           day;
 };
 </pre>
-<p>Extra fields for a time indication.</p>
-<div class="refsect3">
-<a name="GstRTSPTime2.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="GstRTSPTime2.frames"></a>frames</code></em>;</p></td>
-<td class="struct_member_description"><p>frames and subframes when type in GstRTSPTime is
-GST_RTSP_TIME_FRAMES</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTSPTime2.year"></a>year</code></em>;</p></td>
-<td class="struct_member_description"><p>year when type is GST_RTSP_TIME_UTC</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTSPTime2.month"></a>month</code></em>;</p></td>
-<td class="struct_member_description"><p>month when type is GST_RTSP_TIME_UTC</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTSPTime2.day"></a>day</code></em>;</p></td>
-<td class="struct_member_description"><p>day when type is GST_RTSP_TIME_UTC</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstRTSPTimeType"></a><h3>enum GstRTSPTimeType</h3>
-<p>Possible time types.</p>
 <div class="refsect3">
 <a name="GstRTSPTimeType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -495,38 +246,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TIME-SECONDS:CAPS"></a>GST_RTSP_TIME_SECONDS</p></td>
-<td class="enum_member_description">
-<p>seconds</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TIME-NOW:CAPS"></a>GST_RTSP_TIME_NOW</p></td>
-<td class="enum_member_description">
-<p>now</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TIME-END:CAPS"></a>GST_RTSP_TIME_END</p></td>
-<td class="enum_member_description">
-<p>end</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TIME-FRAMES:CAPS"></a>GST_RTSP_TIME_FRAMES</p></td>
-<td class="enum_member_description">
-<p>frames and subframes</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TIME-UTC:CAPS"></a>GST_RTSP_TIME_UTC</p></td>
-<td class="enum_member_description">
-<p>UTC time</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtsptransport.html b/docs/libs/html/gst-plugins-base-libs-gstrtsptransport.html
index ce51adb..c01d999 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtsptransport.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtsptransport.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-gstrtsptransport.top_of_page"></a>gstrtsptransport</span></h2>
-<p>gstrtsptransport — dealing with RTSP transports</p>
+<p>gstrtsptransport</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -136,7 +136,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtsptransport.description"></a><h2>Description</h2>
-<p>Provides helper functions to deal with RTSP transport strings.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtsptransport.functions_details"></a><h2>Functions</h2>
@@ -144,54 +143,12 @@
 <a name="gst-rtsp-transport-new"></a><h3>gst_rtsp_transport_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_transport_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a> **transport</code></em>);</pre>
-<p>Allocate a new initialized <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a>. Use <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#gst-rtsp-transport-free" title="gst_rtsp_transport_free ()"><code class="function">gst_rtsp_transport_free()</code></a>
-after usage.</p>
-<div class="refsect3">
-<a name="gst-rtsp-transport-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>transport</p></td>
-<td class="parameter_description"><p>location to hold the new <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-transport-new.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>. </p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-transport-init"></a><h3>gst_rtsp_transport_init ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_transport_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a> *transport</code></em>);</pre>
-<p>Initialize <em class="parameter"><code>transport</code></em>
- so that it can be used.</p>
-<div class="refsect3">
-<a name="gst-rtsp-transport-init.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>transport</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-transport-init.returns"></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>. </p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -199,64 +156,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_transport_parse (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *str</code></em>,
                           <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a> *transport</code></em>);</pre>
-<p>Parse the RTSP transport string <em class="parameter"><code>str</code></em>
- into <em class="parameter"><code>transport</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-transport-parse.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>str</p></td>
-<td class="parameter_description"><p>a transport string</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>transport</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-transport-parse.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-transport-as-text"></a><h3>gst_rtsp_transport_as_text ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_transport_as_text (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a> *transport</code></em>);</pre>
-<p>Convert <em class="parameter"><code>transport</code></em>
- into a string that can be used to signal the transport in
-an RTSP SETUP response.</p>
-<div class="refsect3">
-<a name="gst-rtsp-transport-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>transport</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-transport-as-text.returns"></a><h4>Returns</h4>
-<p> a string describing the RTSP transport or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> when the transport
-is invalid.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -264,41 +169,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_transport_get_mime (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransMode" title="enum GstRTSPTransMode"><span class="type">GstRTSPTransMode</span></a> trans</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **mime</code></em>);</pre>
-<div class="warning">
-<p><code class="literal">gst_rtsp_transport_get_mime</code> is deprecated and should not be used in newly-written code.</p>
-<p>This functions only deals with the GstRTSPTransMode and only
-   returns the mime type for <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GST-RTSP-PROFILE-AVP:CAPS"><span class="type">GST_RTSP_PROFILE_AVP</span></a>. Use
-   <code class="function">gst_rtsp_transport_get_media_type()</code> instead.</p>
-</div>
-<p>Get the mime type of the transport mode <em class="parameter"><code>trans</code></em>
-. This mime type is typically
-used to generate <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> events.</p>
-<div class="refsect3">
-<a name="gst-rtsp-transport-get-mime.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>trans</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransMode" title="enum GstRTSPTransMode"><span class="type">GstRTSPTransMode</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mime</p></td>
-<td class="parameter_description"><p>location to hold the result</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-transport-get-mime.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -307,80 +177,18 @@
 gst_rtsp_transport_get_manager (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransMode" title="enum GstRTSPTransMode"><span class="type">GstRTSPTransMode</span></a> trans</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **manager</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> option</code></em>);</pre>
-<p>Get the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> that can handle the buffers transported over <em class="parameter"><code>trans</code></em>
-.</p>
-<p>It is possible that there are several managers available, use <em class="parameter"><code>option</code></em>
- to
-selected one.</p>
-<p><em class="parameter"><code>manager</code></em>
- will contain an element name or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> when no manager is
-needed/available for <em class="parameter"><code>trans</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-transport-get-manager.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>trans</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransMode" title="enum GstRTSPTransMode"><span class="type">GstRTSPTransMode</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>manager</p></td>
-<td class="parameter_description"><p>location to hold the result</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>option</p></td>
-<td class="parameter_description"><p>option index.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-transport-get-manager.returns"></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>. </p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-transport-free"></a><h3>gst_rtsp_transport_free ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_transport_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a> *transport</code></em>);</pre>
-<p>Free the memory used by <em class="parameter"><code>transport</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-transport-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>transport</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransport" title="struct GstRTSPTransport"><span class="type">GstRTSPTransport</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-transport-free.returns"></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>.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtsptransport.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstRTSPTransMode"></a><h3>enum GstRTSPTransMode</h3>
-<p>The transfer mode to use.</p>
 <div class="refsect3">
 <a name="GstRTSPTransMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -392,24 +200,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TRANS-UNKNOWN:CAPS"></a>GST_RTSP_TRANS_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>invalid tansport mode</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TRANS-RTP:CAPS"></a>GST_RTSP_TRANS_RTP</p></td>
-<td class="enum_member_description">
-<p>transfer RTP data</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-TRANS-RDT:CAPS"></a>GST_RTSP_TRANS_RDT</p></td>
-<td class="enum_member_description">
-<p>transfer RDT (RealMedia) data</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -418,7 +220,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstRTSPProfile"></a><h3>enum GstRTSPProfile</h3>
-<p>The transfer profile to use.</p>
 <div class="refsect3">
 <a name="GstRTSPProfile.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -430,38 +231,28 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-PROFILE-UNKNOWN:CAPS"></a>GST_RTSP_PROFILE_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>invalid profile</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-PROFILE-AVP:CAPS"></a>GST_RTSP_PROFILE_AVP</p></td>
-<td class="enum_member_description">
-<p>the Audio/Visual profile (RFC 3551)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-PROFILE-SAVP:CAPS"></a>GST_RTSP_PROFILE_SAVP</p></td>
-<td class="enum_member_description">
-<p>the secure Audio/Visual profile (RFC 3711)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-PROFILE-AVPF:CAPS"></a>GST_RTSP_PROFILE_AVPF</p></td>
-<td class="enum_member_description">
-<p>the Audio/Visual profile with feedback (RFC 4585)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-PROFILE-SAVPF:CAPS"></a>GST_RTSP_PROFILE_SAVPF</p></td>
-<td class="enum_member_description">
-<p>the secure Audio/Visual profile with feedback (RFC 5124)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -475,34 +266,10 @@
   gint max;
 };
 </pre>
-<p>A type to specify a range.</p>
-<div class="refsect3">
-<a name="GstRTSPRange.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstRTSPRange.min"></a>min</code></em>;</p></td>
-<td class="struct_member_description"><p>minimum value of the range</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstRTSPRange.max"></a>max</code></em>;</p></td>
-<td class="struct_member_description"><p>maximum value of the range</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstRTSPLowerTrans"></a><h3>enum GstRTSPLowerTrans</h3>
-<p>The different transport methods.</p>
 <div class="refsect3">
 <a name="GstRTSPLowerTrans.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -514,45 +281,33 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-LOWER-TRANS-UNKNOWN:CAPS"></a>GST_RTSP_LOWER_TRANS_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>invalid transport flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-LOWER-TRANS-UDP:CAPS"></a>GST_RTSP_LOWER_TRANS_UDP</p></td>
-<td class="enum_member_description">
-<p>stream data over UDP</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-LOWER-TRANS-UDP-MCAST:CAPS"></a>GST_RTSP_LOWER_TRANS_UDP_MCAST</p></td>
-<td class="enum_member_description">
-<p>stream data over UDP multicast</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-LOWER-TRANS-TCP:CAPS"></a>GST_RTSP_LOWER_TRANS_TCP</p></td>
-<td class="enum_member_description">
-<p>stream data over TCP</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-LOWER-TRANS-HTTP:CAPS"></a>GST_RTSP_LOWER_TRANS_HTTP</p></td>
-<td class="enum_member_description">
-<p>stream data tunneled over HTTP.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-RTSP-LOWER-TRANS-TLS:CAPS"></a>GST_RTSP_LOWER_TRANS_TLS</p></td>
-<td class="enum_member_description">
-<p>encrypt TCP and HTTP with TLS</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -585,98 +340,6 @@
   guint          ssrc;
 };
 </pre>
-<p>A structure holding the RTSP transport values.</p>
-<div class="refsect3">
-<a name="GstRTSPTransport.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPTransMode" title="enum GstRTSPTransMode"><span class="type">GstRTSPTransMode</span></a> <em class="structfield"><code><a name="GstRTSPTransport.trans"></a>trans</code></em>;</p></td>
-<td class="struct_member_description"><p>the transport mode</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPProfile" title="enum GstRTSPProfile"><span class="type">GstRTSPProfile</span></a> <em class="structfield"><code><a name="GstRTSPTransport.profile"></a>profile</code></em>;</p></td>
-<td class="struct_member_description"><p>the tansport profile</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPLowerTrans" title="enum GstRTSPLowerTrans"><span class="type">GstRTSPLowerTrans</span></a> <em class="structfield"><code><a name="GstRTSPTransport.lower-transport"></a>lower_transport</code></em>;</p></td>
-<td class="struct_member_description"><p>the lower transport</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTSPTransport.destination"></a>destination</code></em>;</p></td>
-<td class="struct_member_description"><p>the destination ip/hostname</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTSPTransport.source"></a>source</code></em>;</p></td>
-<td class="struct_member_description"><p>the source ip/hostname</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTSPTransport.layers"></a>layers</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of layers</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstRTSPTransport.mode-play"></a>mode_play</code></em>;</p></td>
-<td class="struct_member_description"><p>if play mode was selected</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstRTSPTransport.mode-record"></a>mode_record</code></em>;</p></td>
-<td class="struct_member_description"><p>if record mode was selected</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstRTSPTransport.append"></a>append</code></em>;</p></td>
-<td class="struct_member_description"><p>is append mode was selected</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPRange" title="struct GstRTSPRange"><span class="type">GstRTSPRange</span></a> <em class="structfield"><code><a name="GstRTSPTransport.interleaved"></a>interleaved</code></em>;</p></td>
-<td class="struct_member_description"><p>the interleave range</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTSPTransport.ttl"></a>ttl</code></em>;</p></td>
-<td class="struct_member_description"><p>the time to live for multicast UDP</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPRange" title="struct GstRTSPRange"><span class="type">GstRTSPRange</span></a> <em class="structfield"><code><a name="GstRTSPTransport.port"></a>port</code></em>;</p></td>
-<td class="struct_member_description"><p>the port pair for multicast sessions</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPRange" title="struct GstRTSPRange"><span class="type">GstRTSPRange</span></a> <em class="structfield"><code><a name="GstRTSPTransport.client-port"></a>client_port</code></em>;</p></td>
-<td class="struct_member_description"><p>the client port pair for receiving data. For TCP
-based transports, applications can use this field to store the
-sender and receiver ports of the client.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPRange" title="struct GstRTSPRange"><span class="type">GstRTSPRange</span></a> <em class="structfield"><code><a name="GstRTSPTransport.server-port"></a>server_port</code></em>;</p></td>
-<td class="struct_member_description"><p>the server port pair for receiving data. For TCP
-based transports, applications can use this field to store the
-sender and receiver ports of the server.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstRTSPTransport.ssrc"></a>ssrc</code></em>;</p></td>
-<td class="struct_member_description"><p>the ssrc that the sender/receiver will use</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstrtspurl.html b/docs/libs/html/gst-plugins-base-libs-gstrtspurl.html
index a70d5f0..f97b8c9 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstrtspurl.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstrtspurl.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-gstrtspurl.top_of_page"></a>gstrtspurl</span></h2>
-<p>gstrtspurl — handling RTSP urls</p>
+<p>gstrtspurl</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -124,7 +124,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspurl.description"></a><h2>Description</h2>
-<p>Provides helper functions to handle RTSP urls.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstrtspurl.functions_details"></a><h2>Functions</h2>
@@ -133,113 +132,24 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_url_parse (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *urlstr</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> **url</code></em>);</pre>
-<p>Parse the RTSP <em class="parameter"><code>urlstr</code></em>
- into a newly allocated <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a>. Free after usage
-with <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#gst-rtsp-url-free" title="gst_rtsp_url_free ()"><code class="function">gst_rtsp_url_free()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-rtsp-url-parse.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>urlstr</p></td>
-<td class="parameter_description"><p>the url string to parse</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>url</p></td>
-<td class="parameter_description"><p> location to hold the result. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-url-parse.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="type">GstRTSPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-url-copy"></a><h3>gst_rtsp_url_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="returnvalue">GstRTSPUrl</span></a> *
 gst_rtsp_url_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> *url</code></em>);</pre>
-<p>Make a copy of <em class="parameter"><code>url</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-url-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>url</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-url-copy.returns"></a><h4>Returns</h4>
-<p> a copy of <em class="parameter"><code>url</code></em>
-. Free with <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#gst-rtsp-url-free" title="gst_rtsp_url_free ()"><code class="function">gst_rtsp_url_free()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-url-free"></a><h3>gst_rtsp_url_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_rtsp_url_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> *url</code></em>);</pre>
-<p>Free the memory used by <em class="parameter"><code>url</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-url-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>url</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-url-get-request-uri"></a><h3>gst_rtsp_url_get_request_uri ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_rtsp_url_get_request_uri (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> *url</code></em>);</pre>
-<p>Get a newly allocated string describing the request URI for <em class="parameter"><code>url</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-url-get-request-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>url</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-url-get-request-uri.returns"></a><h4>Returns</h4>
-<p> a string with the request URI. <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -247,35 +157,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_url_set_port (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> *url</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> port</code></em>);</pre>
-<p>Set the port number in <em class="parameter"><code>url</code></em>
- to <em class="parameter"><code>port</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-url-set-port.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>url</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>port</p></td>
-<td class="parameter_description"><p>the port</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-url-set-port.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -283,71 +164,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPResult" title="enum GstRTSPResult"><span class="returnvalue">GstRTSPResult</span></a>
 gst_rtsp_url_get_port (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> *url</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> *port</code></em>);</pre>
-<p>Get the port number of <em class="parameter"><code>url</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-rtsp-url-get-port.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>url</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>port</p></td>
-<td class="parameter_description"><p>location to hold the port</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-url-get-port.returns"></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>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-rtsp-url-decode-path-components"></a><h3>gst_rtsp_url_decode_path_components ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
 gst_rtsp_url_decode_path_components (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a> *url</code></em>);</pre>
-<p>Splits the path of <em class="parameter"><code>url</code></em>
- on '/' boundaries, decoding the resulting components,</p>
-<p>The decoding performed by this routine is "URI decoding", as defined in RFC
-3986, commonly known as percent-decoding. For example, a string "foo%2fbar"
-will decode to "foo/bar" -- the %2f being replaced by the corresponding byte
-with hex value 0x2f. Note that there is no guarantee that the resulting byte
-sequence is valid in any given encoding. As a special case, %00 is not
-unescaped to NUL, as that would prematurely terminate the string.</p>
-<p>Also note that since paths usually start with a slash, the first component
-will usually be the empty string.</p>
-<div class="refsect3">
-<a name="gst-rtsp-url-decode-path-components.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>url</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtspurl.html#GstRTSPUrl" title="struct GstRTSPUrl"><span class="type">GstRTSPUrl</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-rtsp-url-decode-path-components.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of URL components. Free with
-<a href="/usr/share/gtk-doc/html/glibglib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> when no longer needed. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -356,7 +178,6 @@
 <a name="GST-RTSP-DEFAULT-PORT:CAPS"></a><h3>GST_RTSP_DEFAULT_PORT</h3>
 <pre class="programlisting">#define GST_RTSP_DEFAULT_PORT       554
 </pre>
-<p>The default RTSP port to connect to.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -372,59 +193,6 @@
   gchar             *query;
 };
 </pre>
-<p>This structure contains the result of a parsed RTSP URL</p>
-<div class="refsect3">
-<a name="GstRTSPUrl.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtsptransport.html#GstRTSPLowerTrans" title="enum GstRTSPLowerTrans"><span class="type">GstRTSPLowerTrans</span></a> <em class="structfield"><code><a name="GstRTSPUrl.transports"></a>transports</code></em>;</p></td>
-<td class="struct_member_description"><p>the transports allowed</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstrtspdefs.html#GstRTSPFamily" title="enum GstRTSPFamily"><span class="type">GstRTSPFamily</span></a> <em class="structfield"><code><a name="GstRTSPUrl.family"></a>family</code></em>;</p></td>
-<td class="struct_member_description"><p>the family</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTSPUrl.user"></a>user</code></em>;</p></td>
-<td class="struct_member_description"><p>the user</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTSPUrl.passwd"></a>passwd</code></em>;</p></td>
-<td class="struct_member_description"><p>the password</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTSPUrl.host"></a>host</code></em>;</p></td>
-<td class="struct_member_description"><p>the host</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstRTSPUrl.port"></a>port</code></em>;</p></td>
-<td class="struct_member_description"><p>the port</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTSPUrl.abspath"></a>abspath</code></em>;</p></td>
-<td class="struct_member_description"><p>the absolute path</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstRTSPUrl.query"></a>query</code></em>;</p></td>
-<td class="struct_member_description"><p>additional query parameters</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.html b/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.html
index 3c4d310..35eec2e 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstsdpmessage.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-gstsdpmessage.top_of_page"></a>gstsdpmessage</span></h2>
-<p>gstsdpmessage — Helper methods for dealing with SDP messages</p>
+<p>gstsdpmessage</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -1090,12 +1090,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstsdpmessage.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.11.3.6.2"></a><p>
-The GstSDPMessage helper functions makes it easy to parse and create SDP
-messages.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstsdpmessage.functions_details"></a><h2>Functions</h2>
@@ -1108,84 +1102,12 @@
                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *address</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> ttl</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> addr_number</code></em>);</pre>
-<p>Set the connection with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-sdp-connection-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nettype</p></td>
-<td class="parameter_description"><p>the type of network. "IN" is defined to have the meaning
-"Internet".</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addrtype</p></td>
-<td class="parameter_description"><p>the type of address.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>address</p></td>
-<td class="parameter_description"><p>the address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ttl</p></td>
-<td class="parameter_description"><p>the time to live of the address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addr_number</p></td>
-<td class="parameter_description"><p>the number of layers</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-connection-set.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>GST_SDP_OK</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-connection-clear"></a><h3>gst_sdp_connection_clear ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_connection_clear (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a> *conn</code></em>);</pre>
-<p>Clear the connection.</p>
-<div class="refsect3">
-<a name="gst-sdp-connection-clear.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-connection-clear.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>GST_SDP_OK</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1194,68 +1116,12 @@
 gst_sdp_bandwidth_set (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> *bw</code></em>,
                        <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bwtype</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> bandwidth</code></em>);</pre>
-<p>Set bandwidth information in <em class="parameter"><code>bw</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-bandwidth-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>bw</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bwtype</p></td>
-<td class="parameter_description"><p>the bandwidth modifier type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bandwidth</p></td>
-<td class="parameter_description"><p>the bandwidth in kilobits per second</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-bandwidth-set.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-bandwidth-clear"></a><h3>gst_sdp_bandwidth_clear ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_bandwidth_clear (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> *bw</code></em>);</pre>
-<p>Reset the bandwidth information in <em class="parameter"><code>bw</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-bandwidth-clear.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>bw</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-bandwidth-clear.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1265,76 +1131,12 @@
                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *start</code></em>,
                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop</code></em>,
                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **repeat</code></em>);</pre>
-<p>Set time information <em class="parameter"><code>start</code></em>
-, <em class="parameter"><code>stop</code></em>
- and <em class="parameter"><code>repeat</code></em>
- in <em class="parameter"><code>t</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-time-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>t</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>start</p></td>
-<td class="parameter_description"><p>the start time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stop</p></td>
-<td class="parameter_description"><p>the stop time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>repeat</p></td>
-<td class="parameter_description"><p> the repeat times. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-time-set.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-time-clear"></a><h3>gst_sdp_time_clear ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_time_clear (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a> *t</code></em>);</pre>
-<p>Reset the time information in <em class="parameter"><code>t</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-time-clear.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>t</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-time-clear.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1343,68 +1145,12 @@
 gst_sdp_zone_set (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a> *zone</code></em>,
                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *adj_time</code></em>,
                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *typed_time</code></em>);</pre>
-<p>Set zone information in <em class="parameter"><code>zone</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-zone-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>zone</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>adj_time</p></td>
-<td class="parameter_description"><p>the NTP time that a time zone adjustment happens</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>typed_time</p></td>
-<td class="parameter_description"><p>the offset from the time when the session was first scheduled</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-zone-set.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-zone-clear"></a><h3>gst_sdp_zone_clear ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_zone_clear (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a> *zone</code></em>);</pre>
-<p>Reset the zone information in <em class="parameter"><code>zone</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-zone-clear.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>zone</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-zone-clear.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1413,97 +1159,18 @@
 gst_sdp_attribute_set (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> *attr</code></em>,
                        <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
                        <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Set the attribute with <em class="parameter"><code>key</code></em>
- and <em class="parameter"><code>value</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-attribute-set.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>attr</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>the key</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>the value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-attribute-set.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>GST_SDP_OK</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-attribute-clear"></a><h3>gst_sdp_attribute_clear ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_attribute_clear (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> *attr</code></em>);</pre>
-<p>Clear the attribute.</p>
-<div class="refsect3">
-<a name="gst-sdp-attribute-clear.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>attr</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-attribute-clear.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>GST_SDP_OK</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-new"></a><h3>gst_sdp_message_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> **msg</code></em>);</pre>
-<p>Allocate a new GstSDPMessage and store the result in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p> pointer to new <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-new.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1511,131 +1178,24 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                       <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> **copy</code></em>);</pre>
-<p>Allocate a new copy of <em class="parameter"><code>msg</code></em>
- and store the result in <em class="parameter"><code>copy</code></em>
-. The value in
-<em class="parameter"><code>copy</code></em>
- should be release with gst_sdp_message_free function.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>copy</p></td>
-<td class="parameter_description"><p> pointer to new <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-copy.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a></p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-init"></a><h3>gst_sdp_message_init ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Initialize <em class="parameter"><code>msg</code></em>
- so that its contents are as if it was freshly allocated
-with <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-new" title="gst_sdp_message_new ()"><code class="function">gst_sdp_message_new()</code></a>. This function is mostly used to initialize a message
-allocated on the stack. <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-uninit" title="gst_sdp_message_uninit ()"><code class="function">gst_sdp_message_uninit()</code></a> undoes this operation.</p>
-<p>When this function is invoked on newly allocated data (with malloc or on the
-stack), its contents should be set to 0 before calling this function.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-init.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-init.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-uninit"></a><h3>gst_sdp_message_uninit ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_uninit (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Free all resources allocated in <em class="parameter"><code>msg</code></em>
-. <em class="parameter"><code>msg</code></em>
- should not be used anymore after
-this function. This function should be used when <em class="parameter"><code>msg</code></em>
- was allocated on the
-stack and initialized with <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-init" title="gst_sdp_message_init ()"><code class="function">gst_sdp_message_init()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-uninit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-uninit.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-free"></a><h3>gst_sdp_message_free ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Free all resources allocated by <em class="parameter"><code>msg</code></em>
-. <em class="parameter"><code>msg</code></em>
- should not be used anymore after
-this function. This function should be used when <em class="parameter"><code>msg</code></em>
- was dynamically
-allocated with <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-message-new" title="gst_sdp_message_new ()"><code class="function">gst_sdp_message_new()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-free.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1644,69 +1204,12 @@
 gst_sdp_message_parse_buffer (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Parse the contents of <em class="parameter"><code>size</code></em>
- bytes pointed to by <em class="parameter"><code>data</code></em>
- and store the result in
-<em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-parse-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p> the start of the buffer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the size of the buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p>the result <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-parse-buffer.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-as-text"></a><h3>gst_sdp_message_as_text ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_as_text (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Convert the contents of <em class="parameter"><code>msg</code></em>
- to a text string.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-as-text.returns"></a><h4>Returns</h4>
-<p> A dynamically allocated string representing the SDP description.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1714,39 +1217,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_parse_uri (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Parse the null-terminated <em class="parameter"><code>uri</code></em>
- and store the result in <em class="parameter"><code>msg</code></em>
-.</p>
-<p>The uri should be of the form:</p>
-<p> scheme://[address:ttl=ttl]/sessionname]</p>
-<p> where value is url encoded. This looslely resembles
- http://tools.ietf.org/html/draft-fujikawa-sdp-url-01</p>
-<div class="refsect3">
-<a name="gst-sdp-message-parse-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>uri</p></td>
-<td class="parameter_description"><p>the start of the uri</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p>the result <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-parse-uri.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1754,38 +1224,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_as_uri (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *scheme</code></em>,
                         <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Creates a uri from <em class="parameter"><code>msg</code></em>
- with the given <em class="parameter"><code>scheme</code></em>
-. The uri has the format:</p>
-<p> @scheme:///[<span class="type">type</span>=value *[&amp;type=value]]</p>
-<p> Where each value is url encoded.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-as-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>scheme</p></td>
-<td class="parameter_description"><p>the uri scheme</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-as-uri.returns"></a><h4>Returns</h4>
-<p> a uri for <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1794,67 +1232,12 @@
 gst_sdp_address_is_multicast (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *nettype</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *addrtype</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *addr</code></em>);</pre>
-<p>Check if the given <em class="parameter"><code>addr</code></em>
- is a multicast address.</p>
-<div class="refsect3">
-<a name="gst-sdp-address-is-multicast.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>nettype</p></td>
-<td class="parameter_description"><p>a network type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addrtype</p></td>
-<td class="parameter_description"><p>an address type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addr</p></td>
-<td class="parameter_description"><p>an address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-address-is-multicast.returns"></a><h4>Returns</h4>
-<p> TRUE when <em class="parameter"><code>addr</code></em>
-is multicast.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-get-version"></a><h3>gst_sdp_message_get_version ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_get_version (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the version in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-version.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-version.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1862,62 +1245,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_set_version (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</code></em>);</pre>
-<p>Set the version in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-set-version.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>version</p></td>
-<td class="parameter_description"><p>the version</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-set-version.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-get-origin"></a><h3>gst_sdp_message_get_origin ()</h3>
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin" title="GstSDPOrigin"><span class="returnvalue">GstSDPOrigin</span></a> *
 gst_sdp_message_get_origin (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the origin of <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-origin.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-origin.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin" title="GstSDPOrigin"><span class="type">GstSDPOrigin</span></a>. The result remains valid as long as <em class="parameter"><code>msg</code></em>
-is valid.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1930,86 +1263,12 @@
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *nettype</code></em>,
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *addrtype</code></em>,
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *addr</code></em>);</pre>
-<p>Configure the SDP origin in <em class="parameter"><code>msg</code></em>
- with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-set-origin.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>username</p></td>
-<td class="parameter_description"><p>the user name</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sess_id</p></td>
-<td class="parameter_description"><p>a session id</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sess_version</p></td>
-<td class="parameter_description"><p>a session version</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nettype</p></td>
-<td class="parameter_description"><p>a network type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addrtype</p></td>
-<td class="parameter_description"><p>an address type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addr</p></td>
-<td class="parameter_description"><p>an address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-set-origin.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-get-session-name"></a><h3>gst_sdp_message_get_session_name ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_get_session_name (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the session name in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-session-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-session-name.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2017,61 +1276,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_set_session_name (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *session_name</code></em>);</pre>
-<p>Set the session name in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-set-session-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>session_name</p></td>
-<td class="parameter_description"><p>the session name</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-set-session-name.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-get-information"></a><h3>gst_sdp_message_get_information ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_get_information (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the information in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-information.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-information.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2079,61 +1289,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_set_information (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *information</code></em>);</pre>
-<p>Set the information in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-set-information.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>information</p></td>
-<td class="parameter_description"><p>the information</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-set-information.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-get-uri"></a><h3>gst_sdp_message_get_uri ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_get_uri (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the URI in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-uri.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2141,62 +1302,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_set_uri (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
-<p>Set the URI in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-set-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uri</p></td>
-<td class="parameter_description"><p>the URI</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-set-uri.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-emails-len"></a><h3>gst_sdp_message_emails_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_message_emails_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of emails in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-emails-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-emails-len.returns"></a><h4>Returns</h4>
-<p> the number of emails in <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2204,36 +1315,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_get_email (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the email with number <em class="parameter"><code>idx</code></em>
- from <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-email.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an email index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-email.returns"></a><h4>Returns</h4>
-<p> the email at position <em class="parameter"><code>idx</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2242,44 +1323,6 @@
 gst_sdp_message_insert_email (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *email</code></em>);</pre>
-<p>Insert <em class="parameter"><code>email</code></em>
- into the array of emails in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.
-When -1 is given as <em class="parameter"><code>idx</code></em>
-, the email is inserted at the end.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-email.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>email</p></td>
-<td class="parameter_description"><p>an email</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-email.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2288,42 +1331,6 @@
 gst_sdp_message_replace_email (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *email</code></em>);</pre>
-<p>Replace the email in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>email</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-email.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an email index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>email</p></td>
-<td class="parameter_description"><p>an email</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-email.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2331,36 +1338,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_remove_email (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the email in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-email.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an email index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-email.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2368,63 +1345,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_add_email (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *email</code></em>);</pre>
-<p>Add <em class="parameter"><code>email</code></em>
- to the list of emails in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-add-email.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>email</p></td>
-<td class="parameter_description"><p>an email</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-add-email.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-phones-len"></a><h3>gst_sdp_message_phones_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_message_phones_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of phones in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-phones-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-phones-len.returns"></a><h4>Returns</h4>
-<p> the number of phones in <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2432,36 +1358,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_get_phone (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the phone with number <em class="parameter"><code>idx</code></em>
- from <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-phone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>a phone index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-phone.returns"></a><h4>Returns</h4>
-<p> the phone at position <em class="parameter"><code>idx</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2470,44 +1366,6 @@
 gst_sdp_message_insert_phone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *phone</code></em>);</pre>
-<p>Insert <em class="parameter"><code>phone</code></em>
- into the array of phone numbers in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.
-When -1 is given as <em class="parameter"><code>idx</code></em>
-, the phone is inserted at the end.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-phone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>a phone index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>phone</p></td>
-<td class="parameter_description"><p>a phone</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-phone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2516,42 +1374,6 @@
 gst_sdp_message_replace_phone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *phone</code></em>);</pre>
-<p>Replace the phone number in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>phone</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-phone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>a phone index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>phone</p></td>
-<td class="parameter_description"><p>a phone</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-phone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2559,36 +1381,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_remove_phone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the phone number in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-phone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>a phone index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-phone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2596,63 +1388,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_add_phone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *phone</code></em>);</pre>
-<p>Add <em class="parameter"><code>phone</code></em>
- to the list of phones in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-add-phone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>phone</p></td>
-<td class="parameter_description"><p>a phone</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-add-phone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-get-connection"></a><h3>gst_sdp_message_get_connection ()</h3>
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="returnvalue">GstSDPConnection</span></a> *
 gst_sdp_message_get_connection (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the connection of <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-connection.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-connection.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a>. The result remains valid as long as <em class="parameter"><code>msg</code></em>
-is valid.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2664,83 +1405,12 @@
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *address</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> ttl</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> addr_number</code></em>);</pre>
-<p>Configure the SDP connection in <em class="parameter"><code>msg</code></em>
- with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-set-connection.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nettype</p></td>
-<td class="parameter_description"><p>the type of network. "IN" is defined to have the meaning
-"Internet".</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addrtype</p></td>
-<td class="parameter_description"><p>the type of address.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>address</p></td>
-<td class="parameter_description"><p>the address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ttl</p></td>
-<td class="parameter_description"><p>the time to live of the address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addr_number</p></td>
-<td class="parameter_description"><p>the number of layers</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-set-connection.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-bandwidths-len"></a><h3>gst_sdp_message_bandwidths_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_message_bandwidths_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of bandwidth information in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-bandwidths-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-bandwidths-len.returns"></a><h4>Returns</h4>
-<p> the number of bandwidth information in <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2748,35 +1418,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="returnvalue">GstSDPBandwidth</span></a> *
 gst_sdp_message_get_bandwidth (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the bandwidth at index <em class="parameter"><code>idx</code></em>
- from <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the bandwidth index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-bandwidth.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2785,44 +1426,6 @@
 gst_sdp_message_insert_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> *bw</code></em>);</pre>
-<p>Insert bandwidth parameters into the array of bandwidths in <em class="parameter"><code>msg</code></em>
-
-at index <em class="parameter"><code>idx</code></em>
-.
-When -1 is given as <em class="parameter"><code>idx</code></em>
-, the bandwidth is inserted at the end.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bw</p></td>
-<td class="parameter_description"><p>the bandwidth</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-bandwidth.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2831,42 +1434,6 @@
 gst_sdp_message_replace_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                    <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> *bw</code></em>);</pre>
-<p>Replace the bandwidth information in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>bw</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the bandwidth index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bw</p></td>
-<td class="parameter_description"><p>the bandwidth</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-bandwidth.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2874,36 +1441,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_remove_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the bandwidth information in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the bandwidth index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-bandwidth.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2912,67 +1449,12 @@
 gst_sdp_message_add_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bwtype</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> bandwidth</code></em>);</pre>
-<p>Add the specified bandwidth information to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-add-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bwtype</p></td>
-<td class="parameter_description"><p>the bandwidth modifier type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bandwidth</p></td>
-<td class="parameter_description"><p>the bandwidth in kilobits per second</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-add-bandwidth.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-times-len"></a><h3>gst_sdp_message_times_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_message_times_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of time information entries in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-times-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-times-len.returns"></a><h4>Returns</h4>
-<p> the number of time information entries in <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2980,35 +1462,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="returnvalue">GstSDPTime</span></a> *
 gst_sdp_message_get_time (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get time information with index <em class="parameter"><code>idx</code></em>
- from <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-time.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the time index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-time.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3017,44 +1470,6 @@
 gst_sdp_message_insert_time (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a> *t</code></em>);</pre>
-<p>Insert time parameters into the array of times in <em class="parameter"><code>msg</code></em>
-
-at index <em class="parameter"><code>idx</code></em>
-.
-When -1 is given as <em class="parameter"><code>idx</code></em>
-, the times are inserted at the end.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-time.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>t</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-time.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3063,42 +1478,6 @@
 gst_sdp_message_replace_time (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a> *t</code></em>);</pre>
-<p>Replace the time information in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>t</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-time.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>t</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-time.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3106,36 +1485,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_remove_time (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the time information in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-time.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-time.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3145,74 +1494,12 @@
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *start</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stop</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **repeat</code></em>);</pre>
-<p>Add time information <em class="parameter"><code>start</code></em>
- and <em class="parameter"><code>stop</code></em>
- to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-add-time.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>start</p></td>
-<td class="parameter_description"><p>the start time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stop</p></td>
-<td class="parameter_description"><p>the stop time</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>repeat</p></td>
-<td class="parameter_description"><p> the repeat times. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-add-time.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-zones-len"></a><h3>gst_sdp_message_zones_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_message_zones_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of time zone information entries in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-zones-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-zones-len.returns"></a><h4>Returns</h4>
-<p> the number of time zone information entries in <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3220,35 +1507,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="returnvalue">GstSDPZone</span></a> *
 gst_sdp_message_get_zone (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get time zone information with index <em class="parameter"><code>idx</code></em>
- from <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-zone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the zone index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-zone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3257,41 +1515,6 @@
 gst_sdp_message_insert_zone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a> *zone</code></em>);</pre>
-<p>Insert zone parameters into the array of zones in <em class="parameter"><code>msg</code></em>
-
-at index <em class="parameter"><code>idx</code></em>
-.
-When -1 is given as <em class="parameter"><code>idx</code></em>
-, the zone is inserted at the end.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-zone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index
-<em class="parameter"><code>zone</code></em>
-a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-zone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3300,42 +1523,6 @@
 gst_sdp_message_replace_zone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a> *zone</code></em>);</pre>
-<p>Replace the zone information in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>zone</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-zone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>zone</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-zone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3343,36 +1530,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_remove_zone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the zone information in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-zone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-zone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3381,66 +1538,12 @@
 gst_sdp_message_add_zone (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *adj_time</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *typed_time</code></em>);</pre>
-<p>Add time zone information to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-add-zone.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>adj_time</p></td>
-<td class="parameter_description"><p>the NTP time that a time zone adjustment happens</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>typed_time</p></td>
-<td class="parameter_description"><p>the offset from the time when the session was first scheduled</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-add-zone.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-get-key"></a><h3>gst_sdp_message_get_key ()</h3>
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey" title="GstSDPKey"><span class="returnvalue">GstSDPKey</span></a> *
 gst_sdp_message_get_key (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the encryption information from <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-key.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-key.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey" title="GstSDPKey"><span class="type">GstSDPKey</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3449,67 +1552,12 @@
 gst_sdp_message_set_key (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *data</code></em>);</pre>
-<p>Adds the encryption information to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-set-key.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the encryption type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>the encryption data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-set-key.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-attributes-len"></a><h3>gst_sdp_message_attributes_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_message_attributes_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of attributes in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-attributes-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-attributes-len.returns"></a><h4>Returns</h4>
-<p> the number of attributes in <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3517,36 +1565,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="returnvalue">GstSDPAttribute</span></a> *
 gst_sdp_message_get_attribute (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the attribute at position <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-attribute.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> at position <em class="parameter"><code>idx</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3554,36 +1572,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_message_get_attribute_val (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                    <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
-<p>Get the first attribute with key <em class="parameter"><code>key</code></em>
- in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-attribute-val.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>the key</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-attribute-val.returns"></a><h4>Returns</h4>
-<p> the attribute value of the first attribute with <em class="parameter"><code>key</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3592,43 +1580,6 @@
 gst_sdp_message_get_attribute_val_n (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                      <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</code></em>);</pre>
-<p>Get the <em class="parameter"><code>nth</code></em>
- attribute with key <em class="parameter"><code>key</code></em>
- in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-attribute-val-n.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>the key</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-attribute-val-n.returns"></a><h4>Returns</h4>
-<p> the attribute value of the <em class="parameter"><code>nth</code></em>
-attribute with <em class="parameter"><code>key</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3637,44 +1588,6 @@
 gst_sdp_message_insert_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> *attr</code></em>);</pre>
-<p>Insert attribute into the array of attributes in <em class="parameter"><code>msg</code></em>
-
-at index <em class="parameter"><code>idx</code></em>
-.
-When -1 is given as <em class="parameter"><code>idx</code></em>
-, the attribute is inserted at the end.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>attr</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-insert-attribute.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3683,42 +1596,6 @@
 gst_sdp_message_replace_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                    <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> *attr</code></em>);</pre>
-<p>Replace the attribute in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>attr</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>attr</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-replace-attribute.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3726,36 +1603,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_remove_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the attribute in <em class="parameter"><code>msg</code></em>
- at index <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-remove-attribute.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3764,70 +1611,12 @@
 gst_sdp_message_add_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Add the attribute with <em class="parameter"><code>key</code></em>
- and <em class="parameter"><code>value</code></em>
- to <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-add-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>the key</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>the value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-add-attribute.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>GST_SDP_OK</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-medias-len"></a><h3>gst_sdp_message_medias_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_message_medias_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Get the number of media descriptions in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-medias-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-medias-len.returns"></a><h4>Returns</h4>
-<p> the number of media descriptions in <em class="parameter"><code>msg</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3835,35 +1624,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="returnvalue">GstSDPMedia</span></a> *
 gst_sdp_message_get_media (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the media description at index <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>msg</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-get-media.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>the index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-get-media.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3871,93 +1631,18 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_add_media (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Adds <em class="parameter"><code>media</code></em>
- to the array of medias in <em class="parameter"><code>msg</code></em>
-. This function takes ownership of
-the contents of <em class="parameter"><code>media</code></em>
- so that <em class="parameter"><code>media</code></em>
- will have to be reinitialized with
-<a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-init" title="gst_sdp_media_init ()"><code class="function">gst_sdp_media_init()</code></a> before it can be used again.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-add-media.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> to add</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-add-media.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-message-dump"></a><h3>gst_sdp_message_dump ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_dump (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>);</pre>
-<p>Dump the parsed contents of <em class="parameter"><code>msg</code></em>
- to stdout.</p>
-<div class="refsect3">
-<a name="gst-sdp-message-dump.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-dump.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-new"></a><h3>gst_sdp_media_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> **media</code></em>);</pre>
-<p>Allocate a new GstSDPMedia and store the result in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p> pointer to new <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-new.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3965,185 +1650,36 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> **copy</code></em>);</pre>
-<p>Allocate a new copy of <em class="parameter"><code>media</code></em>
- and store the result in <em class="parameter"><code>copy</code></em>
-. The value in
-<em class="parameter"><code>copy</code></em>
- should be release with gst_sdp_media_free function.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>copy</p></td>
-<td class="parameter_description"><p> pointer to new <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-copy.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a></p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-init"></a><h3>gst_sdp_media_init ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Initialize <em class="parameter"><code>media</code></em>
- so that its contents are as if it was freshly allocated
-with <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-new" title="gst_sdp_media_new ()"><code class="function">gst_sdp_media_new()</code></a>. This function is mostly used to initialize a media
-allocated on the stack. <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-uninit" title="gst_sdp_media_uninit ()"><code class="function">gst_sdp_media_uninit()</code></a> undoes this operation.</p>
-<p>When this function is invoked on newly allocated data (with malloc or on the
-stack), its contents should be set to 0 before calling this function.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-init.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-init.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-uninit"></a><h3>gst_sdp_media_uninit ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_uninit (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Free all resources allocated in <em class="parameter"><code>media</code></em>
-. <em class="parameter"><code>media</code></em>
- should not be used anymore after
-this function. This function should be used when <em class="parameter"><code>media</code></em>
- was allocated on the
-stack and initialized with <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-init" title="gst_sdp_media_init ()"><code class="function">gst_sdp_media_init()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-uninit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-uninit.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-free"></a><h3>gst_sdp_media_free ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Free all resources allocated by <em class="parameter"><code>media</code></em>
-. <em class="parameter"><code>media</code></em>
- should not be used anymore after
-this function. This function should be used when <em class="parameter"><code>media</code></em>
- was dynamically
-allocated with <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#gst-sdp-media-new" title="gst_sdp_media_new ()"><code class="function">gst_sdp_media_new()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-free.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-as-text"></a><h3>gst_sdp_media_as_text ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_media_as_text (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Convert the contents of <em class="parameter"><code>media</code></em>
- to a text string.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-as-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-as-text.returns"></a><h4>Returns</h4>
-<p> A dynamically allocated string representing the media.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-get-media"></a><h3>gst_sdp_media_get_media ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_media_get_media (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the media description of <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-media.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-media.returns"></a><h4>Returns</h4>
-<p> the media description.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4151,91 +1687,18 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_set_media (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *med</code></em>);</pre>
-<p>Set the media description of <em class="parameter"><code>media</code></em>
- to <em class="parameter"><code>med</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-set-media.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>med</p></td>
-<td class="parameter_description"><p>the media description</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-set-media.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-get-port"></a><h3>gst_sdp_media_get_port ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_media_get_port (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the port number for <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-port.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-port.returns"></a><h4>Returns</h4>
-<p> the port number of <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-get-num-ports"></a><h3>gst_sdp_media_get_num_ports ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_media_get_num_ports (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the number of ports for <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-num-ports.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-num-ports.returns"></a><h4>Returns</h4>
-<p> the number of ports for <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4244,67 +1707,12 @@
 gst_sdp_media_set_port_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> num_ports</code></em>);</pre>
-<p>Set the port information in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-set-port-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>port</p></td>
-<td class="parameter_description"><p>the port number</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>num_ports</p></td>
-<td class="parameter_description"><p>the number of ports</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-set-port-info.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-get-proto"></a><h3>gst_sdp_media_get_proto ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_media_get_proto (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the transport protocol of <em class="parameter"><code>media</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-proto.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-proto.returns"></a><h4>Returns</h4>
-<p> the transport protocol of <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4312,63 +1720,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_set_proto (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                          <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *proto</code></em>);</pre>
-<p>Set the media transport protocol of <em class="parameter"><code>media</code></em>
- to <em class="parameter"><code>proto</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-set-proto.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>proto</p></td>
-<td class="parameter_description"><p>the media transport protocol</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-set-proto.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-formats-len"></a><h3>gst_sdp_media_formats_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_media_formats_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the number of formats in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-formats-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-formats-len.returns"></a><h4>Returns</h4>
-<p> the number of formats in <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4376,36 +1733,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_media_get_format (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the format information at position <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-format.returns"></a><h4>Returns</h4>
-<p> the format at position <em class="parameter"><code>idx</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4414,43 +1741,6 @@
 gst_sdp_media_insert_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format</code></em>);</pre>
-<p>Insert the format information to <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-. When <em class="parameter"><code>idx</code></em>
- is -1,
-the format is appended.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-format.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4459,42 +1749,6 @@
 gst_sdp_media_replace_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format</code></em>);</pre>
-<p>Replace the format information in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>format</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-format.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4502,36 +1756,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_remove_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the format information in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-format.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4539,62 +1763,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_add_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format</code></em>);</pre>
-<p>Add the format information to <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-add-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-add-format.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-get-information"></a><h3>gst_sdp_media_get_information ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_media_get_information (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the information of <em class="parameter"><code>media</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-information.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-information.returns"></a><h4>Returns</h4>
-<p> the information of <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4602,63 +1776,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_set_information (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *information</code></em>);</pre>
-<p>Set the media information of <em class="parameter"><code>media</code></em>
- to <em class="parameter"><code>information</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-set-information.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>information</p></td>
-<td class="parameter_description"><p>the media information</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-set-information.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-connections-len"></a><h3>gst_sdp_media_connections_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_media_connections_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the number of connection fields in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-connections-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-connections-len.returns"></a><h4>Returns</h4>
-<p> the number of connections in <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4666,36 +1789,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="returnvalue">GstSDPConnection</span></a> *
 gst_sdp_media_get_connection (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the connection at position <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-connection.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-connection.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a> at position <em class="parameter"><code>idx</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4704,43 +1797,6 @@
 gst_sdp_media_insert_connection (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a> *conn</code></em>);</pre>
-<p>Insert the connection information to <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-. When <em class="parameter"><code>idx</code></em>
- is -1,
-the connection is appended.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-connection.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>conn</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-connection.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4749,42 +1805,6 @@
 gst_sdp_media_replace_connection (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a> *conn</code></em>);</pre>
-<p>Replace the connection information in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>conn</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-connection.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>conn</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-connection.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4792,36 +1812,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_remove_connection (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the connection information in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-connection.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-connection.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4833,83 +1823,12 @@
                               <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *address</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> ttl</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> addr_number</code></em>);</pre>
-<p>Add the given connection parameters to <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-add-connection.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nettype</p></td>
-<td class="parameter_description"><p>the type of network. "IN" is defined to have the meaning
-"Internet".</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addrtype</p></td>
-<td class="parameter_description"><p>the type of address.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>address</p></td>
-<td class="parameter_description"><p>the address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>ttl</p></td>
-<td class="parameter_description"><p>the time to live of the address</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>addr_number</p></td>
-<td class="parameter_description"><p>the number of layers</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-add-connection.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-bandwidths-len"></a><h3>gst_sdp_media_bandwidths_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_media_bandwidths_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the number of bandwidth fields in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-bandwidths-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-bandwidths-len.returns"></a><h4>Returns</h4>
-<p> the number of bandwidths in <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4917,36 +1836,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="returnvalue">GstSDPBandwidth</span></a> *
 gst_sdp_media_get_bandwidth (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the bandwidth at position <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-bandwidth.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> at position <em class="parameter"><code>idx</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4955,43 +1844,6 @@
 gst_sdp_media_insert_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> *bw</code></em>);</pre>
-<p>Insert the bandwidth information to <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-. When <em class="parameter"><code>idx</code></em>
- is -1,
-the bandwidth is appended.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bw</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-bandwidth.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5000,42 +1852,6 @@
 gst_sdp_media_replace_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> *bw</code></em>);</pre>
-<p>Replace the bandwidth information in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>bw</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bw</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-bandwidth.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5043,36 +1859,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_remove_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the bandwidth information in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-bandwidth.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5081,68 +1867,12 @@
 gst_sdp_media_add_bandwidth (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bwtype</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> bandwidth</code></em>);</pre>
-<p>Add the bandwidth information with <em class="parameter"><code>bwtype</code></em>
- and <em class="parameter"><code>bandwidth</code></em>
- to <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-add-bandwidth.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bwtype</p></td>
-<td class="parameter_description"><p>the bandwidth modifier type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bandwidth</p></td>
-<td class="parameter_description"><p>the bandwidth in kilobits per second</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-add-bandwidth.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-get-key"></a><h3>gst_sdp_media_get_key ()</h3>
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey" title="GstSDPKey"><span class="returnvalue">GstSDPKey</span></a> *
 gst_sdp_media_get_key (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the encryption information from <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-key.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-key.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey" title="GstSDPKey"><span class="type">GstSDPKey</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5151,67 +1881,12 @@
 gst_sdp_media_set_key (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                        <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
                        <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *data</code></em>);</pre>
-<p>Adds the encryption information to <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-set-key.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the encryption type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>the encryption data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-set-key.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-sdp-media-attributes-len"></a><h3>gst_sdp_media_attributes_len ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_sdp_media_attributes_len (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Get the number of attribute fields in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-attributes-len.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-attributes-len.returns"></a><h4>Returns</h4>
-<p> the number of attributes in <em class="parameter"><code>media</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5219,36 +1894,6 @@
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="returnvalue">GstSDPAttribute</span></a> *
 gst_sdp_media_get_attribute (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Get the attribute at position <em class="parameter"><code>idx</code></em>
- in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-attribute.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> at position <em class="parameter"><code>idx</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5256,36 +1901,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_media_get_attribute_val (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
-<p>Get the first attribute value for <em class="parameter"><code>key</code></em>
- in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-attribute-val.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>a key</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-attribute-val.returns"></a><h4>Returns</h4>
-<p> the first attribute value for <em class="parameter"><code>key</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5294,42 +1909,6 @@
 gst_sdp_media_get_attribute_val_n (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                    <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</code></em>);</pre>
-<p>Get the <em class="parameter"><code>nth</code></em>
- attribute value for <em class="parameter"><code>key</code></em>
- in <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-attribute-val-n.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>a key</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>nth</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-attribute-val-n.returns"></a><h4>Returns</h4>
-<p> the <em class="parameter"><code>nth</code></em>
-attribute value.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5338,43 +1917,6 @@
 gst_sdp_media_insert_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> idx</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> *attr</code></em>);</pre>
-<p>Insert the attribute to <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-. When <em class="parameter"><code>idx</code></em>
- is -1,
-the attribute is appended.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>attr</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-insert-attribute.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5383,42 +1925,6 @@
 gst_sdp_media_replace_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> *attr</code></em>);</pre>
-<p>Replace the attribute in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
- with <em class="parameter"><code>attr</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>attr</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-replace-attribute.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5426,36 +1932,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_remove_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> idx</code></em>);</pre>
-<p>Remove the attribute in <em class="parameter"><code>media</code></em>
- at <em class="parameter"><code>idx</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>idx</p></td>
-<td class="parameter_description"><p>an index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-remove-attribute.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5464,41 +1940,6 @@
 gst_sdp_media_add_attribute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Add the attribute with <em class="parameter"><code>key</code></em>
- and <em class="parameter"><code>value</code></em>
- to <em class="parameter"><code>media</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-sdp-media-add-attribute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>a key</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>a value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-add-attribute.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GST-SDP-OK:CAPS"><span class="type">GST_SDP_OK</span></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5506,37 +1947,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_sdp_media_get_caps_from_media (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> pt</code></em>);</pre>
-<p>Mapping of caps from SDP fields:</p>
-<p>a=rtpmap:(payload) (encoding_name)/(clock_rate)[/(encoding_params)]</p>
-<p>a=framesize:(payload) (width)-(height)</p>
-<p>a=fmtp:(payload) (param)[=(value)];...</p>
-<div class="refsect3">
-<a name="gst-sdp-media-get-caps-from-media.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>pt</p></td>
-<td class="parameter_description"><p>a payload type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-get-caps-from-media.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error happened</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5544,37 +1954,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_set_media_from_caps (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>,
                                    <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>);</pre>
-<p>Mapping of caps to SDP fields:</p>
-<p>a=rtpmap:(payload) (encoding_name) or (clock_rate)[or (encoding_params)]</p>
-<p>a=framesize:(payload) (width)-(height)</p>
-<p>a=fmtp:(payload) (param)[=(value)];...</p>
-<div class="refsect3">
-<a name="gst-sdp-media-set-media-from-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-set-media-from-caps.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5582,35 +1961,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_sdp_make_keymgmt (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *base64</code></em>);</pre>
-<p>Makes key management data</p>
-<div class="refsect3">
-<a name="gst-sdp-make-keymgmt.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>uri</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> URI</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>base64</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> base64-encoded key data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-make-keymgmt.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> key-mgmt data,. </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.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5618,34 +1968,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_message_attributes_to_caps (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> *msg</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Mapping of attributes of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a> to <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p>
-<div class="refsect3">
-<a name="gst-sdp-message-attributes-to-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMessage" title="GstSDPMessage"><span class="type">GstSDPMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-message-attributes-to-caps.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5653,41 +1975,12 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="returnvalue">GstSDPResult</span></a>
 gst_sdp_media_attributes_to_caps (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> *media</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Mapping of attributes of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> to <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p>
-<div class="refsect3">
-<a name="gst-sdp-media-attributes-to-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>media</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-sdp-media-attributes-to-caps.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPResult" title="enum GstSDPResult"><span class="type">GstSDPResult</span></a>.</p>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstsdpmessage.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstSDPResult"></a><h3>enum GstSDPResult</h3>
-<p>Return values for the SDP functions.</p>
 <div class="refsect3">
 <a name="GstSDPResult.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5699,17 +1992,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SDP-OK:CAPS"></a>GST_SDP_OK</p></td>
-<td class="enum_member_description">
-<p>A successful return value</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-SDP-EINVAL:CAPS"></a>GST_SDP_EINVAL</p></td>
-<td class="enum_member_description">
-<p>a function was given invalid parameters</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5727,62 +2016,6 @@
   gchar *addr;
 } GstSDPOrigin;
 </pre>
-<p>The contents of the SDP "o=" field which gives the originator of the session
-(their username and the address of the user's host) plus a session id and
-session version number.</p>
-<div class="refsect3">
-<a name="GstSDPOrigin.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPOrigin.username"></a>username</code></em>;</p></td>
-<td class="struct_member_description"><p>the user's login on the originating host, or it is "-"
-if the originating host does not support the concept of user ids.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPOrigin.sess-id"></a>sess_id</code></em>;</p></td>
-<td class="struct_member_description"><p>is a numeric string such that the tuple of <em class="parameter"><code>username</code></em>
-, <em class="parameter"><code>sess_id</code></em>
-,
-<em class="parameter"><code>nettype</code></em>
-, <em class="parameter"><code>addrtype</code></em>
-and <em class="parameter"><code>addr</code></em>
-form a globally unique identifier for the
-session.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPOrigin.sess-version"></a>sess_version</code></em>;</p></td>
-<td class="struct_member_description"><p>a version number for this announcement</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPOrigin.nettype"></a>nettype</code></em>;</p></td>
-<td class="struct_member_description"><p>the type of network. "IN" is defined to have the meaning
-"Internet".</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPOrigin.addrtype"></a>addrtype</code></em>;</p></td>
-<td class="struct_member_description"><p>the type of <em class="parameter"><code>addr</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPOrigin.addr"></a>addr</code></em>;</p></td>
-<td class="struct_member_description"><p>the globally unique address of the machine from which the session was
-created.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5795,88 +2028,42 @@
   guint  addr_number;
 } GstSDPConnection;
 </pre>
-<p>The contents of the SDP "c=" field which contains connection data.</p>
-<div class="refsect3">
-<a name="GstSDPConnection.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPConnection.nettype"></a>nettype</code></em>;</p></td>
-<td class="struct_member_description"><p>the type of network. "IN" is defined to have the meaning
-"Internet".</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPConnection.addrtype"></a>addrtype</code></em>;</p></td>
-<td class="struct_member_description"><p>the type of <em class="parameter"><code>address</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPConnection.address"></a>address</code></em>;</p></td>
-<td class="struct_member_description"><p>the address</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstSDPConnection.ttl"></a>ttl</code></em>;</p></td>
-<td class="struct_member_description"><p>the time to live of the address</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstSDPConnection.addr-number"></a>addr_number</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of layers</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-SDP-BWTYPE-CT:CAPS"></a><h3>GST_SDP_BWTYPE_CT</h3>
 <pre class="programlisting">#define GST_SDP_BWTYPE_CT               "CT"
 </pre>
-<p>The Conference Total bandwidth modifier.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-SDP-BWTYPE-AS:CAPS"></a><h3>GST_SDP_BWTYPE_AS</h3>
 <pre class="programlisting">#define GST_SDP_BWTYPE_AS               "AS"
 </pre>
-<p>The Application-Specific Maximum bandwidth modifier.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-SDP-BWTYPE-EXT-PREFIX:CAPS"></a><h3>GST_SDP_BWTYPE_EXT_PREFIX</h3>
 <pre class="programlisting">#define GST_SDP_BWTYPE_EXT_PREFIX       "X-"
 </pre>
-<p>The extension prefix bandwidth modifier.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-SDP-BWTYPE-RR:CAPS"></a><h3>GST_SDP_BWTYPE_RR</h3>
 <pre class="programlisting">#define GST_SDP_BWTYPE_RR               "RR"
 </pre>
-<p>RTCP bandwidth allocated to data receivers (RFC 3556).</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-SDP-BWTYPE-RS:CAPS"></a><h3>GST_SDP_BWTYPE_RS</h3>
 <pre class="programlisting">#define GST_SDP_BWTYPE_RS               "RS"
 </pre>
-<p>RTCP bandwidth allocated to active data senders (RFC 3556).</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-SDP-BWTYPE-TIAS:CAPS"></a><h3>GST_SDP_BWTYPE_TIAS</h3>
 <pre class="programlisting">#define GST_SDP_BWTYPE_TIAS             "TIAS"
 </pre>
-<p>Transport Independent Application Specific Maximum bandwidth (RFC 3890).</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5886,30 +2073,6 @@
   guint  bandwidth;
 } GstSDPBandwidth;
 </pre>
-<p>The contents of the SDP "b=" field which specifies the proposed bandwidth to
-be used by the session or media.</p>
-<div class="refsect3">
-<a name="GstSDPBandwidth.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPBandwidth.bwtype"></a>bwtype</code></em>;</p></td>
-<td class="struct_member_description"><p>the bandwidth modifier type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstSDPBandwidth.bandwidth"></a>bandwidth</code></em>;</p></td>
-<td class="struct_member_description"><p>the bandwidth in kilobits per second</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5920,37 +2083,6 @@
   GArray *repeat;
 } GstSDPTime;
 </pre>
-<p>The contents of the SDP "t=" field which specify the start and stop times for
-a conference session.</p>
-<div class="refsect3">
-<a name="GstSDPTime.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPTime.start"></a>start</code></em>;</p></td>
-<td class="struct_member_description"><p>start time for the conference. The value is the decimal
-representation of Network Time Protocol (NTP) time values in seconds</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPTime.stop"></a>stop</code></em>;</p></td>
-<td class="struct_member_description"><p>stop time for the conference. The value is the decimal
-representation of Network Time Protocol (NTP) time values in seconds</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPTime.repeat"></a>repeat</code></em>;</p></td>
-<td class="struct_member_description"><p>repeat times for a session</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5960,31 +2092,6 @@
   gchar *typed_time;
 } GstSDPZone;
 </pre>
-<p>The contents of the SDP "z=" field which allows the sender to
-specify a list of time zone adjustments and offsets from the base
-time.</p>
-<div class="refsect3">
-<a name="GstSDPZone.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPZone.time"></a>time</code></em>;</p></td>
-<td class="struct_member_description"><p>the NTP time that a time zone adjustment happens</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPZone.typed-time"></a>typed_time</code></em>;</p></td>
-<td class="struct_member_description"><p>the offset from the time when the session was first scheduled</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5994,30 +2101,6 @@
   gchar *data;
 } GstSDPKey;
 </pre>
-<p>The contents of the SDP "k=" field which is used to convey encryption
-keys.</p>
-<div class="refsect3">
-<a name="GstSDPKey.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPKey.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>the encryption type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPKey.data"></a>data</code></em>;</p></td>
-<td class="struct_member_description"><p>the encryption data</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -6027,29 +2110,6 @@
   gchar *value;
 } GstSDPAttribute;
 </pre>
-<p>The contents of the SDP "a=" field which contains a key/value pair.</p>
-<div class="refsect3">
-<a name="GstSDPAttribute.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPAttribute.key"></a>key</code></em>;</p></td>
-<td class="struct_member_description"><p>the attribute key</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPAttribute.value"></a>value</code></em>;</p></td>
-<td class="struct_member_description"><p>the attribute value or NULL when it was a property attribute</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -6067,69 +2127,6 @@
   GArray           *attributes;
 } GstSDPMedia;
 </pre>
-<p>The contents of the SDP "m=" field with all related fields.</p>
-<div class="refsect3">
-<a name="GstSDPMedia.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPMedia.media"></a>media</code></em>;</p></td>
-<td class="struct_member_description"><p>the media type</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstSDPMedia.port"></a>port</code></em>;</p></td>
-<td class="struct_member_description"><p>the transport port to which the media stream will be sent</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstSDPMedia.num-ports"></a>num_ports</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of ports or -1 if only one port was specified</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPMedia.proto"></a>proto</code></em>;</p></td>
-<td class="struct_member_description"><p>the transport protocol</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMedia.fmts"></a>fmts</code></em>;</p></td>
-<td class="struct_member_description"><p>an array of <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> formats</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPMedia.information"></a>information</code></em>;</p></td>
-<td class="struct_member_description"><p>the media title</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMedia.connections"></a>connections</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a> with media connection information</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMedia.bandwidths"></a>bandwidths</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> with media bandwidth information</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey" title="GstSDPKey"><span class="type">GstSDPKey</span></a> <em class="structfield"><code><a name="GstSDPMedia.key"></a>key</code></em>;</p></td>
-<td class="struct_member_description"><p>the encryption key</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMedia.attributes"></a>attributes</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> with the additional media attributes</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -6151,89 +2148,6 @@
   GArray           *medias;
 } GstSDPMessage;
 </pre>
-<p>The contents of the SDP message.</p>
-<div class="refsect3">
-<a name="GstSDPMessage.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPMessage.version"></a>version</code></em>;</p></td>
-<td class="struct_member_description"><p>the protocol version</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPOrigin" title="GstSDPOrigin"><span class="type">GstSDPOrigin</span></a> <em class="structfield"><code><a name="GstSDPMessage.origin"></a>origin</code></em>;</p></td>
-<td class="struct_member_description"><p>owner/creator and session identifier</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPMessage.session-name"></a>session_name</code></em>;</p></td>
-<td class="struct_member_description"><p>session name</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPMessage.information"></a>information</code></em>;</p></td>
-<td class="struct_member_description"><p>session information</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstSDPMessage.uri"></a>uri</code></em>;</p></td>
-<td class="struct_member_description"><p>URI of description</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMessage.emails"></a>emails</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> with email addresses</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMessage.phones"></a>phones</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> with phone numbers</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPConnection" title="GstSDPConnection"><span class="type">GstSDPConnection</span></a> <em class="structfield"><code><a name="GstSDPMessage.connection"></a>connection</code></em>;</p></td>
-<td class="struct_member_description"><p>connection information for the session</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMessage.bandwidths"></a>bandwidths</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPBandwidth" title="GstSDPBandwidth"><span class="type">GstSDPBandwidth</span></a> with bandwidth information</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMessage.times"></a>times</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPTime" title="GstSDPTime"><span class="type">GstSDPTime</span></a> with time descriptions</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMessage.zones"></a>zones</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPZone" title="GstSDPZone"><span class="type">GstSDPZone</span></a> with time zone adjustments</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPKey" title="GstSDPKey"><span class="type">GstSDPKey</span></a> <em class="structfield"><code><a name="GstSDPMessage.key"></a>key</code></em>;</p></td>
-<td class="struct_member_description"><p>encryption key</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMessage.attributes"></a>attributes</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPAttribute" title="GstSDPAttribute"><span class="type">GstSDPAttribute</span></a> with session attributes</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> *<em class="structfield"><code><a name="GstSDPMessage.medias"></a>medias</code></em>;</p></td>
-<td class="struct_member_description"><p>array of <a class="link" href="gst-plugins-base-libs-gstsdpmessage.html#GstSDPMedia" title="GstSDPMedia"><span class="type">GstSDPMedia</span></a> with media descriptions</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html b/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html
index 9f6af5d..7b41f32 100644
--- a/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html
+++ b/docs/libs/html/gst-plugins-base-libs-gststreamvolume.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gststreamvolume.top_of_page"></a>gststreamvolume</span></h2>
-<p>gststreamvolume — Interface for elements that provide a stream volume</p>
+<p>gststreamvolume</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -145,28 +145,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gststreamvolume.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.6.19.10.2"></a><p>
-This interface is implemented by elements that provide a stream volume. Examples for
-such elements are <span class="type">volume</span> and <span class="type">playbin</span>.
-</p>
-<p>
-Applications can use this interface to get or set the current stream volume. For this
-the "volume" <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property can be used or the helper functions <a class="link" href="gst-plugins-base-libs-gststreamvolume.html#gst-stream-volume-set-volume" title="gst_stream_volume_set_volume ()"><code class="function">gst_stream_volume_set_volume()</code></a>
-and <a class="link" href="gst-plugins-base-libs-gststreamvolume.html#gst-stream-volume-get-volume" title="gst_stream_volume_get_volume ()"><code class="function">gst_stream_volume_get_volume()</code></a>. This volume is always a linear factor, i.e. 0.0 is muted
-1.0 is 100%. For showing the volume in a GUI it might make sense to convert it to
-a different format by using <a class="link" href="gst-plugins-base-libs-gststreamvolume.html#gst-stream-volume-convert-volume" title="gst_stream_volume_convert_volume ()"><code class="function">gst_stream_volume_convert_volume()</code></a>. Volume sliders should usually
-use a cubic volume.
-
-Separate from the volume the stream can also be muted by the "mute" <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property or
-<a class="link" href="gst-plugins-base-libs-gststreamvolume.html#gst-stream-volume-set-mute" title="gst_stream_volume_set_mute ()"><code class="function">gst_stream_volume_set_mute()</code></a> and <a class="link" href="gst-plugins-base-libs-gststreamvolume.html#gst-stream-volume-get-mute" title="gst_stream_volume_get_mute ()"><code class="function">gst_stream_volume_get_mute()</code></a>.
-</p>
-<p>
-Elements that provide some kind of stream volume should implement the "volume" and
-"mute" <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> properties and handle setting and getting of them properly.
-The volume property is defined to be a linear volume factor.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gststreamvolume.functions_details"></a><h2>Functions</h2>
@@ -175,32 +153,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 gst_stream_volume_get_volume (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> *volume</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> format</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-stream-volume-get-volume.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>volume</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> that should be used</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> which should be returned</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-stream-volume-get-volume.returns"></a><h4>Returns</h4>
-<p> The current stream volume as linear factor</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -209,59 +161,12 @@
 gst_stream_volume_set_volume (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> *volume</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> format</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> val</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-stream-volume-set-volume.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>volume</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> that should be used</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> of <em class="parameter"><code>val</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>val</p></td>
-<td class="parameter_description"><p>Linear volume factor that should be set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-stream-volume-get-mute"></a><h3>gst_stream_volume_get_mute ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_stream_volume_get_mute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> *volume</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-stream-volume-get-mute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>volume</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> that should be used</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-stream-volume-get-mute.returns"></a><h4>Returns</h4>
-<p> Returns <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the stream is muted</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -269,28 +174,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_stream_volume_set_mute (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> *volume</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> mute</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-stream-volume-set-mute.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>volume</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume"><span class="type">GstStreamVolume</span></a> that should be used</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mute</p></td>
-<td class="parameter_description"><p>Mute state that should be set</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -299,38 +182,6 @@
 gst_stream_volume_convert_volume (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> from</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> to</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> val</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-stream-volume-convert-volume.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>from</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> to convert from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gststreamvolume.html#GstStreamVolumeFormat" title="enum GstStreamVolumeFormat"><span class="type">GstStreamVolumeFormat</span></a> to convert to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>val</p></td>
-<td class="parameter_description"><p>Volume in <em class="parameter"><code>from</code></em>
-format that should be converted</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-stream-volume-convert-volume.returns"></a><h4>Returns</h4>
-<p> the converted volume</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -342,10 +193,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstStreamVolumeFormat"></a><h3>enum GstStreamVolumeFormat</h3>
-<p>Different representations of a stream volume. <a class="link" href="gst-plugins-base-libs-gststreamvolume.html#gst-stream-volume-convert-volume" title="gst_stream_volume_convert_volume ()"><code class="function">gst_stream_volume_convert_volume()</code></a>
-allows to convert between the different representations.</p>
-<p>Formulas to convert from a linear to a cubic or dB volume are
-cbrt(val) and 20 * log10 (val).</p>
 <div class="refsect3">
 <a name="GstStreamVolumeFormat.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -357,24 +204,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-STREAM-VOLUME-FORMAT-LINEAR:CAPS"></a>GST_STREAM_VOLUME_FORMAT_LINEAR</p></td>
-<td class="enum_member_description">
-<p>Linear scale factor, 1.0 = 100%</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-STREAM-VOLUME-FORMAT-CUBIC:CAPS"></a>GST_STREAM_VOLUME_FORMAT_CUBIC</p></td>
-<td class="enum_member_description">
-<p>Cubic volume scale</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-STREAM-VOLUME-FORMAT-DB:CAPS"></a>GST_STREAM_VOLUME_FORMAT_DB</p></td>
-<td class="enum_member_description">
-<p>Logarithmic volume scale (dB, amplitude not power)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttag.html b/docs/libs/html/gst-plugins-base-libs-gsttag.html
index 1504c7d..5985be1 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttag.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttag.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-gsttag.top_of_page"></a>gsttag</span></h2>
-<p>gsttag — additional tag definitions for plugins and applications</p>
+<p>gsttag</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -232,13 +232,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttag.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.13.3.6.2"></a><p>
-Contains additional standardized GStreamer tag definitions for plugins
-and applications, and functions to register them with the GStreamer
-tag system.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttag.functions_details"></a><h2>Functions</h2>
@@ -246,9 +239,6 @@
 <a name="gst-tag-register-musicbrainz-tags"></a><h3>gst_tag_register_musicbrainz_tags ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_tag_register_musicbrainz_tags (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Registers additional musicbrainz-specific tags with the GStreamer tag
-system. Plugins and applications that use these tags should call this
-function before using them. Can be called multiple times.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -257,47 +247,6 @@
 gst_tag_freeform_string_to_utf8 (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *data</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> size</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **env_vars</code></em>);</pre>
-<p>Convenience function to read a string with unknown character encoding. If
-the string is already in UTF-8 encoding, it will be returned right away.
-If not it tries to detect byte-order-mark for UTF-16/32 cases and use that.
-Otherwise, the environment will be searched for a number of environment
-variables (whose names are specified in the NULL-terminated string array
-<em class="parameter"><code>env_vars</code></em>
-) containing a list of character encodings to try/use. If none
-are specified, the current locale will be tried. If that also doesn't work,
-WINDOWS-1252/ISO-8859-1 is assumed (which will almost always succeed).</p>
-<div class="refsect3">
-<a name="gst-tag-freeform-string-to-utf8.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>string data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>length of string data, or -1 if the string is NUL-terminated</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>env_vars</p></td>
-<td class="parameter_description"><p>a NULL-terminated string array of environment variable names,
-or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-freeform-string-to-utf8.returns"></a><h4>Returns</h4>
-<p> a newly-allocated string in UTF-8 encoding, or NULL</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -308,58 +257,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **lang</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **value</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> fail_if_no_key</code></em>);</pre>
-<p>Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and
-separate it into its components.</p>
-<p>If successful, <em class="parameter"><code>key</code></em>
-, <em class="parameter"><code>lang</code></em>
- and/or <em class="parameter"><code>value</code></em>
- will be set to newly allocated
-strings that you need to free with <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when done. <em class="parameter"><code>key</code></em>
- and <em class="parameter"><code>lang</code></em>
-
-may also be set to NULL by this function if there is no key or no language
-code in the extended comment string.</p>
-<div class="refsect3">
-<a name="gst-tag-parse-extended-comment.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>ext_comment</p></td>
-<td class="parameter_description"><p>an extended comment string, see <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-EXTENDED-COMMENT:CAPS"><span class="type">GST_TAG_EXTENDED_COMMENT</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>return location for the comment description key, or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>lang</p></td>
-<td class="parameter_description"><p>return location for the comment ISO-639 language code, or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>return location for the actual comment string, or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>fail_if_no_key</p></td>
-<td class="parameter_description"><p>whether to fail if strings are not in key=value form</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-parse-extended-comment.returns"></a><h4>Returns</h4>
-<p> TRUE if the string could be parsed, otherwise FALSE</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -368,59 +265,6 @@
 gst_tag_image_data_to_image_sample (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *image_data</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> image_data_len</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gsttag.html#GstTagImageType" title="enum GstTagImageType"><span class="type">GstTagImageType</span></a> image_type</code></em>);</pre>
-<p>Helper function for tag-reading plugins to create a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a> suitable to
-add to a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> as an image tag (such as <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-IMAGE:CAPS"><span class="type">GST_TAG_IMAGE</span></a> or
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-PREVIEW-IMAGE:CAPS"><span class="type">GST_TAG_PREVIEW_IMAGE</span></a>) from the encoded image data and an (optional) image
-type.</p>
-<p>Background: cover art and other images in tags are usually stored as a
-blob of binary image data, often accompanied by a MIME type or some other
-content type string (e.g. 'png', 'jpeg', 'jpg'). Sometimes there is also an
-'image type' to indicate what kind of image this is (e.g. front cover,
-back cover, artist, etc.). The image data may also be an URI to the image
-rather than the image itself.</p>
-<p>In GStreamer, image tags are <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a>s containing the raw image
-data, with the sample caps describing the content type of the image
-(e.g. image/jpeg, image/png, text/uri-list). The sample info may contain
-an additional 'image-type' field of <span class="type">GST_TYPE_TAG_IMAGE_TYPE</span> to describe
-the type of image (front cover, back cover etc.). <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-PREVIEW-IMAGE:CAPS"><span class="type">GST_TAG_PREVIEW_IMAGE</span></a>
-tags should not carry an image type, their type is already indicated via
-the special tag name.</p>
-<p>This function will do various checks and typefind the encoded image
-data (we can't trust the declared mime type).</p>
-<div class="refsect3">
-<a name="gst-tag-image-data-to-image-sample.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>image_data</p></td>
-<td class="parameter_description"><p>the (encoded) image</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>image_data_len</p></td>
-<td class="parameter_description"><p>the length of the encoded image data at <em class="parameter"><code>image_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>image_type</p></td>
-<td class="parameter_description"><p>type of the image, or <a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-IMAGE-TYPE-UNDEFINED:CAPS"><span class="type">GST_TAG_IMAGE_TYPE_UNDEFINED</span></a>. Pass
-<a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-IMAGE-TYPE-NONE:CAPS"><span class="type">GST_TAG_IMAGE_TYPE_NONE</span></a> if no image type should be set at all (e.g.
-for preview images)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-image-data-to-image-sample.returns"></a><h4>Returns</h4>
-<p> a newly-allocated image sample for use in tag lists, or NULL</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -429,321 +273,208 @@
 <a name="GST-TAG-MUSICBRAINZ-TRACKID:CAPS"></a><h3>GST_TAG_MUSICBRAINZ_TRACKID</h3>
 <pre class="programlisting">#define GST_TAG_MUSICBRAINZ_TRACKID "musicbrainz-trackid"
 </pre>
-<p>MusicBrainz track ID</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-MUSICBRAINZ-ARTISTID:CAPS"></a><h3>GST_TAG_MUSICBRAINZ_ARTISTID</h3>
 <pre class="programlisting">#define GST_TAG_MUSICBRAINZ_ARTISTID "musicbrainz-artistid"
 </pre>
-<p>MusicBrainz artist ID</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-MUSICBRAINZ-ALBUMID:CAPS"></a><h3>GST_TAG_MUSICBRAINZ_ALBUMID</h3>
 <pre class="programlisting">#define GST_TAG_MUSICBRAINZ_ALBUMID "musicbrainz-albumid"
 </pre>
-<p>MusicBrainz album ID</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-MUSICBRAINZ-ALBUMARTISTID:CAPS"></a><h3>GST_TAG_MUSICBRAINZ_ALBUMARTISTID</h3>
 <pre class="programlisting">#define GST_TAG_MUSICBRAINZ_ALBUMARTISTID "musicbrainz-albumartistid"
 </pre>
-<p>MusicBrainz album artist ID</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-MUSICBRAINZ-TRMID:CAPS"></a><h3>GST_TAG_MUSICBRAINZ_TRMID</h3>
 <pre class="programlisting">#define GST_TAG_MUSICBRAINZ_TRMID "musicbrainz-trmid"
 </pre>
-<p>MusicBrainz track TRM ID</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CDDA-CDDB-DISCID:CAPS"></a><h3>GST_TAG_CDDA_CDDB_DISCID</h3>
 <pre class="programlisting">#define GST_TAG_CDDA_CDDB_DISCID              "discid"
 </pre>
-<p>CDDB disc id in its short form (e.g. 'aa063d0f')</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CDDA-CDDB-DISCID-FULL:CAPS"></a><h3>GST_TAG_CDDA_CDDB_DISCID_FULL</h3>
 <pre class="programlisting">#define GST_TAG_CDDA_CDDB_DISCID_FULL         "discid-full"
 </pre>
-<p>CDDB disc id including all details</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CDDA-MUSICBRAINZ-DISCID:CAPS"></a><h3>GST_TAG_CDDA_MUSICBRAINZ_DISCID</h3>
 <pre class="programlisting">#define GST_TAG_CDDA_MUSICBRAINZ_DISCID       "musicbrainz-discid"
 </pre>
-<p>Musicbrainz disc id (e.g. 'ahg7JUcfR3vCYBphSDIogOOWrr0-')</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CDDA-MUSICBRAINZ-DISCID-FULL:CAPS"></a><h3>GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL</h3>
 <pre class="programlisting">#define GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL  "musicbrainz-discid-full"
 </pre>
-<p>Musicbrainz disc id details</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CMML-CLIP:CAPS"></a><h3>GST_TAG_CMML_CLIP</h3>
 <pre class="programlisting">#define GST_TAG_CMML_CLIP "cmml-clip"
 </pre>
-<p>Annodex CMML clip element tag</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CMML-HEAD:CAPS"></a><h3>GST_TAG_CMML_HEAD</h3>
 <pre class="programlisting">#define GST_TAG_CMML_HEAD "cmml-head"
 </pre>
-<p>Annodex CMML head element tag</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CMML-STREAM:CAPS"></a><h3>GST_TAG_CMML_STREAM</h3>
 <pre class="programlisting">#define GST_TAG_CMML_STREAM "cmml-stream"
 </pre>
-<p>Annodex CMML stream element tag</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-SHUTTER-SPEED:CAPS"></a><h3>GST_TAG_CAPTURING_SHUTTER_SPEED</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_SHUTTER_SPEED        "capturing-shutter-speed"
 </pre>
-<p>Shutter speed used when capturing an image, in seconds. (fraction)</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-FOCAL-RATIO:CAPS"></a><h3>GST_TAG_CAPTURING_FOCAL_RATIO</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_FOCAL_RATIO          "capturing-focal-ratio"
 </pre>
-<p>Focal ratio (f-number) used when capturing an image. (double)</p>
-<p>The value stored is the denominator of the focal ratio (f-number).
-For example, if this tag value is 2, the focal ratio is f/2.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-FOCAL-LENGTH:CAPS"></a><h3>GST_TAG_CAPTURING_FOCAL_LENGTH</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_FOCAL_LENGTH         "capturing-focal-length"
 </pre>
-<p>Focal length used when capturing an image, in mm. (double)</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-DIGITAL-ZOOM-RATIO:CAPS"></a><h3>GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO   "capturing-digital-zoom-ratio"
 </pre>
-<p>Digital zoom ratio used when capturing an image. (double)</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-ISO-SPEED:CAPS"></a><h3>GST_TAG_CAPTURING_ISO_SPEED</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_ISO_SPEED           "capturing-iso-speed"
 </pre>
-<p>ISO speed used when capturing an image. (integer)</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-EXPOSURE-PROGRAM:CAPS"></a><h3>GST_TAG_CAPTURING_EXPOSURE_PROGRAM</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_EXPOSURE_PROGRAM     "capturing-exposure-program"
 </pre>
-<p>Type of exposure control used when capturing an image. (string)</p>
-<p>The allowed values are:
-  "undefined"
-  "manual"
-  "normal" - automatically controlled
-  "aperture-priority" - user selects aperture value
-  "shutter-priority" - user selects shutter speed
-  "creative" - biased towards depth of field
-  "action" - biased towards fast shutter speed
-  "portrait" - closeup, leaving background out of focus
-  "landscape" - landscape photos, background in focus</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-EXPOSURE-MODE:CAPS"></a><h3>GST_TAG_CAPTURING_EXPOSURE_MODE</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_EXPOSURE_MODE       "capturing-exposure-mode"
 </pre>
-<p>Exposure mode used when capturing an image. (string)</p>
-<p>The allowed values are:
-  "auto-exposure"
-  "manual-exposure"
-  "auto-bracket"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-SCENE-CAPTURE-TYPE:CAPS"></a><h3>GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE  "capturing-scene-capture-type"
 </pre>
-<p>Scene mode used when capturing an image. (string)</p>
-<p>The allowed values are:
-  "standard"
-  "landscape"
-  "portrait"
-  "night-scene"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-GAIN-ADJUSTMENT:CAPS"></a><h3>GST_TAG_CAPTURING_GAIN_ADJUSTMENT</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_GAIN_ADJUSTMENT     "capturing-gain-adjustment"
 </pre>
-<p>Gain adjustment applied to an image. (string)</p>
-<p>The allowed values are:
-  "none"
-  "low-gain-up"
-  "high-gain-up"
-  "low-gain-down"
-  "high-gain-down"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-WHITE-BALANCE:CAPS"></a><h3>GST_TAG_CAPTURING_WHITE_BALANCE</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_WHITE_BALANCE       "capturing-white-balance"
 </pre>
-<p>White balance mode used when capturing an image. (string)</p>
-<p>The allowed values are:
-  "auto"
-  "manual"
-  "daylight"
-  "cloudy"
-  "tungsten"
-  "fluorescent"
-  "fluorescent h" (newer daylight-calibrated fluorescents)
-  "flash"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-CONTRAST:CAPS"></a><h3>GST_TAG_CAPTURING_CONTRAST</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_CONTRAST            "capturing-contrast"
 </pre>
-<p>Direction of contrast processing applied when capturing an image. (string)</p>
-<p>The allowed values are:
- "normal"
- "soft"
- "hard"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-SATURATION:CAPS"></a><h3>GST_TAG_CAPTURING_SATURATION</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_SATURATION          "capturing-saturation"
 </pre>
-<p>Direction of saturation processing applied when capturing an image. (string)</p>
-<p>The allowed values are:
- "normal"
- "low-saturation"
- "high-saturation"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-SHARPNESS:CAPS"></a><h3>GST_TAG_CAPTURING_SHARPNESS</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_SHARPNESS          "capturing-sharpness"
 </pre>
-<p>Direction of sharpness processing applied when capturing an image. (string)</p>
-<p>The allowed values are:
- "normal"
- "soft"
- "hard"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-FLASH-FIRED:CAPS"></a><h3>GST_TAG_CAPTURING_FLASH_FIRED</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_FLASH_FIRED         "capturing-flash-fired"
 </pre>
-<p>If flash was fired during the capture of an image. (boolean)</p>
-<p>Note that if this tag isn't present, it should not be assumed that
-the flash did not fire. It should be treated as unknown.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-FLASH-MODE:CAPS"></a><h3>GST_TAG_CAPTURING_FLASH_MODE</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_FLASH_MODE         "capturing-flash-mode"
 </pre>
-<p>The flash mode selected during the capture of an image. (string)</p>
-<p>The allowed values are:
- "auto"
- "always"
- "never"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-METERING-MODE:CAPS"></a><h3>GST_TAG_CAPTURING_METERING_MODE</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_METERING_MODE      "capturing-metering-mode"
 </pre>
-<p>Defines the way a camera determines the exposure. (string)</p>
-<p>The allowed values are:
-  "unknown"
-  "average"
-  "center-weighted-average"
-  "spot"
-  "multi-spot"
-  "pattern"
-  "partial"
-  "other"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-SOURCE:CAPS"></a><h3>GST_TAG_CAPTURING_SOURCE</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_SOURCE             "capturing-source"
 </pre>
-<p>Indicates the source of capture. The device/medium used to do the
-capture. (string)</p>
-<p>Allowed values are:
-  "dsc" (= digital still camera)
-  "transparent-scanner"
-  "reflex-scanner"
-  "other"</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-CAPTURING-EXPOSURE-COMPENSATION:CAPS"></a><h3>GST_TAG_CAPTURING_EXPOSURE_COMPENSATION</h3>
 <pre class="programlisting">#define GST_TAG_CAPTURING_EXPOSURE_COMPENSATION "capturing-exposure-compensation"
 </pre>
-<p>Exposure compensation using when capturing an image in EV. (double)</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-IMAGE-HORIZONTAL-PPI:CAPS"></a><h3>GST_TAG_IMAGE_HORIZONTAL_PPI</h3>
 <pre class="programlisting">#define GST_TAG_IMAGE_HORIZONTAL_PPI         "image-horizontal-ppi"
 </pre>
-<p>Media (image/video) intended horizontal pixel density in ppi. (double)</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-IMAGE-VERTICAL-PPI:CAPS"></a><h3>GST_TAG_IMAGE_VERTICAL_PPI</h3>
 <pre class="programlisting">#define GST_TAG_IMAGE_VERTICAL_PPI           "image-vertical-ppi"
 </pre>
-<p>Media (image/video) intended vertical pixel density in ppi. (double)</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-ID3V2-HEADER-SIZE:CAPS"></a><h3>GST_TAG_ID3V2_HEADER_SIZE</h3>
 <pre class="programlisting">#define GST_TAG_ID3V2_HEADER_SIZE            10
 </pre>
-<p>ID3V2 header size considered minimum input for some functions such as
-<a class="link" href="gst-plugins-base-libs-gsttagid3.html#gst-tag-list-from-id3v2-tag" title="gst_tag_list_from_id3v2_tag ()"><code class="function">gst_tag_list_from_id3v2_tag()</code></a> and <a class="link" href="gst-plugins-base-libs-gsttagid3.html#gst-tag-get-id3v2-tag-size" title="gst_tag_get_id3v2_tag_size ()"><code class="function">gst_tag_get_id3v2_tag_size()</code></a> for example.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-TAG-MUSICAL-KEY:CAPS"></a><h3>GST_TAG_MUSICAL_KEY</h3>
 <pre class="programlisting">#define GST_TAG_MUSICAL_KEY                   "musical-key"
 </pre>
-<p>Musical key in which the sound starts. It is represented as a string
-with a maximum length of three characters. The ground keys are
-represented with "A","B","C","D","E", "F" and "G" and halfkeys
-represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm").
-Off key is represented with an "o" only.
-This notation might be extended in the future to support non-minor/major
-keys.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstTagImageType"></a><h3>enum GstTagImageType</h3>
-<p>Type of image contained in an image tag (specified as "image-type" field in
-the info structure in the image's <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a>)</p>
 <div class="refsect3">
 <a name="GstTagImageType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -755,155 +486,109 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-NONE:CAPS"></a>GST_TAG_IMAGE_TYPE_NONE</p></td>
-<td class="enum_member_description">
-<p>No image type. Can be used to
-     tell functions such as <a class="link" href="gst-plugins-base-libs-gsttag.html#gst-tag-image-data-to-image-sample" title="gst_tag_image_data_to_image_sample ()"><code class="function">gst_tag_image_data_to_image_sample()</code></a> that no
-     image type should be set.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-UNDEFINED:CAPS"></a>GST_TAG_IMAGE_TYPE_UNDEFINED</p></td>
-<td class="enum_member_description">
-<p>Undefined/other image type</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-FRONT-COVER:CAPS"></a>GST_TAG_IMAGE_TYPE_FRONT_COVER</p></td>
-<td class="enum_member_description">
-<p>Cover (front)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-BACK-COVER:CAPS"></a>GST_TAG_IMAGE_TYPE_BACK_COVER</p></td>
-<td class="enum_member_description">
-<p>Cover (back)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-LEAFLET-PAGE:CAPS"></a>GST_TAG_IMAGE_TYPE_LEAFLET_PAGE</p></td>
-<td class="enum_member_description">
-<p>Leaflet page</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-MEDIUM:CAPS"></a>GST_TAG_IMAGE_TYPE_MEDIUM</p></td>
-<td class="enum_member_description">
-<p>Medium (e.g. label side of CD)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-LEAD-ARTIST:CAPS"></a>GST_TAG_IMAGE_TYPE_LEAD_ARTIST</p></td>
-<td class="enum_member_description">
-<p>Lead artist/lead performer/soloist</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-ARTIST:CAPS"></a>GST_TAG_IMAGE_TYPE_ARTIST</p></td>
-<td class="enum_member_description">
-<p>Artist/performer</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-CONDUCTOR:CAPS"></a>GST_TAG_IMAGE_TYPE_CONDUCTOR</p></td>
-<td class="enum_member_description">
-<p>Conductor</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-BAND-ORCHESTRA:CAPS"></a>GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA</p></td>
-<td class="enum_member_description">
-<p>Band/orchestra</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-COMPOSER:CAPS"></a>GST_TAG_IMAGE_TYPE_COMPOSER</p></td>
-<td class="enum_member_description">
-<p>Composer</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-LYRICIST:CAPS"></a>GST_TAG_IMAGE_TYPE_LYRICIST</p></td>
-<td class="enum_member_description">
-<p>Lyricist/text writer</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-RECORDING-LOCATION:CAPS"></a>GST_TAG_IMAGE_TYPE_RECORDING_LOCATION</p></td>
-<td class="enum_member_description">
-<p>Recording location</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-DURING-RECORDING:CAPS"></a>GST_TAG_IMAGE_TYPE_DURING_RECORDING</p></td>
-<td class="enum_member_description">
-<p>During recording</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-DURING-PERFORMANCE:CAPS"></a>GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE</p></td>
-<td class="enum_member_description">
-<p>During performance</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-VIDEO-CAPTURE:CAPS"></a>GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE</p></td>
-<td class="enum_member_description">
-<p>Movie/video screen capture</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-FISH:CAPS"></a>GST_TAG_IMAGE_TYPE_FISH</p></td>
-<td class="enum_member_description">
-<p>A fish as funny as the ID3v2 spec</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-ILLUSTRATION:CAPS"></a>GST_TAG_IMAGE_TYPE_ILLUSTRATION</p></td>
-<td class="enum_member_description">
-<p>Illustration</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-BAND-ARTIST-LOGO:CAPS"></a>GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO</p></td>
-<td class="enum_member_description">
-<p>Band/artist logotype</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-IMAGE-TYPE-PUBLISHER-STUDIO-LOGO:CAPS"></a>GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO</p></td>
-<td class="enum_member_description">
-<p>Publisher/studio logotype</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttag.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html b/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html
index fb4f413..3af08f7 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagdemux.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gsttagdemux.top_of_page"></a>gsttagdemux</span></h2>
-<p>gsttagdemux — Base class for demuxing tags that are in chunks
-                    directly at the beginning or at the end of a file</p>
+<p>gsttagdemux</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -62,50 +61,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagdemux.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.13.9.5.2"></a><h3>Deriving from GstTagDemux</h3>
-<p>
-Provides a base class for demuxing tags at the beginning or end of a
-stream and handles things like typefinding, querying, seeking, and
-different modes of operation (chain-based, pull_range-based, and providing
-downstream elements with random access if upstream supports that). The tag
-is stripped from the output, and all offsets are adjusted for the tag
-sizes, so that to the downstream element the stream will appear as if
-there was no tag at all. Also, once the tag has been parsed, GstTagDemux
-will try to determine the media type of the resulting stream and add a
-source pad with the appropriate caps in order to facilitate auto-plugging.
-</p>
-<p>
-Subclasses have to do four things:
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
- In their base init function, they must add a pad template for the sink
- pad to the element class, describing the media type they can parse in
- the caps of the pad template.
- </p></li>
-<li class="listitem"><p>
- In their class init function, they must override
- GST_TAG_DEMUX_CLASS(demux_klass)-&gt;identify_tag with their own identify
- function.
- </p></li>
-<li class="listitem"><p>
- In their class init function, they must override
- GST_TAG_DEMUX_CLASS(demux_klass)-&gt;parse_tag with their own parse
- function.
- </p></li>
-<li class="listitem"><p>
- In their class init function, they must also set
- GST_TAG_DEMUX_CLASS(demux_klass)-&gt;min_start_size and/or 
- GST_TAG_DEMUX_CLASS(demux_klass)-&gt;min_end_size to the minimum size required
- for the identify function to decide whether the stream has a supported tag
- or not. A class parsing ID3v1 tags, for example, would set min_end_size to
- 128 bytes.
- </p></li>
-</ul></div>
-<p>
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagdemux.functions_details"></a><h2>Functions</h2>
@@ -119,22 +74,6 @@
   GstElement element;
 };
 </pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gsttagdemux.html#GstTagDemux" title="struct GstTagDemux"><span class="type">GstTagDemux</span></a> structure.</p>
-<div class="refsect3">
-<a name="GstTagDemux.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstTagDemux.element"></a>element</code></em>;</p></td>
-<td class="struct_member_description"><p>parent element</p></td>
-<td class="struct_member_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -171,64 +110,10 @@
                                            const GstTagList * end_tags);
 };
 </pre>
-<p>The <a class="link" href="gst-plugins-base-libs-gsttagdemux.html#GstTagDemuxClass" title="struct GstTagDemuxClass"><span class="type">GstTagDemuxClass</span></a> structure.  See documentation at beginning of section
-for details about what subclasses need to override and do.</p>
-<div class="refsect3">
-<a name="GstTagDemuxClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstTagDemuxClass.min-start-size"></a>min_start_size</code></em>;</p></td>
-<td class="struct_member_description"><p>minimum size required to identify a tag at the start and
-determine its total size. Set to 0 if not interested in start tags.
-Subclasses should set this in their class_init function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstTagDemuxClass.min-end-size"></a>min_end_size</code></em>;</p></td>
-<td class="struct_member_description"><p>minimum size required to identify a tag at the end and
-determine its total size. Set to 0 if not interested in end tags.
-Subclasses should set this in their class_init function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstTagDemuxClass.identify-tag"></a>identify_tag</code></em> ()</p></td>
-<td class="struct_member_description"><p>identify tag and determine the size required to parse the
-tag. Buffer may be larger than the specified minimum size.
-Subclassed MUST override this vfunc in their class_init function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstTagDemuxClass.parse-tag"></a>parse_tag</code></em> ()</p></td>
-<td class="struct_member_description"><p>parse the tag. Buffer will be exactly of the size determined by
-the identify_tag vfunc before. The parse_tag vfunc may change the size
-stored in *tag_size and return GST_TAG_DEMUX_RESULT_AGAIN to request a
-larger or smaller buffer. It is also permitted to adjust the tag_size to a
-smaller value and then return GST_TAG_DEMUX_RESULT_OK in one go.
-Subclassed MUST override the parse_tag vfunc in their class_init function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstTagDemuxClass.merge-tags"></a>merge_tags</code></em> ()</p></td>
-<td class="struct_member_description"><p>merge start and end tags. Subclasses may want to override this
-vfunc to allow prioritising of start or end tag according to user
-preference.  Note that both start_tags and end_tags may be NULL. By default
-start tags are prefered over end tags.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstTagDemuxResult"></a><h3>enum GstTagDemuxResult</h3>
-<p>Result values from the parse_tag virtual function.</p>
 <div class="refsect3">
 <a name="GstTagDemuxResult.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -240,34 +125,24 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-DEMUX-RESULT-BROKEN-TAG:CAPS"></a>GST_TAG_DEMUX_RESULT_BROKEN_TAG</p></td>
-<td class="enum_member_description">
-<p>cannot parse tag, just skip it</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-DEMUX-RESULT-AGAIN:CAPS"></a>GST_TAG_DEMUX_RESULT_AGAIN</p></td>
-<td class="enum_member_description">
-<p>call again with less or more data</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-DEMUX-RESULT-OK:CAPS"></a>GST_TAG_DEMUX_RESULT_OK</p></td>
-<td class="enum_member_description">
-<p>parsed tag successfully</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttagdemux.see-also"></a><h2>See Also</h2>
-<p>GstApeDemux, GstID3Demux</p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagexif.html b/docs/libs/html/gst-plugins-base-libs-gsttagexif.html
index dc4ee30..50bdf0f 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagexif.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagexif.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gsttagexif.top_of_page"></a>gsttagexif</span></h2>
-<p>gsttagexif — tag mappings and support functions for plugins
-                    dealing with exif tags</p>
+<p>gsttagexif</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -82,9 +81,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagexif.description"></a><h2>Description</h2>
-<p>Contains utility function to parse <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a>s from exif
-buffers and to create exif buffers from <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a>s</p>
-<p>Note that next IFD fields on the created exif buffers are set to 0.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagexif.functions_details"></a><h2>Functions</h2>
@@ -94,39 +90,6 @@
 gst_tag_list_to_exif_buffer (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *taglist</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> byte_order</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> base_offset</code></em>);</pre>
-<p>Formats the tags in taglist on exif format. The resulting buffer contains
-the tags IFD and is followed by the data pointed by the tag entries.</p>
-<div class="refsect3">
-<a name="gst-tag-list-to-exif-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>taglist</p></td>
-<td class="parameter_description"><p>The taglist</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>byte_order</p></td>
-<td class="parameter_description"><p>byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>base_offset</p></td>
-<td class="parameter_description"><p>Offset from the tiff header first byte</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-to-exif-buffer.returns"></a><h4>Returns</h4>
-<p> A GstBuffer containing the tag entries followed by the tag data</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -134,27 +97,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_tag_list_to_exif_buffer_with_tiff_header
                                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *taglist</code></em>);</pre>
-<p>Formats the tags in taglist into exif structure, a tiff header
-is put in the beginning of the buffer.</p>
-<div class="refsect3">
-<a name="gst-tag-list-to-exif-buffer-with-tiff-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>taglist</p></td>
-<td class="parameter_description"><p>The taglist</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-to-exif-buffer-with-tiff-header.returns"></a><h4>Returns</h4>
-<p> A GstBuffer containing the data</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -163,41 +105,6 @@
 gst_tag_list_from_exif_buffer (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> byte_order</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> base_offset</code></em>);</pre>
-<p>Parses the IFD and IFD tags data contained in the buffer and puts it
-on a taglist. The base_offset is used to subtract from the offset in
-the tag entries and be able to get the offset relative to the buffer
-start</p>
-<div class="refsect3">
-<a name="gst-tag-list-from-exif-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>The exif buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>byte_order</p></td>
-<td class="parameter_description"><p>byte order of the data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>base_offset</p></td>
-<td class="parameter_description"><p>Offset from the tiff header to this buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-from-exif-buffer.returns"></a><h4>Returns</h4>
-<p> The parsed taglist</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -205,35 +112,11 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_tag_list_from_exif_buffer_with_tiff_header
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Parses the exif tags starting with a tiff header structure.</p>
-<div class="refsect3">
-<a name="gst-tag-list-from-exif-buffer-with-tiff-header.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>The exif buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-from-exif-buffer-with-tiff-header.returns"></a><h4>Returns</h4>
-<p> The taglist</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagexif.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttagexif.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagid3.html b/docs/libs/html/gst-plugins-base-libs-gsttagid3.html
index a005e90..eab5cee 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagid3.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagid3.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gsttagid3.top_of_page"></a>gsttagid3</span></h2>
-<p>gsttagid3 — tag mappings and support functions for plugins
-                    dealing with ID3v1 and ID3v2 tags</p>
+<p>gsttagid3</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -118,12 +117,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagid3.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.13.5.5.2"></a><p>
-Contains various utility functions for plugins to parse or create
-ID3 tags and map ID3v2 identifiers to and from GStreamer identifiers.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagid3.functions_details"></a><h2>Functions</h2>
@@ -131,91 +124,24 @@
 <a name="gst-tag-id3-genre-count"></a><h3>gst_tag_id3_genre_count ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_tag_id3_genre_count (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Gets the number of ID3v1 genres that can be identified. Winamp genres are 
-included.</p>
-<div class="refsect3">
-<a name="gst-tag-id3-genre-count.returns"></a><h4>Returns</h4>
-<p> the number of ID3v1 genres that can be identified</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-id3-genre-get"></a><h3>gst_tag_id3_genre_get ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_id3_genre_get (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>);</pre>
-<p>Gets the ID3v1 genre name for a given ID.</p>
-<div class="refsect3">
-<a name="gst-tag-id3-genre-get.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>id</p></td>
-<td class="parameter_description"><p>ID of genre to query</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-id3-genre-get.returns"></a><h4>Returns</h4>
-<p> the genre or NULL if no genre is associated with that ID.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-list-new-from-id3v1"></a><h3>gst_tag_list_new_from_id3v1 ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_tag_list_new_from_id3v1 (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>);</pre>
-<p>Parses the data containing an ID3v1 tag and returns a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> from the
-parsed data.</p>
-<div class="refsect3">
-<a name="gst-tag-list-new-from-id3v1.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>128 bytes of data containing the ID3v1 tag</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-new-from-id3v1.returns"></a><h4>Returns</h4>
-<p> A new tag list or NULL if the data was not an ID3v1 tag.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-from-id3-tag"></a><h3>gst_tag_from_id3_tag ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_from_id3_tag (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id3_tag</code></em>);</pre>
-<p>Looks up the GStreamer tag for a ID3v2 tag.</p>
-<div class="refsect3">
-<a name="gst-tag-from-id3-tag.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>id3_tag</p></td>
-<td class="parameter_description"><p>ID3v2 tag to convert to GStreamer tag</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-from-id3-tag.returns"></a><h4>Returns</h4>
-<p> The corresponding GStreamer tag or NULL if none exists.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -223,60 +149,12 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_from_id3_user_tag (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
                            <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *id3_user_tag</code></em>);</pre>
-<p>Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in
-TXXX frame or owner in UFID frame).</p>
-<div class="refsect3">
-<a name="gst-tag-from-id3-user-tag.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>type</p></td>
-<td class="parameter_description"><p>the type of ID3v2 user tag (e.g. "TXXX" or "UDIF")</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id3_user_tag</p></td>
-<td class="parameter_description"><p>ID3v2 user tag to convert to GStreamer tag</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-from-id3-user-tag.returns"></a><h4>Returns</h4>
-<p> The corresponding GStreamer tag or NULL if none exists.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-to-id3-tag"></a><h3>gst_tag_to_id3_tag ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_to_id3_tag (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gst_tag</code></em>);</pre>
-<p>Looks up the ID3v2 tag for a GStreamer tag.</p>
-<div class="refsect3">
-<a name="gst-tag-to-id3-tag.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>gst_tag</p></td>
-<td class="parameter_description"><p>GStreamer tag to convert to vorbiscomment tag</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-to-id3-tag.returns"></a><h4>Returns</h4>
-<p> The corresponding ID3v2 tag or NULL if none exists.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -286,111 +164,23 @@
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *image_data</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> image_data_len</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> id3_picture_type</code></em>);</pre>
-<p>Adds an image from an ID3 APIC frame (or similar, such as used in FLAC)
-to the given tag list. Also see <a class="link" href="gst-plugins-base-libs-gsttag.html#gst-tag-image-data-to-image-sample" title="gst_tag_image_data_to_image_sample ()"><code class="function">gst_tag_image_data_to_image_sample()</code></a> for
-more information on image tags in GStreamer.</p>
-<div class="refsect3">
-<a name="gst-tag-list-add-id3-image.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>tag_list</p></td>
-<td class="parameter_description"><p>a tag list</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>image_data</p></td>
-<td class="parameter_description"><p>the (encoded) image</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>image_data_len</p></td>
-<td class="parameter_description"><p>the length of the encoded image data at <em class="parameter"><code>image_data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id3_picture_type</p></td>
-<td class="parameter_description"><p>picture type as per the ID3 (v2.4.0) specification for
-the APIC frame (0 = unknown/other)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-add-id3-image.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the image was processed, otherwise <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-id3v2-tag-size"></a><h3>gst_tag_get_id3v2_tag_size ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_tag_get_id3v2_tag_size (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Determines size of an ID3v2 tag on buffer containing at least ID3v2 header,
-i.e. at least <a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-ID3V2-HEADER-SIZE:CAPS" title="GST_TAG_ID3V2_HEADER_SIZE"><span class="type">GST_TAG_ID3V2_HEADER_SIZE</span></a> (10) bytes;</p>
-<div class="refsect3">
-<a name="gst-tag-get-id3v2-tag-size.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>buffer holding ID3v2 tag (or at least the start of one)</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-id3v2-tag-size.returns"></a><h4>Returns</h4>
-<p> Size of tag, or 0 if header is invalid or too small.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-list-from-id3v2-tag"></a><h3>gst_tag_list_from_id3v2_tag ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_tag_list_from_id3v2_tag (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Creates a new tag list that contains the information parsed out of a
-ID3 tag.</p>
-<div class="refsect3">
-<a name="gst-tag-list-from-id3v2-tag.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>buffer to convert</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-from-id3v2-tag.returns"></a><h4>Returns</h4>
-<p> A new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> with all tags that could be extracted from the
-given vorbiscomment buffer or NULL on error.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagid3.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttagid3.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.html b/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.html
index 673ade7..61c78a6 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttaglanguagecodes.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-gsttaglanguagecodes.top_of_page"></a>gsttaglanguagecodes</span></h2>
-<p>gsttaglanguagecodes — mappings for ISO-639 language codes and names</p>
+<p>gsttaglanguagecodes</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -99,12 +99,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttaglanguagecodes.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.13.11.5.2"></a><p>
-Provides helper functions to convert between the various ISO-639 language
-codes, and to map language codes to language names.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttaglanguagecodes.functions_details"></a><h2>Functions</h2>
@@ -112,213 +106,46 @@
 <a name="gst-tag-get-language-codes"></a><h3>gst_tag_get_language_codes ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
 gst_tag_get_language_codes (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Returns a list of known language codes (in form of two-letter ISO-639-1
-codes). This is useful for UIs to build a list of available languages for
-tagging purposes (e.g. to tag an audio track appropriately in a video or
-audio editor).</p>
-<div class="refsect3">
-<a name="gst-tag-get-language-codes.returns"></a><h4>Returns</h4>
-<p> NULL-terminated string array with two-letter
-language codes. Free with <a href="/usr/share/gtk-doc/html/glibglib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> when no longer needed. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-language-name"></a><h3>gst_tag_get_language_name ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_language_name (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *language_code</code></em>);</pre>
-<p>Returns the name of the language given an ISO-639 language code as
-found in a GST_TAG_LANGUAGE_CODE tag. The name will be translated
-according to the current locale (if the library was built against the
-iso-codes package, otherwise the English name will be returned).</p>
-<p>Language codes are case-sensitive and expected to be lower case.</p>
-<div class="refsect3">
-<a name="gst-tag-get-language-name.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>language_code</p></td>
-<td class="parameter_description"><p>two or three-letter ISO-639 language code</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-language-name.returns"></a><h4>Returns</h4>
-<p> language name in UTF-8 format, or NULL if <em class="parameter"><code>language_code</code></em>
-could
-not be mapped to a language name. The returned string must not be
-modified and does not need to freed; it will stay valid until the
-application is terminated.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-language-code"></a><h3>gst_tag_get_language_code()</h3>
 <pre class="programlisting">#define             gst_tag_get_language_code(lang_code)</pre>
-<p>Convenience macro wrapping <a class="link" href="gst-plugins-base-libs-gsttaglanguagecodes.html#gst-tag-get-language-code-iso-639-1" title="gst_tag_get_language_code_iso_639_1 ()"><code class="function">gst_tag_get_language_code_iso_639_1()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-tag-get-language-code.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>lang_code</p></td>
-<td class="parameter_description"><p>ISO-639 language code (e.g. "deu" or "ger" or "de")</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-language-code-iso-639-1"></a><h3>gst_tag_get_language_code_iso_639_1 ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_language_code_iso_639_1 (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *lang_code</code></em>);</pre>
-<p>Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2
-language code or two-letter ISO-639-1 language code (both are accepted for
-convenience).</p>
-<p>Language codes are case-sensitive and expected to be lower case.</p>
-<div class="refsect3">
-<a name="gst-tag-get-language-code-iso-639-1.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>lang_code</p></td>
-<td class="parameter_description"><p>ISO-639 language code (e.g. "deu" or "ger" or "de")</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-language-code-iso-639-1.returns"></a><h4>Returns</h4>
-<p> two-letter ISO-639-1 language code string that maps to <em class="parameter"><code>lang_code</code></em>
-,
-or NULL if no mapping is known. The returned string must not be
-modified or freed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-language-code-iso-639-2B"></a><h3>gst_tag_get_language_code_iso_639_2B ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_language_code_iso_639_2B (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *lang_code</code></em>);</pre>
-<p>Returns three-letter ISO-639-2 "bibliographic" language code given a
-two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
-code (both are accepted for convenience).</p>
-<p>The "bibliographic" code is derived from the English name of the language
-(e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the
-"terminological" codes are prefered.</p>
-<p>Language codes are case-sensitive and expected to be lower case.</p>
-<div class="refsect3">
-<a name="gst-tag-get-language-code-iso-639-2B.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>lang_code</p></td>
-<td class="parameter_description"><p>ISO-639 language code (e.g. "deu" or "ger" or "de")</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-language-code-iso-639-2B.returns"></a><h4>Returns</h4>
-<p> three-letter ISO-639-2 language code string that maps to <em class="parameter"><code>lang_code</code></em>
-,
-or NULL if no mapping is known. The returned string must not be
-modified or freed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-language-code-iso-639-2T"></a><h3>gst_tag_get_language_code_iso_639_2T ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_language_code_iso_639_2T (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *lang_code</code></em>);</pre>
-<p>Returns three-letter ISO-639-2 "terminological" language code given a
-two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
-code (both are accepted for convenience).</p>
-<p>The "terminological" code is derived from the local name of the language
-(e.g. "deu" for German instead of "ger"). In most scenarios, the
-"terminological" codes are prefered over the "bibliographic" ones.</p>
-<p>Language codes are case-sensitive and expected to be lower case.</p>
-<div class="refsect3">
-<a name="gst-tag-get-language-code-iso-639-2T.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>lang_code</p></td>
-<td class="parameter_description"><p>ISO-639 language code (e.g. "deu" or "ger" or "de")</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-language-code-iso-639-2T.returns"></a><h4>Returns</h4>
-<p> three-letter ISO-639-2 language code string that maps to <em class="parameter"><code>lang_code</code></em>
-,
-or NULL if no mapping is known. The returned string must not be
-modified or freed.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-check-language-code"></a><h3>gst_tag_check_language_code ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_tag_check_language_code (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *lang_code</code></em>);</pre>
-<p>Check if a given string contains a known ISO 639 language code.</p>
-<p>This is useful in situations where it's not clear whether a given
-string is a language code (which should be put into a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-LANGUAGE-CODE:CAPS"><span class="type">GST_TAG_LANGUAGE_CODE</span></a>
-tag) or a free-form language name descriptor (which should be put into a
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-LANGUAGE-NAME:CAPS"><span class="type">GST_TAG_LANGUAGE_NAME</span></a> tag instead).</p>
-<div class="refsect3">
-<a name="gst-tag-check-language-code.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>lang_code</p></td>
-<td class="parameter_description"><p>ISO-639 language code (e.g. "deu" or "ger" or "de")</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-check-language-code.returns"></a><h4>Returns</h4>
-<p> TRUE if the two- or three-letter language code in <em class="parameter"><code>lang_code</code></em>
-is a valid ISO-639 language code.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttaglanguagecodes.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttaglanguagecodes.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttaglicenses.html b/docs/libs/html/gst-plugins-base-libs-gsttaglicenses.html
index f566410..a496823 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttaglicenses.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttaglicenses.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-gsttaglicenses.top_of_page"></a>gsttaglicenses</span></h2>
-<p>gsttaglicenses — utility functions for Creative Commons licenses</p>
+<p>gsttaglicenses</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -113,10 +113,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttaglicenses.description"></a><h2>Description</h2>
-<p>Provides information about Creative Commons media licenses, which are
-often expressed in media files as a license URI in tags. Also useful
-for applications creating media files, in case the user wants to license
-the content under a Creative Commons license.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttaglicenses.functions_details"></a><h2>Functions</h2>
@@ -124,198 +120,48 @@
 <a name="gst-tag-get-license-flags"></a><h3>gst_tag_get_license_flags ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gsttaglicenses.html#GstTagLicenseFlags" title="enum GstTagLicenseFlags"><span class="returnvalue">GstTagLicenseFlags</span></a>
 gst_tag_get_license_flags (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *license_ref</code></em>);</pre>
-<p>Get the flags of a license, which describe most of the features of
-a license in their most general form.</p>
-<div class="refsect3">
-<a name="gst-tag-get-license-flags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>license_ref</p></td>
-<td class="parameter_description"><p>a license reference string in form of a URI,
-e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-license-flags.returns"></a><h4>Returns</h4>
-<p> the flags of the license, or 0 if the license is unknown</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-license-nick"></a><h3>gst_tag_get_license_nick ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_license_nick (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *license_ref</code></em>);</pre>
-<p>Get the nick name of a license, which is a short (untranslated) string
-such as e.g. "CC BY-NC-ND 2.0 UK".</p>
-<div class="refsect3">
-<a name="gst-tag-get-license-nick.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>license_ref</p></td>
-<td class="parameter_description"><p>a license reference string in form of a URI,
-e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-license-nick.returns"></a><h4>Returns</h4>
-<p> the nick name of the license, or NULL if the license is unknown</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-license-title"></a><h3>gst_tag_get_license_title ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_license_title (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *license_ref</code></em>);</pre>
-<p>Get the title of a license, which is a short translated description
-of the license's features (generally not very pretty though).</p>
-<div class="refsect3">
-<a name="gst-tag-get-license-title.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>license_ref</p></td>
-<td class="parameter_description"><p>a license reference string in form of a URI,
-e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-license-title.returns"></a><h4>Returns</h4>
-<p> the title of the license, or NULL if the license is unknown or
-no title is available.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-license-description"></a><h3>gst_tag_get_license_description ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_license_description (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *license_ref</code></em>);</pre>
-<p>Get the description of a license, which is a translated description
-of the license's main features.</p>
-<div class="refsect3">
-<a name="gst-tag-get-license-description.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>license_ref</p></td>
-<td class="parameter_description"><p>a license reference string in form of a URI,
-e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-license-description.returns"></a><h4>Returns</h4>
-<p> the description of the license, or NULL if the license is unknown
-or a description is not available.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-license-jurisdiction"></a><h3>gst_tag_get_license_jurisdiction ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_license_jurisdiction (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *license_ref</code></em>);</pre>
-<p>Get the jurisdiction code of a license. This is usually a two-letter
-ISO 3166-1 alpha-2 code, but there is also the special case of Scotland,
-for which no code exists and which is thus represented as "scotland".</p>
-<p>Known jurisdictions: ar, at, au, be, bg, br, ca, ch, cl, cn, co, de,
-dk, es, fi, fr, hr, hu, il, in, it, jp, kr, mk, mt, mx, my, nl, pe, pl,
-pt, scotland, se, si, tw, uk, us, za.</p>
-<div class="refsect3">
-<a name="gst-tag-get-license-jurisdiction.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>license_ref</p></td>
-<td class="parameter_description"><p>a license reference string in form of a URI,
-e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-license-jurisdiction.returns"></a><h4>Returns</h4>
-<p> the jurisdiction code of the license, or NULL if the license is
-unknown or is not specific to a particular jurisdiction.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-license-version"></a><h3>gst_tag_get_license_version ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_get_license_version (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *license_ref</code></em>);</pre>
-<p>Get the version of a license.</p>
-<div class="refsect3">
-<a name="gst-tag-get-license-version.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>license_ref</p></td>
-<td class="parameter_description"><p>a license reference string in form of a URI,
-e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-get-license-version.returns"></a><h4>Returns</h4>
-<p> the version of the license, or NULL if the license is not known or
-has no version</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-get-licenses"></a><h3>gst_tag_get_licenses ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
 gst_tag_get_licenses (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Returns a list of known license references (in form of URIs). This is
-useful for UIs to build a list of available licenses for tagging purposes
-(e.g. to tag an audio track appropriately in a video or audio editor, or
-an image in a camera application).</p>
-<div class="refsect3">
-<a name="gst-tag-get-licenses.returns"></a><h4>Returns</h4>
-<p> NULL-terminated array of license strings. Free
-with <a href="/usr/share/gtk-doc/html/glibglib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> when no longer needed. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttaglicenses.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstTagLicenseFlags"></a><h3>enum GstTagLicenseFlags</h3>
-<p>See http://creativecommons.org/ns for more information.</p>
 <div class="refsect3">
 <a name="GstTagLicenseFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -327,129 +173,79 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-PERMITS-REPRODUCTION:CAPS"></a>GST_TAG_LICENSE_PERMITS_REPRODUCTION</p></td>
-<td class="enum_member_description">
-<p>making multiple copies
-    is allowed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-PERMITS-DISTRIBUTION:CAPS"></a>GST_TAG_LICENSE_PERMITS_DISTRIBUTION</p></td>
-<td class="enum_member_description">
-<p>distribution, public display
-    and public performance are allowed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-PERMITS-DERIVATIVE-WORKS:CAPS"></a>GST_TAG_LICENSE_PERMITS_DERIVATIVE_WORKS</p></td>
-<td class="enum_member_description">
-<p>distribution of derivative
-    works is allowed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-PERMITS-SHARING:CAPS"></a>GST_TAG_LICENSE_PERMITS_SHARING</p></td>
-<td class="enum_member_description">
-<p>commercial derivatives are allowed,
-    but only non-commercial distribution is allowed</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-REQUIRES-NOTICE:CAPS"></a>GST_TAG_LICENSE_REQUIRES_NOTICE</p></td>
-<td class="enum_member_description">
-<p>copyright and license notices
-    must be kept intact</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-REQUIRES-ATTRIBUTION:CAPS"></a>GST_TAG_LICENSE_REQUIRES_ATTRIBUTION</p></td>
-<td class="enum_member_description">
-<p>credit must be given to
-    copyright holder and/or author</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-REQUIRES-SHARE-ALIKE:CAPS"></a>GST_TAG_LICENSE_REQUIRES_SHARE_ALIKE</p></td>
-<td class="enum_member_description">
-<p>derivative works must be
-    licensed under the same terms or compatible terms as the original work</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-REQUIRES-SOURCE-CODE:CAPS"></a>GST_TAG_LICENSE_REQUIRES_SOURCE_CODE</p></td>
-<td class="enum_member_description">
-<p>source code (the preferred
-    form for making modifications) must be provided when exercising some
-    rights granted by the license</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-REQUIRES-COPYLEFT:CAPS"></a>GST_TAG_LICENSE_REQUIRES_COPYLEFT</p></td>
-<td class="enum_member_description">
-<p>derivative and combined works
-    must be licensed under specified terms, similar to those of the original
-    work</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-REQUIRES-LESSER-COPYLEFT:CAPS"></a>GST_TAG_LICENSE_REQUIRES_LESSER_COPYLEFT</p></td>
-<td class="enum_member_description">
-<p>derivative works must be
-    licensed under specified terms, with at least the same conditions as
-    the original work; combinations with the work may be licensed under
-    different terms</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-PROHIBITS-COMMERCIAL-USE:CAPS"></a>GST_TAG_LICENSE_PROHIBITS_COMMERCIAL_USE</p></td>
-<td class="enum_member_description">
-<p>exercising rights for
-    commercial purposes is prohibited</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-PROHIBITS-HIGH-INCOME-NATION-USE:CAPS"></a>GST_TAG_LICENSE_PROHIBITS_HIGH_INCOME_NATION_USE</p></td>
-<td class="enum_member_description">
-<p>use in a
-    non-developing country is prohibited</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-CREATIVE-COMMONS-LICENSE:CAPS"></a>GST_TAG_LICENSE_CREATIVE_COMMONS_LICENSE</p></td>
-<td class="enum_member_description">
-<p>this license was created
-    by the Creative Commons project</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-TAG-LICENSE-FREE-SOFTWARE-FOUNDATION-LICENSE:CAPS"></a>GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE</p></td>
-<td class="enum_member_description">
-<p>this license was
-    created by the Free Software Foundation (FSF)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttaglicenses.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagmux.html b/docs/libs/html/gst-plugins-base-libs-gsttagmux.html
index 4bb1bd6..f20af55 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagmux.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagmux.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gsttagmux.top_of_page"></a>gsttagmux</span></h2>
-<p>gsttagmux — Base class for adding tags that are in one single chunk
-                    directly at the beginning or at the end of a file</p>
+<p>gsttagmux</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -58,31 +57,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagmux.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.13.10.5.2"></a><h3>Deriving from GstTagMux</h3>
-<p>
-Provides a base class for adding tags at the beginning or end of a
-stream.
-</p>
-<p>
-Subclasses have to do the following things:
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
- In their base init function, they must add pad templates for the sink
- pad and the source pad to the element class, describing the media type
- they accept and output in the caps of the pad template.
- </p></li>
-<li class="listitem"><p>
- In their class init function, they must override the
- GST_TAG_MUX_CLASS(mux_klass)-&gt;render_start_tag and/or
- GST_TAG_MUX_CLASS(mux_klass)-&gt;render_end_tag vfuncs and set up a render
- function.
- </p></li>
-</ul></div>
-<p>
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagmux.functions_details"></a><h2>Functions</h2>
@@ -96,22 +70,6 @@
   GstElement    element;
 };
 </pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gsttagmux.html#GstTagMux" title="struct GstTagMux"><span class="type">GstTagMux</span></a> structure.</p>
-<div class="refsect3">
-<a name="GstTagMux.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> <em class="structfield"><code><a name="GstTagMux.element"></a>element</code></em>;</p></td>
-<td class="struct_member_description"><p>parent element</p></td>
-<td class="struct_member_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -124,39 +82,9 @@
   GstBuffer  * (*render_end_tag)   (GstTagMux * mux, const GstTagList * tag_list);
 };
 </pre>
-<p>The <a class="link" href="gst-plugins-base-libs-gsttagmux.html#GstTagMuxClass" title="struct GstTagMuxClass"><span class="type">GstTagMuxClass</span></a> structure. Subclasses need to override at least one
-of the two render vfuncs.</p>
-<div class="refsect3">
-<a name="GstTagMuxClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstTagMuxClass.render-start-tag"></a>render_start_tag</code></em> ()</p></td>
-<td class="struct_member_description"><p>create a tag buffer to add to the beginning of the
-input stream given a tag list, or NULL</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstTagMuxClass.render-end-tag"></a>render_end_tag</code></em> ()</p></td>
-<td class="struct_member_description"><p>create a tag buffer to add to the end of the
-input stream given a tag list, or NULL</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
 </div>
 </div>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttagmux.see-also"></a><h2>See Also</h2>
-<p>GstApeMux, GstId3Mux</p>
-</div>
-</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html b/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html
index 557de0d..4d1ab60 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagvorbis.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gsttagvorbis.top_of_page"></a>gsttagvorbis</span></h2>
-<p>gsttagvorbis — tag mappings and support functions for plugins
-                    dealing with vorbiscomments</p>
+<p>gsttagvorbis</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -104,12 +103,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagvorbis.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.13.4.5.2"></a><p>
-Contains various utility functions for plugins to parse or create
-vorbiscomments and map them to and from <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a>s.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagvorbis.functions_details"></a><h2>Functions</h2>
@@ -117,52 +110,12 @@
 <a name="gst-tag-from-vorbis-tag"></a><h3>gst_tag_from_vorbis_tag ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_from_vorbis_tag (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *vorbis_tag</code></em>);</pre>
-<p>Looks up the GStreamer tag for a vorbiscomment tag.</p>
-<div class="refsect3">
-<a name="gst-tag-from-vorbis-tag.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>vorbis_tag</p></td>
-<td class="parameter_description"><p>vorbiscomment tag to convert to GStreamer tag</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-from-vorbis-tag.returns"></a><h4>Returns</h4>
-<p> The corresponding GStreamer tag or NULL if none exists.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-to-vorbis-tag"></a><h3>gst_tag_to_vorbis_tag ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_tag_to_vorbis_tag (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gst_tag</code></em>);</pre>
-<p>Looks up the vorbiscomment tag for a GStreamer tag.</p>
-<div class="refsect3">
-<a name="gst-tag-to-vorbis-tag.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>gst_tag</p></td>
-<td class="parameter_description"><p>GStreamer tag to convert to vorbiscomment tag</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-to-vorbis-tag.returns"></a><h4>Returns</h4>
-<p> The corresponding vorbiscomment tag or NULL if none exists.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -171,39 +124,6 @@
 gst_vorbis_tag_add (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *list</code></em>,
                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>,
                     <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
-<p>Convenience function using <a class="link" href="gst-plugins-base-libs-gsttagvorbis.html#gst-tag-from-vorbis-tag" title="gst_tag_from_vorbis_tag ()"><code class="function">gst_tag_from_vorbis_tag()</code></a>, parsing
-a vorbis comment string into the right type and adding it to the
-given taglist <em class="parameter"><code>list</code></em>
-.</p>
-<p>Unknown vorbiscomment tags will be added to the tag list in form
-of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-EXTENDED-COMMENT:CAPS"><span class="type">GST_TAG_EXTENDED_COMMENT</span></a>.</p>
-<div class="refsect3">
-<a name="gst-vorbis-tag-add.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>list</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tag</p></td>
-<td class="parameter_description"><p>a vorbiscomment tag string (key in key=value), must be valid UTF-8</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>a vorbiscomment value string (value in key=value), must be valid UTF-8</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -211,37 +131,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
 gst_tag_to_vorbis_comments (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *list</code></em>,
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag</code></em>);</pre>
-<p>Creates a new tag list that contains the information parsed out of a
-vorbiscomment packet.</p>
-<div class="refsect3">
-<a name="gst-tag-to-vorbis-comments.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>list</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>tag</p></td>
-<td class="parameter_description"><p>a GStreamer tag identifier, such as <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-ARTIST:CAPS"><span class="type">GST_TAG_ARTIST</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-to-vorbis-comments.returns"></a><h4>Returns</h4>
-<p> A <a href="/usr/share/gtk-doc/html/glibglib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of newly-allocated
-key=value strings. Free with g_list_foreach (list, (GFunc) g_free, NULL)
-plus g_list_free (list). </p>
-<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -252,52 +141,6 @@
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *id_data</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> id_data_length</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **vendor_string</code></em>);</pre>
-<p>Creates a new tag list that contains the information parsed out of a
-vorbiscomment packet.</p>
-<div class="refsect3">
-<a name="gst-tag-list-from-vorbiscomment.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>data</p></td>
-<td class="parameter_description"><p>data to convert</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>size of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id_data</p></td>
-<td class="parameter_description"><p>identification data at start of stream</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id_data_length</p></td>
-<td class="parameter_description"><p>length of identification data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vendor_string</p></td>
-<td class="parameter_description"><p>pointer to a string that should take the vendor string
-of this vorbis comment or NULL if you don't need it.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-from-vorbiscomment.returns"></a><h4>Returns</h4>
-<p> A new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> with all tags that could be extracted from the
-given vorbiscomment buffer or NULL on error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -308,46 +151,6 @@
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *id_data</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> id_data_length</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **vendor_string</code></em>);</pre>
-<p>Creates a new tag list that contains the information parsed out of a
-vorbiscomment packet.</p>
-<div class="refsect3">
-<a name="gst-tag-list-from-vorbiscomment-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>buffer to convert</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id_data</p></td>
-<td class="parameter_description"><p>identification data at start of stream</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id_data_length</p></td>
-<td class="parameter_description"><p>length of identification data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vendor_string</p></td>
-<td class="parameter_description"><p>pointer to a string that should take the vendor string
-of this vorbis comment or NULL if you don't need it.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-from-vorbiscomment-buffer.returns"></a><h4>Returns</h4>
-<p> A new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> with all tags that could be extracted from the
-given vorbiscomment buffer or NULL on error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -357,54 +160,11 @@
                                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *id_data</code></em>,
                                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> id_data_length</code></em>,
                                       <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *vendor_string</code></em>);</pre>
-<p>Creates a new vorbiscomment buffer from a tag list.</p>
-<div class="refsect3">
-<a name="gst-tag-list-to-vorbiscomment-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>list</p></td>
-<td class="parameter_description"><p>tag list to convert</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id_data</p></td>
-<td class="parameter_description"><p>identification data at start of stream</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id_data_length</p></td>
-<td class="parameter_description"><p>length of identification data, may be 0 if <em class="parameter"><code>id_data</code></em>
-is NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>vendor_string</p></td>
-<td class="parameter_description"><p>string that describes the vendor string or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-to-vorbiscomment-buffer.returns"></a><h4>Returns</h4>
-<p> A new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> containing a vorbiscomment buffer with all tags
-that could be converted from the given tag list.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagvorbis.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttagvorbis.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagxmp.html b/docs/libs/html/gst-plugins-base-libs-gsttagxmp.html
index 88b343e..25ff8de 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagxmp.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagxmp.html
@@ -27,8 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gsttagxmp.top_of_page"></a>gsttagxmp</span></h2>
-<p>gsttagxmp — tag mappings and support functions for plugins
-                    dealing with xmp packets</p>
+<p>gsttagxmp</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -73,9 +72,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagxmp.description"></a><h2>Description</h2>
-<p>Contains various utility functions for plugins to parse or create
-xmp packets and map them to and from <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a>s.</p>
-<p>Please note that the xmp parser is very lightweight and not strict at all.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagxmp.functions_details"></a><h2>Functions</h2>
@@ -83,26 +79,6 @@
 <a name="gst-tag-list-from-xmp-buffer"></a><h3>gst_tag_list_from_xmp_buffer ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_tag_list_from_xmp_buffer (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Parse a xmp packet into a taglist.</p>
-<div class="refsect3">
-<a name="gst-tag-list-from-xmp-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>buffer</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-from-xmp-buffer.returns"></a><h4>Returns</h4>
-<p> new taglist or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, free the list when done</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -111,62 +87,17 @@
 gst_tag_list_to_xmp_buffer (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *list</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> read_only</code></em>,
                             <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **schemas</code></em>);</pre>
-<p>Formats a taglist as a xmp packet using only the selected
-schemas. An empty list (<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>) means that all schemas should
-be used</p>
-<div class="refsect3">
-<a name="gst-tag-list-to-xmp-buffer.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>list</p></td>
-<td class="parameter_description"><p>tags</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>read_only</p></td>
-<td class="parameter_description"><p>does the container forbid inplace editing</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>schemas</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of schemas to be used on serialization</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-list-to-xmp-buffer.returns"></a><h4>Returns</h4>
-<p> new buffer or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, unref the buffer when done</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-xmp-list-schemas"></a><h3>gst_tag_xmp_list_schemas ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
 gst_tag_xmp_list_schemas (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Gets the list of supported schemas in the xmp lib</p>
-<div class="refsect3">
-<a name="gst-tag-xmp-list-schemas.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of strings with the
-schema names. </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>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagxmp.other_details"></a><h2>Types and Values</h2>
 </div>
-<div class="refsect1">
-<a name="gst-plugins-base-libs-gsttagxmp.see-also"></a><h2>See Also</h2>
-<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a></p>
-</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.html b/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.html
index 87328cc..9c7aeb8 100644
--- a/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.html
+++ b/docs/libs/html/gst-plugins-base-libs-gsttagxmpwriter.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-gsttagxmpwriter.top_of_page"></a>gsttagxmpwriter</span></h2>
-<p>gsttagxmpwriter — Interface for elements that provide XMP serialization</p>
+<p>gsttagxmpwriter</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -92,17 +92,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagxmpwriter.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.13.8.4.2"></a><p>
-This interface is implemented by elements that are able to do XMP serialization. Examples for
-such elements are <span class="type">jifmux</span> and <span class="type">qtmux</span>.
-</p>
-<p>
-Applications can use this interface to configure which XMP schemas should be used when serializing
-tags into XMP. Schemas are represented by their names, a full list of the supported schemas can be
-obtained from <a class="link" href="gst-plugins-base-libs-gsttagxmp.html#gst-tag-xmp-list-schemas" title="gst_tag_xmp_list_schemas ()"><code class="function">gst_tag_xmp_list_schemas()</code></a>. By default, all schemas are used.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gsttagxmpwriter.functions_details"></a><h2>Functions</h2>
@@ -110,23 +99,6 @@
 <a name="gst-tag-xmp-writer-add-all-schemas"></a><h3>gst_tag_xmp_writer_add_all_schemas ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_tag_xmp_writer_add_all_schemas (<em class="parameter"><code><span class="type">GstTagXmpWriter</span> *config</code></em>);</pre>
-<p>Adds all available XMP schemas to the configuration. Meaning that
-all will be used.</p>
-<div class="refsect3">
-<a name="gst-tag-xmp-writer-add-all-schemas.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>config</p></td>
-<td class="parameter_description"><p>a <span class="type">GstTagXmpWriter</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -134,30 +106,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_tag_xmp_writer_add_schema (<em class="parameter"><code><span class="type">GstTagXmpWriter</span> *config</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *schema</code></em>);</pre>
-<p>Adds <em class="parameter"><code>schema</code></em>
- to the list schemas</p>
-<div class="refsect3">
-<a name="gst-tag-xmp-writer-add-schema.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>config</p></td>
-<td class="parameter_description"><p>a <span class="type">GstTagXmpWriter</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>schema</p></td>
-<td class="parameter_description"><p>the schema to be added</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -165,34 +113,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_tag_xmp_writer_has_schema (<em class="parameter"><code><span class="type">GstTagXmpWriter</span> *config</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *schema</code></em>);</pre>
-<p>Checks if <em class="parameter"><code>schema</code></em>
- is going to be used</p>
-<div class="refsect3">
-<a name="gst-tag-xmp-writer-has-schema.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>config</p></td>
-<td class="parameter_description"><p>a <span class="type">GstTagXmpWriter</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>schema</p></td>
-<td class="parameter_description"><p>the schema to test</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-tag-xmp-writer-has-schema.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is going to be used</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -200,53 +120,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_tag_xmp_writer_remove_schema (<em class="parameter"><code><span class="type">GstTagXmpWriter</span> *config</code></em>,
                                   <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *schema</code></em>);</pre>
-<p>Removes a schema from the list of schemas to use. Nothing is done if
-the schema wasn't in the list</p>
-<div class="refsect3">
-<a name="gst-tag-xmp-writer-remove-schema.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>config</p></td>
-<td class="parameter_description"><p>a <span class="type">GstTagXmpWriter</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>schema</p></td>
-<td class="parameter_description"><p>the schema to remove</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-tag-xmp-writer-remove-all-schemas"></a><h3>gst_tag_xmp_writer_remove_all_schemas ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_tag_xmp_writer_remove_all_schemas (<em class="parameter"><code><span class="type">GstTagXmpWriter</span> *config</code></em>);</pre>
-<p>Removes all schemas from the list of schemas to use. Meaning that no
-XMP will be generated.</p>
-<div class="refsect3">
-<a name="gst-tag-xmp-writer-remove-all-schemas.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>config</p></td>
-<td class="parameter_description"><p>a <span class="type">GstTagXmpWriter</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideo.html b/docs/libs/html/gst-plugins-base-libs-gstvideo.html
index 034bf7f..1a075f4 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideo.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideo.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-gstvideo.top_of_page"></a>gstvideo</span></h2>
-<p>gstvideo — Support library for video operations</p>
+<p>gstvideo</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -1245,12 +1245,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideo.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.15.3.6.2"></a><p>
-This library contains some helper functions and includes the
-videosink and videofilter base classes.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideo.functions_details"></a><h2>Functions</h2>
@@ -1265,67 +1259,6 @@
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> video_par_d</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> display_par_n</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> display_par_d</code></em>);</pre>
-<p>Given the Pixel Aspect Ratio and size of an input video frame, and the
-pixel aspect ratio of the intended display device, calculates the actual
-display ratio the video will be rendered with.</p>
-<div class="refsect3">
-<a name="gst-video-calculate-display-ratio.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dar_n</p></td>
-<td class="parameter_description"><p> Numerator of the calculated display_ratio. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dar_d</p></td>
-<td class="parameter_description"><p> Denominator of the calculated display_ratio. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>video_width</p></td>
-<td class="parameter_description"><p>Width of the video frame in pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>video_height</p></td>
-<td class="parameter_description"><p>Height of the video frame in pixels</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>video_par_n</p></td>
-<td class="parameter_description"><p>Numerator of the pixel aspect ratio of the input video.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>video_par_d</p></td>
-<td class="parameter_description"><p>Denominator of the pixel aspect ratio of the input video.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>display_par_n</p></td>
-<td class="parameter_description"><p>Numerator of the pixel aspect ratio of the display device</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>display_par_d</p></td>
-<td class="parameter_description"><p>Denominator of the pixel aspect ratio of the display device</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-calculate-display-ratio.returns"></a><h4>Returns</h4>
-<p> A boolean indicating success and a calculated Display Ratio in the
-dar_n and dar_d parameters.
-The return value is FALSE in the case of integer overflow or other error.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1334,45 +1267,6 @@
 gst_video_guess_framerate (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> duration</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *dest_n</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *dest_d</code></em>);</pre>
-<p>Given the nominal duration of one video frame,
-this function will check some standard framerates for
-a close match (within 0.1%) and return one if possible,</p>
-<p>It will calculate an arbitrary framerate if no close
-match was found, and return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-<p>It returns <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if a duration of 0 is passed.</p>
-<div class="refsect3">
-<a name="gst-video-guess-framerate.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>duration</p></td>
-<td class="parameter_description"><p>Nominal duration of one frame</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_n</p></td>
-<td class="parameter_description"><p> Numerator of the calculated framerate. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_d</p></td>
-<td class="parameter_description"><p> Denominator of the calculated framerate. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-guess-framerate.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a close "standard" framerate was
-recognised, and <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1390,46 +1284,6 @@
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *to_caps</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timeout</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Converts a raw video buffer into the specified output caps.</p>
-<p>The output caps can be any raw video formats or any image formats (jpeg, png, ...).</p>
-<p>The width, height and pixel-aspect-ratio can also be specified in the output caps.</p>
-<div class="refsect3">
-<a name="gst-video-convert-sample.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sample</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to_caps</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to convert to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>the maximum amount of time allowed for the processing.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>pointer to a <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a>. Can be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-convert-sample.returns"></a><h4>Returns</h4>
-<p> The converted <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a>, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error happened (in which case <em class="parameter"><code>err</code></em>
-will point to the <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a>).</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1441,118 +1295,18 @@
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback" title="GstVideoConvertSampleCallback ()"><span class="type">GstVideoConvertSampleCallback</span></a> callback</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_notify</code></em>);</pre>
-<p>Converts a raw video buffer into the specified output caps.</p>
-<p>The output caps can be any raw video formats or any image formats (jpeg, png, ...).</p>
-<p>The width, height and pixel-aspect-ratio can also be specified in the output caps.</p>
-<p><em class="parameter"><code>callback</code></em>
- will be called after conversion, when an error occured or if conversion didn't
-finish after <em class="parameter"><code>timeout</code></em>
-. <em class="parameter"><code>callback</code></em>
- will always be called from the thread default
-<a href="/usr/share/gtk-doc/html/glibglib-The-Main-Event-Loop.html#GMainContext"><code class="literal">GMainContext</code></a>, see <a href="/usr/share/gtk-doc/html/glibglib-The-Main-Event-Loop.html#g-main-context-get-thread-default"><code class="function">g_main_context_get_thread_default()</code></a>. If GLib before 2.22 is used,
-this will always be the global default main context.</p>
-<p><em class="parameter"><code>destroy_notify</code></em>
- will be called after the callback was called and <em class="parameter"><code>user_data</code></em>
- is not needed
-anymore.</p>
-<div class="refsect3">
-<a name="gst-video-convert-sample-async.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>sample</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>to_caps</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> to convert to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timeout</p></td>
-<td class="parameter_description"><p>the maximum amount of time allowed for the processing.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>callback</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback" title="GstVideoConvertSampleCallback ()"><code class="literal">GstVideoConvertSampleCallback</code></a> that will be called after conversion.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>extra data that will be passed to the <em class="parameter"><code>callback</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>destroy_notify</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><code class="literal">GDestroyNotify</code></a> to be called after <em class="parameter"><code>user_data</code></em>
-is not needed anymore</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-alignment-reset"></a><h3>gst_video_alignment_reset ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_alignment_reset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);</pre>
-<p>Set <em class="parameter"><code>align</code></em>
- to its default values with no padding and no alignment.</p>
-<div class="refsect3">
-<a name="gst-video-alignment-reset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>align</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-event-new-still-frame"></a><h3>gst_video_event_new_still_frame ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="returnvalue">GstEvent</span></a> *
 gst_video_event_new_still_frame (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> in_still</code></em>);</pre>
-<p>Creates a new Still Frame event. If <em class="parameter"><code>in_still</code></em>
- is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the event
-represents the start of a still frame sequence. If it is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, then
-the event ends a still frame sequence.</p>
-<p>To parse an event created by <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-still-frame" title="gst_video_event_new_still_frame ()"><code class="function">gst_video_event_new_still_frame()</code></a> use
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-still-frame" title="gst_video_event_parse_still_frame ()"><code class="function">gst_video_event_parse_still_frame()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-event-new-still-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>in_still</p></td>
-<td class="parameter_description"><p>boolean value for the still-frame state of the event.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-event-new-still-frame.returns"></a><h4>Returns</h4>
-<p> The new GstEvent</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1560,39 +1314,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_event_parse_still_frame (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> *event</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *in_still</code></em>);</pre>
-<p>Parse a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a>, identify if it is a Still Frame event, and
-return the still-frame state from the event if it is.
-If the event represents the start of a still frame, the in_still
-variable will be set to TRUE, otherwise FALSE. It is OK to pass NULL for the
-in_still variable order to just check whether the event is a valid still-frame
-event.</p>
-<p>Create a still frame event using <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-still-frame" title="gst_video_event_new_still_frame ()"><code class="function">gst_video_event_new_still_frame()</code></a></p>
-<div class="refsect3">
-<a name="gst-video-event-parse-still-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to parse</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>in_still</p></td>
-<td class="parameter_description"><p>A boolean to receive the still-frame status from the event, or NULL</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-event-parse-still-frame.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid still-frame event. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1604,54 +1325,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> all_headers</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
-<p>Creates a new downstream force key unit event. A downstream force key unit
-event can be sent down the pipeline to request downstream elements to produce
-a key unit. A downstream force key unit event must also be sent when handling
-an upstream force key unit event to notify downstream that the latter has been
-handled.</p>
-<p>To parse an event created by <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-downstream-force-key-unit" title="gst_video_event_new_downstream_force_key_unit ()"><code class="function">gst_video_event_new_downstream_force_key_unit()</code></a> use
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-downstream-force-key-unit" title="gst_video_event_parse_downstream_force_key_unit ()"><code class="function">gst_video_event_parse_downstream_force_key_unit()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-event-new-downstream-force-key-unit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>timestamp</p></td>
-<td class="parameter_description"><p>the timestamp of the buffer that starts a new key unit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stream_time</p></td>
-<td class="parameter_description"><p>the stream_time of the buffer that starts a new key unit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>running_time</p></td>
-<td class="parameter_description"><p>the running_time of the buffer that starts a new key unit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>all_headers</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to produce headers when starting a new key unit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>count</p></td>
-<td class="parameter_description"><p>integer that can be used to number key units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-event-new-downstream-force-key-unit.returns"></a><h4>Returns</h4>
-<p> The new GstEvent</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1664,57 +1337,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *all_headers</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *count</code></em>);</pre>
-<p>Get timestamp, stream-time, running-time, all-headers and count in the force
-key unit event. See <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-downstream-force-key-unit" title="gst_video_event_new_downstream_force_key_unit ()"><code class="function">gst_video_event_new_downstream_force_key_unit()</code></a> for a
-full description of the downstream force key unit event.</p>
-<p><em class="parameter"><code>running_time</code></em>
- will be adjusted for any pad offsets of pads it was passing through.</p>
-<div class="refsect3">
-<a name="gst-video-event-parse-downstream-force-key-unit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to parse</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>timestamp</p></td>
-<td class="parameter_description"><p> A pointer to the timestamp in the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stream_time</p></td>
-<td class="parameter_description"><p> A pointer to the stream-time in the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>running_time</p></td>
-<td class="parameter_description"><p> A pointer to the running-time in the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>all_headers</p></td>
-<td class="parameter_description"><p> A pointer to the all_headers flag in the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>count</p></td>
-<td class="parameter_description"><p> A pointer to the count field of the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-event-parse-downstream-force-key-unit.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid downstream force key unit event.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1724,45 +1346,6 @@
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> all_headers</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
-<p>Creates a new upstream force key unit event. An upstream force key unit event
-can be sent to request upstream elements to produce a key unit. </p>
-<p><em class="parameter"><code>running_time</code></em>
- can be set to request a new key unit at a specific
-running_time. If set to GST_CLOCK_TIME_NONE, upstream elements will produce a
-new key unit as soon as possible.</p>
-<p>To parse an event created by <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-downstream-force-key-unit" title="gst_video_event_new_downstream_force_key_unit ()"><code class="function">gst_video_event_new_downstream_force_key_unit()</code></a> use
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-downstream-force-key-unit" title="gst_video_event_parse_downstream_force_key_unit ()"><code class="function">gst_video_event_parse_downstream_force_key_unit()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-event-new-upstream-force-key-unit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>running_time</p></td>
-<td class="parameter_description"><p>the running_time at which a new key unit should be produced</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>all_headers</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to produce headers when starting a new key unit</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>count</p></td>
-<td class="parameter_description"><p>integer that can be used to number key units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-event-new-upstream-force-key-unit.returns"></a><h4>Returns</h4>
-<p> The new GstEvent</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1773,75 +1356,12 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *all_headers</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *count</code></em>);</pre>
-<p>Get running-time, all-headers and count in the force key unit event. See
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-upstream-force-key-unit" title="gst_video_event_new_upstream_force_key_unit ()"><code class="function">gst_video_event_new_upstream_force_key_unit()</code></a> for a full description of the
-upstream force key unit event.</p>
-<p>Create an upstream force key unit event using  <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-upstream-force-key-unit" title="gst_video_event_new_upstream_force_key_unit ()"><code class="function">gst_video_event_new_upstream_force_key_unit()</code></a></p>
-<p><em class="parameter"><code>running_time</code></em>
- will be adjusted for any pad offsets of pads it was passing through.</p>
-<div class="refsect3">
-<a name="gst-video-event-parse-upstream-force-key-unit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to parse</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>running_time</p></td>
-<td class="parameter_description"><p> A pointer to the running_time in the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>all_headers</p></td>
-<td class="parameter_description"><p> A pointer to the all_headers flag in the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>count</p></td>
-<td class="parameter_description"><p> A pointer to the count field in the event. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-event-parse-upstream-force-key-unit.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid upstream force-key-unit event. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-event-is-force-key-unit"></a><h3>gst_video_event_is_force_key_unit ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_event_is_force_key_unit (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> *event</code></em>);</pre>
-<p>Checks if an event is a force key unit event. Returns true for both upstream
-and downstream force key unit events.</p>
-<div class="refsect3">
-<a name="gst-video-event-is-force-key-unit.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>event</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> to check</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-event-is-force-key-unit.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid force key unit event</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1855,76 +1375,6 @@
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>);</pre>
-<p>Unpacks <em class="parameter"><code>width</code></em>
- pixels from the given planes and strides containing data of
-format <em class="parameter"><code>info</code></em>
-. The pixels will be unpacked into <em class="parameter"><code>dest</code></em>
- with each component
-interleaved as per <em class="parameter"><code>info</code></em>
-'s unpack_format, which will usually be one of
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-ARGB:CAPS"><span class="type">GST_VIDEO_FORMAT_ARGB</span></a>, <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-AYUV:CAPS"><span class="type">GST_VIDEO_FORMAT_AYUV</span></a>, <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-ARGB64:CAPS"><span class="type">GST_VIDEO_FORMAT_ARGB64</span></a> or
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-AYUV64:CAPS"><span class="type">GST_VIDEO_FORMAT_AYUV64</span></a> depending on the format to unpack.
-<em class="parameter"><code>dest</code></em>
- should at least be big enough to hold <em class="parameter"><code>width</code></em>
- * bytes_per_pixel bytes
-where bytes_per_pixel relates to the unpack format and will usually be
-either 4 or 8 depending on the unpack format. bytes_per_pixel will be
-the same as the pixel stride for plane 0 for the above formats.</p>
-<p>For subsampled formats, the components will be duplicated in the destination
-array. Reconstruction of the missing components can be performed in a
-separate step after unpacking.</p>
-<div class="refsect3">
-<a name="GstVideoFormatUnpack.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags to control the unpacking</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p>a destination array</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>pointers to the data planes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stride</p></td>
-<td class="parameter_description"><p>strides of the planes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>the x position in the image to start from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>the y position in the image to start from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the amount of pixels to unpack.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1939,83 +1389,6 @@
                        <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> chroma_site</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>);</pre>
-<p>Packs <em class="parameter"><code>width</code></em>
- pixels from <em class="parameter"><code>src</code></em>
- to the given planes and strides in the
-format <em class="parameter"><code>info</code></em>
-. The pixels from source have each component interleaved
-and will be packed into the planes in <em class="parameter"><code>data</code></em>
-.</p>
-<p>This function operates on pack_lines lines, meaning that <em class="parameter"><code>src</code></em>
- should
-contain at least pack_lines lines with a stride of <em class="parameter"><code>sstride</code></em>
- and <em class="parameter"><code>y</code></em>
-
-should be a multiple of pack_lines.</p>
-<p>Subsampled formats will use the horizontally and vertically cosited
-component from the source. Subsampling should be performed before
-packing.</p>
-<p>Because this function does not have a x coordinate, it is not possible to
-pack pixels starting from an unaligned position. For tiled images this
-means that packing should start from a tile coordinate. For subsampled
-formats this means that a complete pixel needs to be packed.</p>
-<div class="refsect3">
-<a name="GstVideoFormatPack.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags to control the packing</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>a source array</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>sstride</p></td>
-<td class="parameter_description"><p>the source array stride</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>pointers to the destination data planes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stride</p></td>
-<td class="parameter_description"><p>strides of the destination planes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>chroma_site</p></td>
-<td class="parameter_description"><p>the chroma siting of the target when subsampled (not used)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>the y position in the image to pack to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the amount of pixels to pack.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2106,92 +1479,18 @@
 <a name="GST-VIDEO-FORMAT-INFO-PSTRIDE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_PSTRIDE()</h3>
 <pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_PSTRIDE(info,c)    ((info)-&gt;pixel_stride[c])
 </pre>
-<p>pixel stride for the given component. This is the amount of bytes to the
-pixel immediately to the right, so basically bytes from one pixel to the
-next. When bits &lt; 8, the stride is expressed in bits.</p>
-<p>Examples: for 24-bit RGB, the pixel stride would be 3 bytes, while it
-would be 4 bytes for RGBx or ARGB, and 8 bytes for ARGB64 or AYUV64.
-For planar formats such as I420 the pixel stride is usually 1. For
-YUY2 it would be 2 bytes.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-FORMAT-INFO-PSTRIDE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>c</p></td>
-<td class="parameter_description"><p>the component index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-FORMAT-INFO-N-PLANES:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_N_PLANES()</h3>
 <pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_N_PLANES(info)     ((info)-&gt;n_planes)
 </pre>
-<p>Number of planes. This is the number of planes the pixel layout is
-organized in in memory. The number of planes can be less than the
-number of components (e.g. Y,U,V,A or R, G, B, A) when multiple
-components are packed into one plane.</p>
-<p>Examples: RGB/RGBx/RGBA: 1 plane, 3/3/4 components;
-I420: 3 planes, 3 components; NV21/NV12: 2 planes, 3 components.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-FORMAT-INFO-N-PLANES.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-FORMAT-INFO-PLANE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_PLANE()</h3>
 <pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_PLANE(info,c)      ((info)-&gt;plane[c])
 </pre>
-<p>Plane number where the given component can be found. A plane may
-contain data for multiple components.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-FORMAT-INFO-PLANE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>c</p></td>
-<td class="parameter_description"><p>the component index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2239,37 +1538,6 @@
 <a name="GST-VIDEO-FORMAT-INFO-STRIDE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_STRIDE()</h3>
 <pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_STRIDE(info,strides,comp) ((strides)[(info)-&gt;plane[comp]])
 </pre>
-<p>Row stride in bytes, that is number of bytes from the first pixel component
-of a row to the first pixel component in the next row. This might include
-some row padding (memory not actually used for anything, to make sure the
-beginning of the next row is aligned in a particular way).</p>
-<div class="refsect3">
-<a name="GST-VIDEO-FORMAT-INFO-STRIDE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>strides</p></td>
-<td class="parameter_description"><p>an array of strides</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>comp</p></td>
-<td class="parameter_description"><p>the component index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2305,226 +1573,41 @@
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> green_mask</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> blue_mask</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> alpha_mask</code></em>);</pre>
-<p>Find the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> for the given parameters.</p>
-<div class="refsect3">
-<a name="gst-video-format-from-masks.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>depth</p></td>
-<td class="parameter_description"><p>the amount of bits used for a pixel</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>bpp</p></td>
-<td class="parameter_description"><p>the amount of bits used to store a pixel. This value is bigger than
-<em class="parameter"><code>depth</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>endianness</p></td>
-<td class="parameter_description"><p>the endianness of the masks, <a href="/usr/share/gtk-doc/html/glibglib-Byte-Order-Macros.html#G-LITTLE-ENDIAN:CAPS"><span class="type">G_LITTLE_ENDIAN</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Byte-Order-Macros.html#G-BIG-ENDIAN:CAPS"><span class="type">G_BIG_ENDIAN</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>red_mask</p></td>
-<td class="parameter_description"><p>the red mask</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>green_mask</p></td>
-<td class="parameter_description"><p>the green mask</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>blue_mask</p></td>
-<td class="parameter_description"><p>the blue mask</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>alpha_mask</p></td>
-<td class="parameter_description"><p>the alpha mask, or 0 if no alpha mask</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-format-from-masks.returns"></a><h4>Returns</h4>
-<p> a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
-not specify a known format.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-format-from-fourcc"></a><h3>gst_video_format_from_fourcc ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a>
 gst_video_format_from_fourcc (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> fourcc</code></em>);</pre>
-<p>Converts a FOURCC value into the corresponding <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a>.
-If the FOURCC cannot be represented by <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a>,
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-UNKNOWN:CAPS"><span class="type">GST_VIDEO_FORMAT_UNKNOWN</span></a> is returned.</p>
-<div class="refsect3">
-<a name="gst-video-format-from-fourcc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>fourcc</p></td>
-<td class="parameter_description"><p>a FOURCC value representing raw YUV video</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-format-from-fourcc.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> describing the FOURCC value</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-format-to-fourcc"></a><h3>gst_video_format_to_fourcc ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 gst_video_format_to_fourcc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);</pre>
-<p>Converts a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> value into the corresponding FOURCC.  Only
-a few YUV formats have corresponding FOURCC values.  If <em class="parameter"><code>format</code></em>
- has
-no corresponding FOURCC value, 0 is returned.</p>
-<div class="refsect3">
-<a name="gst-video-format-to-fourcc.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> video format</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-format-to-fourcc.returns"></a><h4>Returns</h4>
-<p> the FOURCC corresponding to <em class="parameter"><code>format</code></em>
-</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-format-from-string"></a><h3>gst_video_format_from_string ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a>
 gst_video_format_from_string (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format</code></em>);</pre>
-<p>Convert the <em class="parameter"><code>format</code></em>
- string to its <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a>.</p>
-<div class="refsect3">
-<a name="gst-video-format-from-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>a format string</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-format-from-string.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> for <em class="parameter"><code>format</code></em>
-or GST_VIDEO_FORMAT_UNKNOWN when the
-string is not a known format.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-format-to-string"></a><h3>gst_video_format_to_string ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_video_format_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);</pre>
-<p>Returns a string containing a descriptive name for
-the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> if there is one, or NULL otherwise.</p>
-<div class="refsect3">
-<a name="gst-video-format-to-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> video format</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-format-to-string.returns"></a><h4>Returns</h4>
-<p> the name corresponding to <em class="parameter"><code>format</code></em>
-</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-format-get-info"></a><h3>gst_video_format_get_info ()</h3>
 <pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="returnvalue">GstVideoFormatInfo</span></a> *
 gst_video_format_get_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);</pre>
-<p>Get the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> for <em class="parameter"><code>format</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-video-format-get-info.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-format-get-info.returns"></a><h4>Returns</h4>
-<p> The <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> for <em class="parameter"><code>format</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CAPS-MAKE:CAPS"></a><h3>GST_VIDEO_CAPS_MAKE()</h3>
 <pre class="programlisting">#define             GST_VIDEO_CAPS_MAKE(format)</pre>
-<p>Generic caps string for video, for use in pad templates.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CAPS-MAKE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>format</p></td>
-<td class="parameter_description"><p>string format that describes the pixel layout, as string
-(e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.)</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2534,47 +1617,6 @@
                                <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *info</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> offset[GST_VIDEO_MAX_COMPONENTS]</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> scale[GST_VIDEO_MAX_COMPONENTS]</code></em>);</pre>
-<p>Compute the offset and scale values for each component of <em class="parameter"><code>info</code></em>
-. For each
-component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
-range [0.0 .. 1.0].</p>
-<p>The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert
-the component values in range [0.0 .. 1.0] back to their representation in
-<em class="parameter"><code>info</code></em>
- and <em class="parameter"><code>range</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-color-range-offsets.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>range</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorRange" title="enum GstVideoColorRange"><span class="type">GstVideoColorRange</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<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#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>offset</p></td>
-<td class="parameter_description"><p> output offsets. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>scale</p></td>
-<td class="parameter_description"><p> output scale. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2583,93 +1625,6 @@
 gst_video_color_matrix_get_Kr_Kb (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorMatrix" title="enum GstVideoColorMatrix"><span class="type">GstVideoColorMatrix</span></a> matrix</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *Kr</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *Kb</code></em>);</pre>
-<p>Get the coefficients used to convert between Y'PbPr and R'G'B' using <em class="parameter"><code>matrix</code></em>
-.</p>
-<p>When:</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="number">0.0</span> <span class="gtkdoc opt">&lt;= [</span>Y<span class="string">',R'</span><span class="gtkdoc opt">,</span>G<span class="string">',B'</span><span class="gtkdoc opt">] &lt;=</span> <span class="number">1.0</span><span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">(-</span><span class="number">0.5</span> <span class="gtkdoc opt">&lt;= [</span>Pb<span class="gtkdoc opt">,</span>Pr<span class="gtkdoc opt">] &lt;=</span> <span class="number">0.5</span><span class="gtkdoc opt">)</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p></p>
-<p>the general conversion is given by:</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3</pre></td>
-        <td class="listing_code"><pre class="programlisting">Y<span class="string">' = Kr*R'</span> <span class="gtkdoc opt">+ (</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kr<span class="gtkdoc opt">-</span>Kb<span class="gtkdoc opt">)*</span>G<span class="string">' + Kb*B'</span>
-Pb <span class="gtkdoc opt">= (</span>B<span class="string">'-Y'</span><span class="gtkdoc opt">)/(</span><span class="number">2</span><span class="gtkdoc opt">*(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kb<span class="gtkdoc opt">))</span>
-Pr <span class="gtkdoc opt">= (</span>R<span class="string">'-Y'</span><span class="gtkdoc opt">)/(</span><span class="number">2</span><span class="gtkdoc opt">*(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kr<span class="gtkdoc opt">))</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p></p>
-<p>and the other way around:</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3</pre></td>
-        <td class="listing_code"><pre class="programlisting">R<span class="string">' = Y'</span> <span class="gtkdoc opt">+</span> Cr<span class="gtkdoc opt">*</span><span class="number">2</span><span class="gtkdoc opt">*(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kr<span class="gtkdoc opt">)</span>
-G<span class="string">' = Y'</span> <span class="gtkdoc opt">-</span> Cb<span class="gtkdoc opt">*</span><span class="number">2</span><span class="gtkdoc opt">*(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kb<span class="gtkdoc opt">)*</span>Kb<span class="gtkdoc opt">/(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kr<span class="gtkdoc opt">-</span>Kb<span class="gtkdoc opt">) -</span> Cr<span class="gtkdoc opt">*</span><span class="number">2</span><span class="gtkdoc opt">*(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kr<span class="gtkdoc opt">)*</span>Kr<span class="gtkdoc opt">/(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kr<span class="gtkdoc opt">-</span>Kb<span class="gtkdoc opt">)</span>
-B<span class="string">' = Y'</span> <span class="gtkdoc opt">+</span> Cb<span class="gtkdoc opt">*</span><span class="number">2</span><span class="gtkdoc opt">*(</span><span class="number">1</span><span class="gtkdoc opt">-</span>Kb<span class="gtkdoc opt">)</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p></p>
-<div class="refsect3">
-<a name="gst-video-color-matrix-get-Kr-Kb.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>matrix</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorMatrix" title="enum GstVideoColorMatrix"><span class="type">GstVideoColorMatrix</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>Kr</p></td>
-<td class="parameter_description"><p>result red channel coefficient</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>Kb</p></td>
-<td class="parameter_description"><p>result blue channel coefficient</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-color-matrix-get-Kr-Kb.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>matrix</code></em>
-was a YUV color format and <em class="parameter"><code>Kr</code></em>
-and <em class="parameter"><code>Kb</code></em>
-contain valid
-values.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2677,55 +1632,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 gst_video_color_transfer_decode (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTransferFunction" title="enum GstVideoTransferFunction"><span class="type">GstVideoTransferFunction</span></a> func</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> val</code></em>);</pre>
-<p>Convert <em class="parameter"><code>val</code></em>
- to its gamma decoded value. This is the inverse operation of
-<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-color-transfer-encode" title="gst_video_color_transfer_encode ()"><code class="function">gst_video_color_transfer_encode()</code></a></code></em>
-.</p>
-<p>For a non-linear value L' in the range [0..1], conversion to the linear
-L is in general performed with a power function like:</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">L <span class="gtkdoc opt">=</span> L<span class="string">' ^ gamma</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p></p>
-<p>Depending on <em class="parameter"><code>func</code></em>
-, different formulas might be applied. Some formulas
-encode a linear segment in the lower range.</p>
-<div class="refsect3">
-<a name="gst-video-color-transfer-decode.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>func</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTransferFunction" title="enum GstVideoTransferFunction"><span class="type">GstVideoTransferFunction</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>val</p></td>
-<td class="parameter_description"><p>a value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-color-transfer-decode.returns"></a><h4>Returns</h4>
-<p> the gamme decoded value of <em class="parameter"><code>val</code></em>
-</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2733,53 +1639,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 gst_video_color_transfer_encode (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTransferFunction" title="enum GstVideoTransferFunction"><span class="type">GstVideoTransferFunction</span></a> func</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> val</code></em>);</pre>
-<p>Convert <em class="parameter"><code>val</code></em>
- to its gamma encoded value.</p>
-<p>For a linear value L in the range [0..1], conversion to the non-linear
-(gamma encoded) L' is in general performed with a power function like:</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1</pre></td>
-        <td class="listing_code"><pre class="programlisting">L<span class="string">' = L ^ (1 / gamma)</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p></p>
-<p>Depending on <em class="parameter"><code>func</code></em>
-, different formulas might be applied. Some formulas
-encode a linear segment in the lower range.</p>
-<div class="refsect3">
-<a name="gst-video-color-transfer-encode.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>func</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTransferFunction" title="enum GstVideoTransferFunction"><span class="type">GstVideoTransferFunction</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>val</p></td>
-<td class="parameter_description"><p>a value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-color-transfer-encode.returns"></a><h4>Returns</h4>
-<p> the gamme encoded value of <em class="parameter"><code>val</code></em>
-</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2787,39 +1646,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_colorimetry_matches (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>,
                                <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *color</code></em>);</pre>
-<p>Check if the colorimetry information in <em class="parameter"><code>info</code></em>
- matches that of the
-string <em class="parameter"><code>color</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-colorimetry-matches.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>cinfo</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>color</p></td>
-<td class="parameter_description"><p>a colorimetry string</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-colorimetry-matches.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>color</code></em>
-conveys the same colorimetry info as the color
-information in <em class="parameter"><code>info</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -2827,36 +1653,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_colorimetry_is_equal (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>,
                                 <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *other</code></em>);</pre>
-<p>Compare the 2 colorimetry sets for equality</p>
-<div class="refsect3">
-<a name="gst-video-colorimetry-is-equal.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>cinfo</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>other</p></td>
-<td class="parameter_description"><p>another <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-colorimetry-is-equal.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>cinfo</code></em>
-and <em class="parameter"><code>other</code></em>
-are equal.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2864,64 +1660,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_colorimetry_from_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>,
                                    <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *color</code></em>);</pre>
-<p>Parse the colorimetry string and update <em class="parameter"><code>cinfo</code></em>
- with the parsed
-values.</p>
-<div class="refsect3">
-<a name="gst-video-colorimetry-from-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>cinfo</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>color</p></td>
-<td class="parameter_description"><p>a colorimetry string</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-colorimetry-from-string.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>color</code></em>
-points to valid colorimetry info.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-colorimetry-to-string"></a><h3>gst_video_colorimetry_to_string ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_video_colorimetry_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>);</pre>
-<p>Make a string representation of <em class="parameter"><code>cinfo</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-colorimetry-to-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>cinfo</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-colorimetry-to-string.returns"></a><h4>Returns</h4>
-<p> a string representation of <em class="parameter"><code>cinfo</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3150,87 +1894,24 @@
 <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="gst-video-info-init.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-info-new"></a><h3>gst_video_info_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="returnvalue">GstVideoInfo</span></a> *
 gst_video_info_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Allocate a new <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> that is also initialized with
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-init" title="gst_video_info_init ()"><code class="function">gst_video_info_init()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-info-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>. free with <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-free" title="gst_video_info_free ()"><code class="function">gst_video_info_free()</code></a>.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-info-copy"></a><h3>gst_video_info_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="returnvalue">GstVideoInfo</span></a> *
 gst_video_info_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);</pre>
-<p>Copy a GstVideoInfo structure.</p>
-<div class="refsect3">
-<a name="gst-video-info-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-info-copy.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>. free with gst_video_info_free.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-info-free"></a><h3>gst_video_info_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_info_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);</pre>
-<p>Free a GstVideoInfo structure previously allocated with <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-new" title="gst_video_info_new ()"><code class="function">gst_video_info_new()</code></a>
-or <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-copy" title="gst_video_info_copy ()"><code class="function">gst_video_info_copy()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-info-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3240,46 +1921,6 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>);</pre>
-<p>Set the default info for a video frame of <em class="parameter"><code>format</code></em>
- and <em class="parameter"><code>width</code></em>
- and <em class="parameter"><code>height</code></em>
-.</p>
-<p>Note: This initializes <em class="parameter"><code>info</code></em>
- first, no values are preserved. This function
-does not set the offsets correctly for interlaced vertically
-subsampled formats.</p>
-<div class="refsect3">
-<a name="gst-video-info-set-format.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>a width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>a height</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3287,64 +1928,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_info_from_caps (<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>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
-<p>Parse <em class="parameter"><code>caps</code></em>
- and update <em class="parameter"><code>info</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-info-from-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>caps</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-info-from-caps.returns"></a><h4>Returns</h4>
-<p> TRUE if <em class="parameter"><code>caps</code></em>
-could be parsed</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-info-to-caps"></a><h3>gst_video_info_to_caps ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="returnvalue">GstCaps</span></a> *
 gst_video_info_to_caps (<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>Convert the values of <em class="parameter"><code>info</code></em>
- into a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>.</p>
-<div class="refsect3">
-<a name="gst-video-info-to-caps.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-info-to-caps.returns"></a><h4>Returns</h4>
-<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> containing the info of <em class="parameter"><code>info</code></em>
-.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3355,53 +1944,6 @@
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> src_value</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *dest_value</code></em>);</pre>
-<p>Converts among various <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> types.  This function handles
-GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT.  For
-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="gst-video-info-convert.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_format</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the <em class="parameter"><code>src_value</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_value</p></td>
-<td class="parameter_description"><p>value to convert</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_format</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the <em class="parameter"><code>dest_value</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_value</p></td>
-<td class="parameter_description"><p>pointer to destination value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-info-convert.returns"></a><h4>Returns</h4>
-<p> TRUE if the conversion was successful.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3409,35 +1951,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_info_is_equal (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
                          <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="gst-video-info-is-equal.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>other</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-info-is-equal.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-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="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3445,35 +1958,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_info_align (<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#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);</pre>
-<p>Adjust the offset and stride fields in <em class="parameter"><code>info</code></em>
- so that the padding and
-stride alignment in <em class="parameter"><code>align</code></em>
- is respected.</p>
-<p>Extra padding will be added to the right side when stride alignment padding
-is required and <em class="parameter"><code>align</code></em>
- will be updated with the new padding values.</p>
-<div class="refsect3">
-<a name="gst-video-info-align.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>align</p></td>
-<td class="parameter_description"><p>alignment parameters</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3484,61 +1968,6 @@
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);</pre>
-<p>Use <em class="parameter"><code>info</code></em>
- and <em class="parameter"><code>buffer</code></em>
- to fill in the values of <em class="parameter"><code>frame</code></em>
- with the video frame
-information of frame <em class="parameter"><code>id</code></em>
-.</p>
-<p>When <em class="parameter"><code>id</code></em>
- is -1, the default frame is mapped. When <em class="parameter"><code>id</code></em>
- != -1, this function
-will return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when there is no GstVideoMeta with that id.</p>
-<p>All video planes of <em class="parameter"><code>buffer</code></em>
- will be mapped and the pointers will be set in
-<em class="parameter"><code>frame-&gt;data</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-frame-map-id.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>pointer to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>the buffer to map</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>the frame id to map</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-frame-map-id.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3548,133 +1977,12 @@
                      <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 href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);</pre>
-<p>Use <em class="parameter"><code>info</code></em>
- and <em class="parameter"><code>buffer</code></em>
- to fill in the values of <em class="parameter"><code>frame</code></em>
-. <em class="parameter"><code>frame</code></em>
- is usually
-allocated on the stack, and you will pass the address to the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
-structure allocated on the stack; <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> will then fill in
-the structures with the various video-specific information you need to access
-the pixels of the video buffer. You can then use accessor macros such as
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-DATA:CAPS" title="GST_VIDEO_FRAME_COMP_DATA()"><code class="function">GST_VIDEO_FRAME_COMP_DATA()</code></a>, <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-PLANE-DATA:CAPS" title="GST_VIDEO_FRAME_PLANE_DATA()"><code class="function">GST_VIDEO_FRAME_PLANE_DATA()</code></a>,
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-STRIDE:CAPS" title="GST_VIDEO_FRAME_COMP_STRIDE()"><code class="function">GST_VIDEO_FRAME_COMP_STRIDE()</code></a>, <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-PLANE-STRIDE:CAPS" title="GST_VIDEO_FRAME_PLANE_STRIDE()"><code class="function">GST_VIDEO_FRAME_PLANE_STRIDE()</code></a> etc.
-to get to the pixels.</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17</pre></td>
-        <td class="listing_code"><pre class="programlisting">GstVideoFrame vframe<span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">...</span>
-<span class="gtkdoc slc">// set RGB pixels to black one at a time</span>
-<span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-map">gst_video_frame_map</a></span> <span class="gtkdoc opt">(&amp;</span>vframe<span class="gtkdoc opt">,</span> video_info<span class="gtkdoc opt">,</span> video_buffer<span class="gtkdoc opt">)) {</span>
-  guint8 <span class="gtkdoc opt">*</span>pixels <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-PLANE-DATA:CAPS">GST_VIDEO_FRAME_PLANE_DATA</a></span> <span class="gtkdoc opt">(</span>vframe<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
-  guint stride <span class="gtkdoc opt">=</span> <span class="function"><a href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-PLANE-STRIDE:CAPS">GST_VIDEO_FRAME_PLANE_STRIDE</a></span> <span class="gtkdoc opt">(</span>vframe<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
-  guint pixel_stride <span class="gtkdoc opt">=</span> <span class="function">GST_VIDEO_FRAME_PLANE_PSTRIDE</span> <span class="gtkdoc opt">(</span>vframe<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
-
-  <span class="keyword">for</span> <span class="gtkdoc opt">(</span>h <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span> h <span class="gtkdoc opt">&lt;</span> height<span class="gtkdoc opt">; ++</span>h<span class="gtkdoc opt">) {</span>
-    <span class="keyword">for</span> <span class="gtkdoc opt">(</span>w <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span> w <span class="gtkdoc opt">&lt;</span> width<span class="gtkdoc opt">; ++</span>w<span class="gtkdoc opt">) {</span>
-      guint8 <span class="gtkdoc opt">*</span>pixel <span class="gtkdoc opt">=</span> pixels <span class="gtkdoc opt">+</span> h <span class="gtkdoc opt">*</span> stride <span class="gtkdoc opt">+</span> w <span class="gtkdoc opt">*</span> pixel_stride<span class="gtkdoc opt">;</span>
-
-      <span class="function">memset</span> <span class="gtkdoc opt">(</span>pixel<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> pixel_stride<span class="gtkdoc opt">);</span>
-    <span class="gtkdoc opt">}</span>
-  <span class="gtkdoc opt">}</span>
-<span class="gtkdoc opt">}</span>
-<span class="gtkdoc opt">...</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p></p>
-<p>All video planes of <em class="parameter"><code>buffer</code></em>
- will be mapped and the pointers will be set in
-<em class="parameter"><code>frame-&gt;data</code></em>
-.</p>
-<p>The purpose of this function is to make it easy for you to get to the video
-pixels in a generic way, without you having to worry too much about details
-such as whether the video data is allocated in one contiguous memory chunk
-or multiple memory chunks (e.g. one for each plane); or if custom strides
-and custom plane offsets are used or not (as signalled by GstVideoMeta on
-each buffer). This function will just fill the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> structure
-with the right values and if you use the accessor macros everything will
-just work and you can access the data easily. It also maps the underlying
-memory chunks for you.</p>
-<div class="refsect3">
-<a name="gst-video-frame-map.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>pointer to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>the buffer to map</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-frame-map.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-frame-unmap"></a><h3>gst_video_frame_unmap ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 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="gst-video-frame-unmap.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3682,35 +1990,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_frame_copy (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *dest</code></em>,
                       <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *src</code></em>);</pre>
-<p>Copy the contents from <em class="parameter"><code>src</code></em>
- to <em class="parameter"><code>dest</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-frame-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dest</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-frame-copy.returns"></a><h4>Returns</h4>
-<p> TRUE if the contents could be copied.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3719,41 +1998,6 @@
 gst_video_frame_copy_plane (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *dest</code></em>,
                             <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *src</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>);</pre>
-<p>Copy the plane with index <em class="parameter"><code>plane</code></em>
- from <em class="parameter"><code>src</code></em>
- to <em class="parameter"><code>dest</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-frame-copy-plane.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dest</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>plane</p></td>
-<td class="parameter_description"><p>a plane</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-frame-copy-plane.returns"></a><h4>Returns</h4>
-<p> TRUE if the contents could be copied.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -3908,207 +2152,40 @@
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> x_tiles</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> y_tiles</code></em>);</pre>
-<p>Get the tile index of the tile at coordinates <em class="parameter"><code>x</code></em>
- and <em class="parameter"><code>y</code></em>
- in the tiled
-image of <em class="parameter"><code>x_tiles</code></em>
- by <em class="parameter"><code>y_tiles</code></em>
-.</p>
-<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="gst-video-tile-get-index.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mode</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTileMode" title="enum GstVideoTileMode"><span class="type">GstVideoTileMode</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>x coordinate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>y coordinate</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x_tiles</p></td>
-<td class="parameter_description"><p>number of horizintal tiles</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_tiles</p></td>
-<td class="parameter_description"><p>number of vertical tiles</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-tile-get-index.returns"></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
-<em class="parameter"><code>x_tiles</code></em>
-by <em class="parameter"><code>y_tiles</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-TILE-MAKE-MODE:CAPS"></a><h3>GST_VIDEO_TILE_MAKE_MODE()</h3>
 <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="GST-VIDEO-TILE-MAKE-MODE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>num</p></td>
-<td class="parameter_description"><p>the mode number to create</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the tile mode type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-TILE-MODE-TYPE:CAPS"></a><h3>GST_VIDEO_TILE_MODE_TYPE()</h3>
 <pre class="programlisting">#define GST_VIDEO_TILE_MODE_TYPE(mode)       ((mode) &amp; GST_VIDEO_TILE_TYPE_MASK)
 </pre>
-<p>Get the tile mode type of <em class="parameter"><code>mode</code></em>
-</p>
-<div class="refsect3">
-<a name="GST-VIDEO-TILE-MODE-TYPE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mode</p></td>
-<td class="parameter_description"><p>the tile mode</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-TILE-MODE-IS-INDEXED:CAPS"></a><h3>GST_VIDEO_TILE_MODE_IS_INDEXED()</h3>
 <pre class="programlisting">#define GST_VIDEO_TILE_MODE_IS_INDEXED(mode) (GST_VIDEO_TILE_MODE_TYPE(mode) == GST_VIDEO_TILE_TYPE_INDEXED)
 </pre>
-<p>Check if <em class="parameter"><code>mode</code></em>
- is an indexed tile type</p>
-<div class="refsect3">
-<a name="GST-VIDEO-TILE-MODE-IS-INDEXED.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>mode</p></td>
-<td class="parameter_description"><p>a tile mode</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-TILE-MAKE-STRIDE:CAPS"></a><h3>GST_VIDEO_TILE_MAKE_STRIDE()</h3>
 <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="GST-VIDEO-TILE-MAKE-STRIDE.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>x_tiles</p></td>
-<td class="parameter_description"><p>number of tiles in X</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_tiles</p></td>
-<td class="parameter_description"><p>number of tiles in Y</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-TILE-X-TILES:CAPS"></a><h3>GST_VIDEO_TILE_X_TILES()</h3>
 <pre class="programlisting">#define GST_VIDEO_TILE_X_TILES(stride) ((stride) &amp; GST_VIDEO_TILE_X_TILES_MASK)
 </pre>
-<p>Extract the number of tiles in X from the stride value.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-TILE-X-TILES.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>stride</p></td>
-<td class="parameter_description"><p>plane stride</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-TILE-Y-TILES:CAPS"></a><h3>GST_VIDEO_TILE_Y_TILES()</h3>
 <pre class="programlisting">#define GST_VIDEO_TILE_Y_TILES(stride) ((stride) &gt;&gt; GST_VIDEO_TILE_Y_TILES_SHIFT)
 </pre>
-<p>Extract the number of tiles in Y from the stride value.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-TILE-Y-TILES.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>stride</p></td>
-<td class="parameter_description"><p>plane stride</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4119,50 +2196,6 @@
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> global_alpha</code></em>);</pre>
-<p>Lets you blend the <em class="parameter"><code>src</code></em>
- image into the <em class="parameter"><code>dest</code></em>
- image</p>
-<div class="refsect3">
-<a name="gst-video-blend.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>dest</p></td>
-<td class="parameter_description"><p>The <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> where to blend <em class="parameter"><code>src</code></em>
-in</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> that we want to blend into</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>The x offset in pixel where the <em class="parameter"><code>src</code></em>
-image should be blended</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>the y offset in pixel where the <em class="parameter"><code>src</code></em>
-image should be blended</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>global_alpha</p></td>
-<td class="parameter_description"><p>the global_alpha each per-pixel alpha value is multiplied
-with</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4174,58 +2207,6 @@
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> dest_width</code></em>,
                                    <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *dest</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> **dest_buffer</code></em>);</pre>
-<p>Scales a buffer containing RGBA (or AYUV) video. This is an internal
-helper function which is used to scale subtitle overlays, and may be
-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="gst-video-blend-scale-linear-RGBA.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> describing the video data in <em class="parameter"><code>src_buffer</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src_buffer</p></td>
-<td class="parameter_description"><p>the source buffer containing video pixels to scale</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_height</p></td>
-<td class="parameter_description"><p>the height in pixels to scale the video data in <em class="parameter"><code>src_buffer</code></em>
-to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_width</p></td>
-<td class="parameter_description"><p>the width in pixels to scale the video data in <em class="parameter"><code>src_buffer</code></em>
-to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p> pointer to a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> structure that will be filled in
-with the details for <em class="parameter"><code>dest_buffer</code></em>
-. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest_buffer</p></td>
-<td class="parameter_description"><p> a pointer to a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> variable, which will be
-set to a newly-allocated buffer containing the scaled pixels. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4234,97 +2215,18 @@
 gst_video_converter_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *in_info</code></em>,
                          <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *out_info</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>);</pre>
-<p>Create a new converter object to convert between <em class="parameter"><code>in_info</code></em>
- and <em class="parameter"><code>out_info</code></em>
-
-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="gst-video-converter-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>in_info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>out_info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>config</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> with configuration options. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-converter-new.returns"></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="/usr/share/gtk-doc/html/glibglib-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>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-converter-free"></a><h3>gst_video_converter_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_converter_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a> *convert</code></em>);</pre>
-<p>Free <em class="parameter"><code>convert</code></em>
-</p>
-<div class="refsect3">
-<a name="gst-video-converter-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-converter-get-config"></a><h3>gst_video_converter_get_config ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="returnvalue">GstStructure</span></a> *
 gst_video_converter_get_config (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a> *convert</code></em>);</pre>
-<p>Get the current configuration of <em class="parameter"><code>convert</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-converter-get-config.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-converter-get-config.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><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>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -4332,43 +2234,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_converter_set_config (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a> *convert</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>);</pre>
-<p>Set <em class="parameter"><code>config</code></em>
- as extra configuraion for <em class="parameter"><code>convert</code></em>
-.</p>
-<p>If the parameters in <em class="parameter"><code>config</code></em>
- can not be set exactly, this function returns
-<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> and will try to update as much state as possible. The new state can
-then be retrieved and refined with <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-converter-get-config" title="gst_video_converter_get_config ()"><code class="function">gst_video_converter_get_config()</code></a>.</p>
-<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="gst-video-converter-set-config.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>config</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-converter-set-config.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when <em class="parameter"><code>config</code></em>
-could be set.</p>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4377,51 +2242,12 @@
 gst_video_converter_frame (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a> *convert</code></em>,
                            <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *src</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *dest</code></em>);</pre>
-<p>Convert the pixels of <em class="parameter"><code>src</code></em>
- into <em class="parameter"><code>dest</code></em>
- using <em class="parameter"><code>convert</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-converter-frame.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>convert</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConverter" title="GstVideoConverter"><span class="type">GstVideoConverter</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dest</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>src</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-multiview-get-mono-modes"></a><h3>gst_video_multiview_get_mono_modes ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="gst-video-multiview-get-mono-modes.returns"></a><h4>Returns</h4>
-<p> A const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="/usr/share/gtk-doc/html/gobjectgobject-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">
@@ -4429,14 +2255,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="gst-video-multiview-get-unpacked-modes.returns"></a><h4>Returns</h4>
-<p> A const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="/usr/share/gtk-doc/html/gobjectgobject-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">
@@ -4444,14 +2262,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="gst-video-multiview-get-doubled-height-modes.returns"></a><h4>Returns</h4>
-<p> A const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="/usr/share/gtk-doc/html/gobjectgobject-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">
@@ -4459,15 +2269,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="gst-video-multiview-get-doubled-size-modes.returns"></a><h4>Returns</h4>
-<p> A const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="/usr/share/gtk-doc/html/gobjectgobject-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">
@@ -4475,15 +2276,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="gst-video-multiview-get-doubled-width-modes.returns"></a><h4>Returns</h4>
-<p> A const <a href="/usr/share/gtk-doc/html/gobjectgobject-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="/usr/share/gtk-doc/html/gobjectgobject-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">
@@ -4491,29 +2283,6 @@
 <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="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *caps_mview_mode</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-multiview-mode-from-caps-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-video-multiview-mode-from-caps-string.returns"></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">
@@ -4521,28 +2290,6 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-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="gst-video-multiview-mode-to-caps-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-video-multiview-mode-to-caps-string.returns"></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">
@@ -4553,53 +2300,6 @@
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>,
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> par_n</code></em>,
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> par_d</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-multiview-guess-half-aspect.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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="gst-video-multiview-guess-half-aspect.returns"></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">
@@ -4609,37 +2309,6 @@
                                (<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="gst-video-multiview-video-info-change-mode.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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">
@@ -4654,83 +2323,34 @@
   guint stride_align[GST_VIDEO_MAX_PLANES];
 };
 </pre>
-<p>Extra alignment paramters for the memory of video buffers. This
-structure is usually used to configure the bufferpool if it supports the
-<a class="link" href="gst-plugins-base-libs-GstVideoPool.html#GST-BUFFER-POOL-OPTION-VIDEO-ALIGNMENT:CAPS" title="GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT"><span class="type">GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT</span></a>.</p>
-<div class="refsect3">
-<a name="GstVideoAlignment.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-top"></a>padding_top</code></em>;</p></td>
-<td class="struct_member_description"><p>extra pixels on the top</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-bottom"></a>padding_bottom</code></em>;</p></td>
-<td class="struct_member_description"><p>extra pixels on the bottom</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-left"></a>padding_left</code></em>;</p></td>
-<td class="struct_member_description"><p>extra pixels on the left side</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-right"></a>padding_right</code></em>;</p></td>
-<td class="struct_member_description"><p>extra pixels on the right side</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.stride-align"></a>stride_align</code></em>[GST_VIDEO_MAX_PLANES];</p></td>
-<td class="struct_member_description"><p>array with extra alignment requirements for the strides</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-META-TAG-VIDEO-STR:CAPS"></a><h3>GST_META_TAG_VIDEO_STR</h3>
 <pre class="programlisting">#define GST_META_TAG_VIDEO_STR "video"
 </pre>
-<p>This metadata is relevant for video streams.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-META-TAG-VIDEO-ORIENTATION-STR:CAPS"></a><h3>GST_META_TAG_VIDEO_ORIENTATION_STR</h3>
 <pre class="programlisting">#define GST_META_TAG_VIDEO_ORIENTATION_STR "orientation"
 </pre>
-<p>This metadata stays relevant as long as video orientation is unchanged.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-META-TAG-VIDEO-SIZE-STR:CAPS"></a><h3>GST_META_TAG_VIDEO_SIZE_STR</h3>
 <pre class="programlisting">#define GST_META_TAG_VIDEO_SIZE_STR "size"
 </pre>
-<p>This metadata stays relevant as long as video size is unchanged.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-META-TAG-VIDEO-COLORSPACE-STR:CAPS"></a><h3>GST_META_TAG_VIDEO_COLORSPACE_STR</h3>
 <pre class="programlisting">#define GST_META_TAG_VIDEO_COLORSPACE_STR "colorspace"
 </pre>
-<p>This metadata stays relevant as long as video colorspace is unchanged.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoFormat"></a><h3>enum GstVideoFormat</h3>
-<p>Enum value describing the most common video formats.</p>
 <div class="refsect3">
 <a name="GstVideoFormat.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -4742,433 +2362,323 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-UNKNOWN:CAPS"></a>GST_VIDEO_FORMAT_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>Unknown or unset video format id</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-ENCODED:CAPS"></a>GST_VIDEO_FORMAT_ENCODED</p></td>
-<td class="enum_member_description">
-<p>Encoded video format. Only ever use that in caps for
-                           special video formats in combination with non-system
-                           memory GstCapsFeatures where it does not make sense
-                           to specify a real video format.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-I420:CAPS"></a>GST_VIDEO_FORMAT_I420</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:0 YUV</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-YV12:CAPS"></a>GST_VIDEO_FORMAT_YV12</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:0 YVU (like I420 but UV planes swapped)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-YUY2:CAPS"></a>GST_VIDEO_FORMAT_YUY2</p></td>
-<td class="enum_member_description">
-<p>packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 ...)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-UYVY:CAPS"></a>GST_VIDEO_FORMAT_UYVY</p></td>
-<td class="enum_member_description">
-<p>packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-AYUV:CAPS"></a>GST_VIDEO_FORMAT_AYUV</p></td>
-<td class="enum_member_description">
-<p>packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 ...)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-RGBx"></a>GST_VIDEO_FORMAT_RGBx</p></td>
-<td class="enum_member_description">
-<p>sparse rgb packed into 32 bit, space last</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-BGRx"></a>GST_VIDEO_FORMAT_BGRx</p></td>
-<td class="enum_member_description">
-<p>sparse reverse rgb packed into 32 bit, space last</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-xRGB"></a>GST_VIDEO_FORMAT_xRGB</p></td>
-<td class="enum_member_description">
-<p>sparse rgb packed into 32 bit, space first</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-xBGR"></a>GST_VIDEO_FORMAT_xBGR</p></td>
-<td class="enum_member_description">
-<p>sparse reverse rgb packed into 32 bit, space first</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-RGBA:CAPS"></a>GST_VIDEO_FORMAT_RGBA</p></td>
-<td class="enum_member_description">
-<p>rgb with alpha channel last</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-BGRA:CAPS"></a>GST_VIDEO_FORMAT_BGRA</p></td>
-<td class="enum_member_description">
-<p>reverse rgb with alpha channel last</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-ARGB:CAPS"></a>GST_VIDEO_FORMAT_ARGB</p></td>
-<td class="enum_member_description">
-<p>rgb with alpha channel first</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-ABGR:CAPS"></a>GST_VIDEO_FORMAT_ABGR</p></td>
-<td class="enum_member_description">
-<p>reverse rgb with alpha channel first</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-RGB:CAPS"></a>GST_VIDEO_FORMAT_RGB</p></td>
-<td class="enum_member_description">
-<p>rgb</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-BGR:CAPS"></a>GST_VIDEO_FORMAT_BGR</p></td>
-<td class="enum_member_description">
-<p>reverse rgb</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-Y41B:CAPS"></a>GST_VIDEO_FORMAT_Y41B</p></td>
-<td class="enum_member_description">
-<p>planar 4:1:1 YUV</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-Y42B:CAPS"></a>GST_VIDEO_FORMAT_Y42B</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:2 YUV</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-YVYU:CAPS"></a>GST_VIDEO_FORMAT_YVYU</p></td>
-<td class="enum_member_description">
-<p>packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-Y444:CAPS"></a>GST_VIDEO_FORMAT_Y444</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4 YUV</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-v210"></a>GST_VIDEO_FORMAT_v210</p></td>
-<td class="enum_member_description">
-<p>packed 4:2:2 10-bit YUV, complex format</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-v216"></a>GST_VIDEO_FORMAT_v216</p></td>
-<td class="enum_member_description">
-<p>packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-NV12:CAPS"></a>GST_VIDEO_FORMAT_NV12</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:0 YUV with interleaved UV plane</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-NV21:CAPS"></a>GST_VIDEO_FORMAT_NV21</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:0 YUV with interleaved VU plane</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-GRAY8:CAPS"></a>GST_VIDEO_FORMAT_GRAY8</p></td>
-<td class="enum_member_description">
-<p>8-bit grayscale</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-GRAY16-BE:CAPS"></a>GST_VIDEO_FORMAT_GRAY16_BE</p></td>
-<td class="enum_member_description">
-<p>16-bit grayscale, most significant byte first</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-GRAY16-LE:CAPS"></a>GST_VIDEO_FORMAT_GRAY16_LE</p></td>
-<td class="enum_member_description">
-<p>16-bit grayscale, least significant byte first</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-v308"></a>GST_VIDEO_FORMAT_v308</p></td>
-<td class="enum_member_description">
-<p>packed 4:4:4 YUV</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-RGB16:CAPS"></a>GST_VIDEO_FORMAT_RGB16</p></td>
-<td class="enum_member_description">
-<p>rgb 5-6-5 bits per component</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-BGR16:CAPS"></a>GST_VIDEO_FORMAT_BGR16</p></td>
-<td class="enum_member_description">
-<p>reverse rgb 5-6-5 bits per component</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-RGB15:CAPS"></a>GST_VIDEO_FORMAT_RGB15</p></td>
-<td class="enum_member_description">
-<p>rgb 5-5-5 bits per component</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-BGR15:CAPS"></a>GST_VIDEO_FORMAT_BGR15</p></td>
-<td class="enum_member_description">
-<p>reverse rgb 5-5-5 bits per component</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-UYVP:CAPS"></a>GST_VIDEO_FORMAT_UYVP</p></td>
-<td class="enum_member_description">
-<p>packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-A420:CAPS"></a>GST_VIDEO_FORMAT_A420</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:2:0 AYUV</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-RGB8P:CAPS"></a>GST_VIDEO_FORMAT_RGB8P</p></td>
-<td class="enum_member_description">
-<p>8-bit paletted RGB</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-YUV9:CAPS"></a>GST_VIDEO_FORMAT_YUV9</p></td>
-<td class="enum_member_description">
-<p>planar 4:1:0 YUV</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-YVU9:CAPS"></a>GST_VIDEO_FORMAT_YVU9</p></td>
-<td class="enum_member_description">
-<p>planar 4:1:0 YUV (like YUV9 but UV planes swapped)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-IYU1:CAPS"></a>GST_VIDEO_FORMAT_IYU1</p></td>
-<td class="enum_member_description">
-<p>packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-ARGB64:CAPS"></a>GST_VIDEO_FORMAT_ARGB64</p></td>
-<td class="enum_member_description">
-<p>rgb with alpha channel first, 16 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-AYUV64:CAPS"></a>GST_VIDEO_FORMAT_AYUV64</p></td>
-<td class="enum_member_description">
-<p>packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-r210"></a>GST_VIDEO_FORMAT_r210</p></td>
-<td class="enum_member_description">
-<p>packed 4:4:4 RGB, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-I420-10BE:CAPS"></a>GST_VIDEO_FORMAT_I420_10BE</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:0 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-I420-10LE:CAPS"></a>GST_VIDEO_FORMAT_I420_10LE</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:0 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-I422-10BE:CAPS"></a>GST_VIDEO_FORMAT_I422_10BE</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:2 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-I422-10LE:CAPS"></a>GST_VIDEO_FORMAT_I422_10LE</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:2 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-Y444-10BE:CAPS"></a>GST_VIDEO_FORMAT_Y444_10BE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-Y444-10LE:CAPS"></a>GST_VIDEO_FORMAT_Y444_10LE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-GBR:CAPS"></a>GST_VIDEO_FORMAT_GBR</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4 RGB, 8 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-GBR-10BE:CAPS"></a>GST_VIDEO_FORMAT_GBR_10BE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4 RGB, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-GBR-10LE:CAPS"></a>GST_VIDEO_FORMAT_GBR_10LE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4 RGB, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-NV16:CAPS"></a>GST_VIDEO_FORMAT_NV16</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:2 YUV with interleaved UV plane</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-NV24:CAPS"></a>GST_VIDEO_FORMAT_NV24</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4 YUV with interleaved UV plane</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-NV12-64Z32:CAPS"></a>GST_VIDEO_FORMAT_NV12_64Z32</p></td>
-<td class="enum_member_description">
-<p>NV12 with 64x32 tiling in zigzag pattern</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-A420-10BE:CAPS"></a>GST_VIDEO_FORMAT_A420_10BE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:2:0 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-A420-10LE:CAPS"></a>GST_VIDEO_FORMAT_A420_10LE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:2:0 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-A422-10BE:CAPS"></a>GST_VIDEO_FORMAT_A422_10BE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:2:2 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-A422-10LE:CAPS"></a>GST_VIDEO_FORMAT_A422_10LE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:2:2 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-A444-10BE:CAPS"></a>GST_VIDEO_FORMAT_A444_10BE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4:4 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-A444-10LE:CAPS"></a>GST_VIDEO_FORMAT_A444_10LE</p></td>
-<td class="enum_member_description">
-<p>planar 4:4:4:4 YUV, 10 bits per channel</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-NV61:CAPS"></a>GST_VIDEO_FORMAT_NV61</p></td>
-<td class="enum_member_description">
-<p>planar 4:2:2 YUV with interleaved VU plane (Since 1.6)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-P010-10BE:CAPS"></a>GST_VIDEO_FORMAT_P010_10BE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-P010-10LE:CAPS"></a>GST_VIDEO_FORMAT_P010_10LE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-IYU2:CAPS"></a>GST_VIDEO_FORMAT_IYU2</p></td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5215,141 +2725,10 @@
   guint tile_hs;
 };
 </pre>
-<p>Information for a video format.</p>
-<div class="refsect3">
-<a name="GstVideoFormatInfo.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.format"></a>format</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstVideoFormatInfo.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>string representation of the format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstVideoFormatInfo.description"></a>description</code></em>;</p></td>
-<td class="struct_member_description"><p>use readable description of the format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatFlags" title="enum GstVideoFormatFlags"><span class="type">GstVideoFormatFlags</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.flags"></a>flags</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatFlags" title="enum GstVideoFormatFlags"><span class="type">GstVideoFormatFlags</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.bits"></a>bits</code></em>;</p></td>
-<td class="struct_member_description"><p>The number of bits used to pack data items. This can be less than 8
-when multiple pixels are stored in a byte. for values &gt; 8 multiple bytes
-should be read according to the endianness flag before applying the shift
-and mask.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.n-components"></a>n_components</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of components in the video format.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.shift"></a>shift</code></em>[GST_VIDEO_MAX_COMPONENTS];</p></td>
-<td class="struct_member_description"><p>the number of bits to shift away to get the component data</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.depth"></a>depth</code></em>[GST_VIDEO_MAX_COMPONENTS];</p></td>
-<td class="struct_member_description"><p>the depth in bits for each component</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.pixel-stride"></a>pixel_stride</code></em>[GST_VIDEO_MAX_COMPONENTS];</p></td>
-<td class="struct_member_description"><p>the pixel stride of each component. This is the amount of
-bytes to the pixel immediately to the right. When bits &lt; 8, the stride is
-expressed in bits. For 24-bit RGB, this would be 3 bytes, for example,
-while it would be 4 bytes for RGBx or ARGB.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.n-planes"></a>n_planes</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of planes for this format. The number of planes can be
-less than the amount of components when multiple components are packed into
-one plane.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.plane"></a>plane</code></em>[GST_VIDEO_MAX_COMPONENTS];</p></td>
-<td class="struct_member_description"><p>the plane number where a component can be found</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.poffset"></a>poffset</code></em>[GST_VIDEO_MAX_COMPONENTS];</p></td>
-<td class="struct_member_description"><p>the offset in the plane where the first pixel of the components
-can be found.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.w-sub"></a>w_sub</code></em>[GST_VIDEO_MAX_COMPONENTS];</p></td>
-<td class="struct_member_description"><p>subsampling factor of the width for the component. Use
-GST_VIDEO_SUB_SCALE to scale a width.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.h-sub"></a>h_sub</code></em>[GST_VIDEO_MAX_COMPONENTS];</p></td>
-<td class="struct_member_description"><p>subsampling factor of the height for the component. Use
-GST_VIDEO_SUB_SCALE to scale a height.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.unpack-format"></a>unpack_format</code></em>;</p></td>
-<td class="struct_member_description"><p>the format of the unpacked pixels. This format must have the
-<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-FLAG-UNPACK:CAPS"><span class="type">GST_VIDEO_FORMAT_FLAG_UNPACK</span></a> flag set.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatUnpack" title="GstVideoFormatUnpack ()"><span class="type">GstVideoFormatUnpack</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.unpack-func"></a>unpack_func</code></em>;</p></td>
-<td class="struct_member_description"><p>an unpack function for this format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.pack-lines"></a>pack_lines</code></em>;</p></td>
-<td class="struct_member_description"><p>the amount of lines that will be packed</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatPack" title="GstVideoFormatPack ()"><span class="type">GstVideoFormatPack</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.pack-func"></a>pack_func</code></em>;</p></td>
-<td class="struct_member_description"><p>an pack function for this format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTileMode" title="enum GstVideoTileMode"><span class="type">GstVideoTileMode</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.tile-mode"></a>tile_mode</code></em>;</p></td>
-<td class="struct_member_description"><p>The tiling mode</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.tile-ws"></a>tile_ws</code></em>;</p></td>
-<td class="struct_member_description"><p>The width of a tile, in bytes, represented as a shift</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.tile-hs"></a>tile_hs</code></em>;</p></td>
-<td class="struct_member_description"><p>The height of a tile, in bytes, represented as a shift</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoFormatFlags"></a><h3>enum GstVideoFormatFlags</h3>
-<p>The different video flags that a format info can have.</p>
 <div class="refsect3">
 <a name="GstVideoFormatFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5361,75 +2740,48 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-YUV:CAPS"></a>GST_VIDEO_FORMAT_FLAG_YUV</p></td>
-<td class="enum_member_description">
-<p>The video format is YUV, components are numbered
-  0=Y, 1=U, 2=V.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-RGB:CAPS"></a>GST_VIDEO_FORMAT_FLAG_RGB</p></td>
-<td class="enum_member_description">
-<p>The video format is RGB, components are numbered
-  0=R, 1=G, 2=B.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-GRAY:CAPS"></a>GST_VIDEO_FORMAT_FLAG_GRAY</p></td>
-<td class="enum_member_description">
-<p>The video is gray, there is one gray component
-  with index 0.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-ALPHA:CAPS"></a>GST_VIDEO_FORMAT_FLAG_ALPHA</p></td>
-<td class="enum_member_description">
-<p>The video format has an alpha components with
-  the number 3.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-LE:CAPS"></a>GST_VIDEO_FORMAT_FLAG_LE</p></td>
-<td class="enum_member_description">
-<p>The video format has data stored in little
-  endianness.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-PALETTE:CAPS"></a>GST_VIDEO_FORMAT_FLAG_PALETTE</p></td>
-<td class="enum_member_description">
-<p>The video format has a palette. The palette
-  is stored in the second plane and indexes are stored in the first plane.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-COMPLEX:CAPS"></a>GST_VIDEO_FORMAT_FLAG_COMPLEX</p></td>
-<td class="enum_member_description">
-<p>The video format has a complex layout that
-  can't be described with the usual information in the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a>.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-UNPACK:CAPS"></a>GST_VIDEO_FORMAT_FLAG_UNPACK</p></td>
-<td class="enum_member_description">
-<p>This format can be used in a
-  <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatUnpack" title="GstVideoFormatUnpack ()"><span class="type">GstVideoFormatUnpack</span></a> and <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatPack" title="GstVideoFormatPack ()"><span class="type">GstVideoFormatPack</span></a> function.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FORMAT-FLAG-TILED:CAPS"></a>GST_VIDEO_FORMAT_FLAG_TILED</p></td>
-<td class="enum_member_description">
-<p>The format is tiled, there is tiling information
-  in the last plane.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5438,7 +2790,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoPackFlags"></a><h3>enum GstVideoPackFlags</h3>
-<p>The different flags that can be used when packing and unpacking.</p>
 <div class="refsect3">
 <a name="GstVideoPackFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5450,30 +2801,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-PACK-FLAG-NONE:CAPS"></a>GST_VIDEO_PACK_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>No flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-PACK-FLAG-TRUNCATE-RANGE:CAPS"></a>GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE</p></td>
-<td class="enum_member_description">
-<p>When the source has a smaller depth
-  than the target format, set the least significant bits of the target
-  to 0. This is likely sightly faster but less accurate. When this flag
-  is not specified, the most significant bits of the source are duplicated
-  in the least significant bits of the destination.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-PACK-FLAG-INTERLACED:CAPS"></a>GST_VIDEO_PACK_FLAG_INTERLACED</p></td>
-<td class="enum_member_description">
-<p>The source is interlaced. The unpacked
-  format will be interlaced as well with each line containing
-  information from alternating fields. (Since 1.2)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5499,8 +2838,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoColorRange"></a><h3>enum GstVideoColorRange</h3>
-<p>Possible color range values. These constants are defined for 8 bit color
-values and can be scaled for other bit depths.</p>
 <div class="refsect3">
 <a name="GstVideoColorRange.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5512,25 +2849,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-RANGE-UNKNOWN:CAPS"></a>GST_VIDEO_COLOR_RANGE_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>unknown range</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-RANGE-0-255:CAPS"></a>GST_VIDEO_COLOR_RANGE_0_255</p></td>
-<td class="enum_member_description">
-<p>[0..255] for 8 bit components</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-RANGE-16-235:CAPS"></a>GST_VIDEO_COLOR_RANGE_16_235</p></td>
-<td class="enum_member_description">
-<p>[16..235] for 8 bit components. Chroma has
-                [16..240] range.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5539,8 +2869,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoColorMatrix"></a><h3>enum GstVideoColorMatrix</h3>
-<p>The color matrix is used to convert between Y'PbPr and
-non-linear RGB (R'G'B')</p>
 <div class="refsect3">
 <a name="GstVideoColorMatrix.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5552,52 +2880,38 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-MATRIX-UNKNOWN:CAPS"></a>GST_VIDEO_COLOR_MATRIX_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>unknown matrix</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-MATRIX-RGB:CAPS"></a>GST_VIDEO_COLOR_MATRIX_RGB</p></td>
-<td class="enum_member_description">
-<p>identity matrix</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-MATRIX-FCC:CAPS"></a>GST_VIDEO_COLOR_MATRIX_FCC</p></td>
-<td class="enum_member_description">
-<p>FCC color matrix</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-MATRIX-BT709:CAPS"></a>GST_VIDEO_COLOR_MATRIX_BT709</p></td>
-<td class="enum_member_description">
-<p>ITU-R BT.709 color matrix</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-MATRIX-BT601:CAPS"></a>GST_VIDEO_COLOR_MATRIX_BT601</p></td>
-<td class="enum_member_description">
-<p>ITU-R BT.601 color matrix</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-MATRIX-SMPTE240M:CAPS"></a>GST_VIDEO_COLOR_MATRIX_SMPTE240M</p></td>
-<td class="enum_member_description">
-<p>SMPTE 240M color matrix</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-MATRIX-BT2020:CAPS"></a>GST_VIDEO_COLOR_MATRIX_BT2020</p></td>
-<td class="enum_member_description">
-<p>ITU-R BT.2020 color matrix. Since: 1.6.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5606,8 +2920,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoColorPrimaries"></a><h3>enum GstVideoColorPrimaries</h3>
-<p>The color primaries define the how to transform linear RGB values to and from
-the CIE XYZ colorspace.</p>
 <div class="refsect3">
 <a name="GstVideoColorPrimaries.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5619,66 +2931,48 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-UNKNOWN:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>unknown color primaries</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-BT709:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_BT709</p></td>
-<td class="enum_member_description">
-<p>BT709 primaries</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-BT470M:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_BT470M</p></td>
-<td class="enum_member_description">
-<p>BT470M primaries</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-BT470BG:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_BT470BG</p></td>
-<td class="enum_member_description">
-<p>BT470BG primaries</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-SMPTE170M:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_SMPTE170M</p></td>
-<td class="enum_member_description">
-<p>SMPTE170M primaries</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-SMPTE240M:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_SMPTE240M</p></td>
-<td class="enum_member_description">
-<p>SMPTE240M primaries</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-FILM:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_FILM</p></td>
-<td class="enum_member_description">
-<p>Generic film</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-BT2020:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_BT2020</p></td>
-<td class="enum_member_description">
-<p>BT2020 primaries. Since: 1.6.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-COLOR-PRIMARIES-ADOBERGB:CAPS"></a>GST_VIDEO_COLOR_PRIMARIES_ADOBERGB</p></td>
-<td class="enum_member_description">
-<p>Adobe RGB primaries. Since: 1.8</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5687,8 +2981,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoTransferFunction"></a><h3>enum GstVideoTransferFunction</h3>
-<p>The video transfer function defines the formula for converting between
-non-linear RGB (R'G'B') and linear RGB</p>
 <div class="refsect3">
 <a name="GstVideoTransferFunction.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5700,101 +2992,68 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-UNKNOWN:CAPS"></a>GST_VIDEO_TRANSFER_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>unknown transfer function</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-GAMMA10:CAPS"></a>GST_VIDEO_TRANSFER_GAMMA10</p></td>
-<td class="enum_member_description">
-<p>linear RGB, gamma 1.0 curve</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-GAMMA18:CAPS"></a>GST_VIDEO_TRANSFER_GAMMA18</p></td>
-<td class="enum_member_description">
-<p>Gamma 1.8 curve</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-GAMMA20:CAPS"></a>GST_VIDEO_TRANSFER_GAMMA20</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.0 curve</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-GAMMA22:CAPS"></a>GST_VIDEO_TRANSFER_GAMMA22</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.2 curve</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-BT709:CAPS"></a>GST_VIDEO_TRANSFER_BT709</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.2 curve with a linear segment in the lower
-                          range</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-SMPTE240M:CAPS"></a>GST_VIDEO_TRANSFER_SMPTE240M</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.2 curve with a linear segment in the
-                              lower range</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-SRGB:CAPS"></a>GST_VIDEO_TRANSFER_SRGB</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.4 curve with a linear segment in the lower
-                         range</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-GAMMA28:CAPS"></a>GST_VIDEO_TRANSFER_GAMMA28</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.8 curve</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-LOG100:CAPS"></a>GST_VIDEO_TRANSFER_LOG100</p></td>
-<td class="enum_member_description">
-<p>Logarithmic transfer characteristic
-                            100:1 range</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-LOG316:CAPS"></a>GST_VIDEO_TRANSFER_LOG316</p></td>
-<td class="enum_member_description">
-<p>Logarithmic transfer characteristic
-                            316.22777:1 range</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-BT2020-12:CAPS"></a>GST_VIDEO_TRANSFER_BT2020_12</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.2 curve with a linear segment in the lower
-                               range. Used for BT.2020 with 12 bits per
-                               component. Since: 1.6.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TRANSFER-ADOBERGB:CAPS"></a>GST_VIDEO_TRANSFER_ADOBERGB</p></td>
-<td class="enum_member_description">
-<p>Gamma 2.19921875. Since: 1.8</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -5810,41 +3069,6 @@
   GstVideoColorPrimaries    primaries;
 } GstVideoColorimetry;
 </pre>
-<p>Structure describing the color info.</p>
-<div class="refsect3">
-<a name="GstVideoColorimetry.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorRange" title="enum GstVideoColorRange"><span class="type">GstVideoColorRange</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.range"></a>range</code></em>;</p></td>
-<td class="struct_member_description"><p>the color range. This is the valid range for the samples.
-It is used to convert the samples to Y'PbPr values.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorMatrix" title="enum GstVideoColorMatrix"><span class="type">GstVideoColorMatrix</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.matrix"></a>matrix</code></em>;</p></td>
-<td class="struct_member_description"><p>the color matrix. Used to convert between Y'PbPr and
-non-linear RGB (R'G'B')</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTransferFunction" title="enum GstVideoTransferFunction"><span class="type">GstVideoTransferFunction</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.transfer"></a>transfer</code></em>;</p></td>
-<td class="struct_member_description"><p>the transfer function. used to convert between R'G'B' and RGB</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorPrimaries" title="enum GstVideoColorPrimaries"><span class="type">GstVideoColorPrimaries</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.primaries"></a>primaries</code></em>;</p></td>
-<td class="struct_member_description"><p>color primaries. used to convert between R'G'B' and CIE XYZ</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -5879,104 +3103,10 @@
     } abi;
 };
 </pre>
-<p>Information describing image properties. This information can be filled
-in from GstCaps with <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps" title="gst_video_info_from_caps ()"><code class="function">gst_video_info_from_caps()</code></a>. The information is also used
-to store the specific video info when mapping a video frame with
-<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>
-<p>Use the provided macros to access the info in this structure.</p>
-<div class="refsect3">
-<a name="GstVideoInfo.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *<em class="structfield"><code><a name="GstVideoInfo.finfo"></a>finfo</code></em>;</p></td>
-<td class="struct_member_description"><p>the format info of the video</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInterlaceMode" title="enum GstVideoInterlaceMode"><span class="type">GstVideoInterlaceMode</span></a> <em class="structfield"><code><a name="GstVideoInfo.interlace-mode"></a>interlace_mode</code></em>;</p></td>
-<td class="struct_member_description"><p>the interlace mode</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFlags" title="enum GstVideoFlags"><span class="type">GstVideoFlags</span></a> <em class="structfield"><code><a name="GstVideoInfo.flags"></a>flags</code></em>;</p></td>
-<td class="struct_member_description"><p>additional video flags</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.width"></a>width</code></em>;</p></td>
-<td class="struct_member_description"><p>the width of the video</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.height"></a>height</code></em>;</p></td>
-<td class="struct_member_description"><p>the height of the video</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstVideoInfo.size"></a>size</code></em>;</p></td>
-<td class="struct_member_description"><p>the default size of one frame</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.views"></a>views</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of views for multiview video</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> <em class="structfield"><code><a name="GstVideoInfo.chroma-site"></a>chroma_site</code></em>;</p></td>
-<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstVideoChroma.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> <em class="structfield"><code><a name="GstVideoInfo.colorimetry"></a>colorimetry</code></em>;</p></td>
-<td class="struct_member_description"><p>the colorimetry info</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.par-n"></a>par_n</code></em>;</p></td>
-<td class="struct_member_description"><p>the pixel-aspect-ratio numerator</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.par-d"></a>par_d</code></em>;</p></td>
-<td class="struct_member_description"><p>the pixel-aspect-ratio demnominator</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.fps-n"></a>fps_n</code></em>;</p></td>
-<td class="struct_member_description"><p>the framerate numerator</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.fps-d"></a>fps_d</code></em>;</p></td>
-<td class="struct_member_description"><p>the framerate demnominator</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstVideoInfo.offset"></a>offset</code></em>[GST_VIDEO_MAX_PLANES];</p></td>
-<td class="struct_member_description"><p>offsets of the planes</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.stride"></a>stride</code></em>[GST_VIDEO_MAX_PLANES];</p></td>
-<td class="struct_member_description"><p>strides of the planes</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoInterlaceMode"></a><h3>enum GstVideoInterlaceMode</h3>
-<p>The possible values of the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInterlaceMode" title="enum GstVideoInterlaceMode"><span class="type">GstVideoInterlaceMode</span></a> describing the interlace
-mode of the stream.</p>
 <div class="refsect3">
 <a name="GstVideoInterlaceMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -5988,39 +3118,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-INTERLACE-MODE-PROGRESSIVE:CAPS"></a>GST_VIDEO_INTERLACE_MODE_PROGRESSIVE</p></td>
-<td class="enum_member_description">
-<p>all frames are progressive</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-INTERLACE-MODE-INTERLEAVED:CAPS"></a>GST_VIDEO_INTERLACE_MODE_INTERLEAVED</p></td>
-<td class="enum_member_description">
-<p>2 fields are interleaved in one video
-    frame. Extra buffer flags describe the field order.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-INTERLACE-MODE-MIXED:CAPS"></a>GST_VIDEO_INTERLACE_MODE_MIXED</p></td>
-<td class="enum_member_description">
-<p>frames contains both interlaced and
-    progressive video, the buffer flags describe the frame and fields.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-INTERLACE-MODE-FIELDS:CAPS"></a>GST_VIDEO_INTERLACE_MODE_FIELDS</p></td>
-<td class="enum_member_description">
-<p>2 fields are stored in one buffer, use the
-    frame ID to get access to the required field. For multiview (the
-    'views' property &gt; 1) the fields of view N can be found at frame ID
-    (N * 2) and (N * 2) + 1.
-    Each field has only half the amount of lines as noted in the
-    height property. This mode requires multiple GstVideoMeta metadata
-    to describe the fields.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -6029,9 +3143,6 @@
 <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="GstVideoMultiviewMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6043,114 +3154,68 @@
 <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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> framebuffers attached to each
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -6159,14 +3224,6 @@
 <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="GstVideoMultiviewFramePacking.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6178,83 +3235,53 @@
 <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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -6263,9 +3290,6 @@
 <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="GstVideoMultiviewFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6277,76 +3301,43 @@
 <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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -6355,7 +3346,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoFlags"></a><h3>enum GstVideoFlags</h3>
-<p>Extra video flags</p>
 <div class="refsect3">
 <a name="GstVideoFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6367,26 +3357,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FLAG-NONE:CAPS"></a>GST_VIDEO_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FLAG-VARIABLE-FPS:CAPS"></a>GST_VIDEO_FLAG_VARIABLE_FPS</p></td>
-<td class="enum_member_description">
-<p>a variable fps is selected, fps_n and fps_d
-    denote the maximum fps of the video</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FLAG-PREMULTIPLIED-ALPHA:CAPS"></a>GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA</p></td>
-<td class="enum_member_description">
-<p>Each color has been scaled by the alpha
-    value.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -6407,60 +3389,10 @@
   GstMapInfo map[GST_VIDEO_MAX_PLANES];
 };
 </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="GstVideoFrame.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstVideoFrame.info"></a>info</code></em>;</p></td>
-<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags" title="enum GstVideoFrameFlags"><span class="type">GstVideoFrameFlags</span></a> <em class="structfield"><code><a name="GstVideoFrame.flags"></a>flags</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags" title="enum GstVideoFrameFlags"><span class="type">GstVideoFrameFlags</span></a> for the frame</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstVideoFrame.buffer"></a>buffer</code></em>;</p></td>
-<td class="struct_member_description"><p>the mapped buffer</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstVideoFrame.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>pointer to metadata if any</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoFrame.id"></a>id</code></em>;</p></td>
-<td class="struct_member_description"><p>id of the mapped frame. the id can for example be used to
-indentify the frame in case of multiview video.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstVideoFrame.data"></a>data</code></em>[GST_VIDEO_MAX_PLANES];</p></td>
-<td class="struct_member_description"><p>pointers to the plane data</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> <em class="structfield"><code><a name="GstVideoFrame.map"></a>map</code></em>[GST_VIDEO_MAX_PLANES];</p></td>
-<td class="struct_member_description"><p>mappings of the planes</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoFrameFlags"></a><h3>enum GstVideoFrameFlags</h3>
-<p>Extra video frame flags</p>
 <div class="refsect3">
 <a name="GstVideoFrameFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6472,56 +3404,38 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-NONE:CAPS"></a>GST_VIDEO_FRAME_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-INTERLACED:CAPS"></a>GST_VIDEO_FRAME_FLAG_INTERLACED</p></td>
-<td class="enum_member_description">
-<p>The video frame is interlaced. In mixed
-          interlace-mode, this flag specifies if the frame is interlaced or
-          progressive.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-TFF:CAPS"></a>GST_VIDEO_FRAME_FLAG_TFF</p></td>
-<td class="enum_member_description">
-<p>The video frame has the top field first</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-RFF:CAPS"></a>GST_VIDEO_FRAME_FLAG_RFF</p></td>
-<td class="enum_member_description">
-<p>The video frame has the repeat flag</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-FRAME-FLAG-ONEFIELD:CAPS"></a>GST_VIDEO_FRAME_FLAG_ONEFIELD</p></td>
-<td class="enum_member_description">
-<p>The video frame has one field</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -6530,8 +3444,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoBufferFlags"></a><h3>enum GstVideoBufferFlags</h3>
-<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="GstVideoBufferFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6543,67 +3455,38 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-BUFFER-FLAG-INTERLACED:CAPS"></a>GST_VIDEO_BUFFER_FLAG_INTERLACED</p></td>
-<td class="enum_member_description">
-<p>If the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> is interlaced. In mixed
-                                    interlace-mode, this flags specifies if the frame is
-                                    interlaced or progressive.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-BUFFER-FLAG-TFF:CAPS"></a>GST_VIDEO_BUFFER_FLAG_TFF</p></td>
-<td class="enum_member_description">
-<p>If the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> is interlaced, then the first field
-                                    in the video frame is the top field.  If unset, the
-                                    bottom field is first.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-BUFFER-FLAG-RFF:CAPS"></a>GST_VIDEO_BUFFER_FLAG_RFF</p></td>
-<td class="enum_member_description">
-<p>If the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> is interlaced, then the first field
-                                    (as defined by the <code class="literal">GST_VIDEO_BUFFER_TFF</code> flag setting)
-                                    is repeated.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-BUFFER-FLAG-ONEFIELD:CAPS"></a>GST_VIDEO_BUFFER_FLAG_ONEFIELD</p></td>
-<td class="enum_member_description">
-<p>If the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> is interlaced, then only the
-                                    first field (as defined by the <code class="literal">GST_VIDEO_BUFFER_TFF</code>
-                                    flag setting) is to be displayed.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </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="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><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>
+<td> </td>
+<td> </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>
+<td> </td>
+<td> </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>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -6612,7 +3495,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoTileType"></a><h3>enum GstVideoTileType</h3>
-<p>Enum value describing the most common tiling types.</p>
 <div class="refsect3">
 <a name="GstVideoTileType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6623,12 +3505,8 @@
 </colgroup>
 <tbody><tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TILE-TYPE-INDEXED:CAPS"></a>GST_VIDEO_TILE_TYPE_INDEXED</p></td>
-<td class="enum_member_description">
-<p>Tiles are indexed. Use
-  <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-tile-get-index" title="gst_video_tile_get_index ()"><code class="function">gst_video_tile_get_index()</code></a> to retrieve the tile at the requested
-  coordinates.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr></tbody>
 </table></div>
 </div>
@@ -6636,7 +3514,6 @@
 <hr>
 <div class="refsect2">
 <a name="GstVideoTileMode"></a><h3>enum GstVideoTileMode</h3>
-<p>Enum value describing the available tiling modes.</p>
 <div class="refsect3">
 <a name="GstVideoTileMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -6648,20 +3525,13 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TILE-MODE-UNKNOWN:CAPS"></a>GST_VIDEO_TILE_MODE_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>Unknown or unset tile mode</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-TILE-MODE-ZFLIPZ-2X2:CAPS"></a>GST_VIDEO_TILE_MODE_ZFLIPZ_2X2</p></td>
-<td class="enum_member_description">
-<p>Every four adjacent blocks - two
-   horizontally and two vertically are grouped together and are located
-   in memory in Z or flipped Z order. In case of odd rows, the last row
-   of blocks is arranged in linear order.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideoaffinetransformationmeta.html b/docs/libs/html/gst-plugins-base-libs-gstvideoaffinetransformationmeta.html
index 9921b1d..0bc7419 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideoaffinetransformationmeta.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideoaffinetransformationmeta.html
@@ -92,31 +92,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#GstVideoAffineTransformationMeta" title="struct GstVideoAffineTransformationMeta"><span class="returnvalue">GstVideoAffineTransformationMeta</span></a> *
 gst_buffer_add_video_affine_transformation_meta
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Attaches GstVideoAffineTransformationMeta metadata to <em class="parameter"><code>buffer</code></em>
- with
-the given parameters.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-video-affine-transformation-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-video-affine-transformation-meta.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#GstVideoAffineTransformationMeta" title="struct GstVideoAffineTransformationMeta"><span class="type">GstVideoAffineTransformationMeta</span></a> on <em class="parameter"><code>buffer</code></em>
-. </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>
-<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -130,30 +105,6 @@
 gst_video_affine_transformation_meta_apply_matrix
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#GstVideoAffineTransformationMeta" title="struct GstVideoAffineTransformationMeta"><span class="type">GstVideoAffineTransformationMeta</span></a> *meta</code></em>,
                                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> matrix[16]</code></em>);</pre>
-<p>Apply a transformation using the given 4x4 transformation matrix</p>
-<div class="refsect3">
-<a name="gst-video-affine-transformation-meta-apply-matrix.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>meta</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html#GstVideoAffineTransformationMeta" title="struct GstVideoAffineTransformationMeta"><span class="type">GstVideoAffineTransformationMeta</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>matrix</p></td>
-<td class="parameter_description"><p>a 4x4 transformation matrix to be applied</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.8</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html b/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html
index a557973..a4b29e9 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideofilter.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstvideofilter.top_of_page"></a>gstvideofilter</span></h2>
-<p>gstvideofilter — Base class for video filters</p>
+<p>gstvideofilter</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -68,15 +68,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideofilter.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.15.7.7.2"></a><p>
-Provides useful functions and a base class for video filters.
-</p>
-<p>
-The videofilter will by default enable QoS on the parent GstBaseTransform
-to implement frame dropping.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideofilter.functions_details"></a><h2>Functions</h2>
@@ -104,34 +95,6 @@
   GstFlowReturn (*transform_frame_ip) (GstVideoFilter *trans, GstVideoFrame *frame);
 };
 </pre>
-<p>The video filter class structure.</p>
-<div class="refsect3">
-<a name="GstVideoFilterClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoFilterClass.set-info"></a>set_info</code></em> ()</p></td>
-<td class="struct_member_description"><p>function to be called with the negotiated caps and video infos</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoFilterClass.transform-frame"></a>transform_frame</code></em> ()</p></td>
-<td class="struct_member_description"><p>transform a video frame</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoFilterClass.transform-frame-ip"></a>transform_frame_ip</code></em> ()</p></td>
-<td class="struct_member_description"><p>transform a video frame in place</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideometa.html b/docs/libs/html/gst-plugins-base-libs-gstvideometa.html
index 9f4482d..bd7513e 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideometa.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideometa.html
@@ -223,59 +223,6 @@
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *data</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *stride</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);</pre>
-<p>Map the video plane with index <em class="parameter"><code>plane</code></em>
- in <em class="parameter"><code>meta</code></em>
- and return a pointer to the
-first byte of the plane and the stride of the plane.</p>
-<div class="refsect3">
-<a name="gst-video-meta-map.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>meta</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>plane</p></td>
-<td class="parameter_description"><p>a plane</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>the data of <em class="parameter"><code>plane</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stride</p></td>
-<td class="parameter_description"><p>the stride of <em class="parameter"><code>plane</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><em class="parameter"><code>GstMapFlags</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-meta-map.returns"></a><h4>Returns</h4>
-<p> TRUE if the map operation was successful.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -284,38 +231,6 @@
 gst_video_meta_unmap (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> *meta</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>,
                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>);</pre>
-<p>Unmap a previously mapped plane with <a class="link" href="gst-plugins-base-libs-gstvideometa.html#gst-video-meta-map" title="gst_video_meta_map ()"><code class="function">gst_video_meta_map()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-meta-unmap.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>meta</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>plane</p></td>
-<td class="parameter_description"><p>a plane</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-meta-unmap.returns"></a><h4>Returns</h4>
-<p> TRUE if the memory was successfully unmapped.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -332,57 +247,6 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>);</pre>
-<p>Attaches GstVideoMeta metadata to <em class="parameter"><code>buffer</code></em>
- with the given parameters and the
-default offsets and strides for <em class="parameter"><code>format</code></em>
- and <em class="parameter"><code>width</code></em>
- x <em class="parameter"><code>height</code></em>
-.</p>
-<p>This function calculates the default offsets and strides and then calls
-<a class="link" href="gst-plugins-base-libs-gstvideometa.html#gst-buffer-add-video-meta-full" title="gst_buffer_add_video_meta_full ()"><code class="function">gst_buffer_add_video_meta_full()</code></a> with them.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-video-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags" title="enum GstVideoFrameFlags"><span class="type">GstVideoFrameFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>the height</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-video-meta.returns"></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><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">
@@ -396,99 +260,12 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> n_planes</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> offset[GST_VIDEO_MAX_PLANES]</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> stride[GST_VIDEO_MAX_PLANES]</code></em>);</pre>
-<p>Attaches GstVideoMeta metadata to <em class="parameter"><code>buffer</code></em>
- with the given parameters.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-video-meta-full.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags" title="enum GstVideoFrameFlags"><span class="type">GstVideoFrameFlags</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>the height</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n_planes</p></td>
-<td class="parameter_description"><p>number of planes</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>offset</p></td>
-<td class="parameter_description"><p>offset of each plane</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stride</p></td>
-<td class="parameter_description"><p>stride of each plane</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-video-meta-full.returns"></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><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">
 <a name="gst-buffer-get-video-meta"></a><h3>gst_buffer_get_video_meta ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="returnvalue">GstVideoMeta</span></a> *
 gst_buffer_get_video_meta (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
-<p>Find 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>
- with the lowest <em class="parameter"><code>id</code></em>
-.</p>
-<p>Buffers can contain multiple <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> metadata items when dealing with
-multiview buffers.</p>
-<div class="refsect3">
-<a name="gst-buffer-get-video-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-get-video-meta.returns"></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="/usr/share/gtk-doc/html/glibglib-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><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">
@@ -496,41 +273,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="returnvalue">GstVideoMeta</span></a> *
 gst_buffer_get_video_meta_id (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>);</pre>
-<p>Find 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>
- with the given <em class="parameter"><code>id</code></em>
-.</p>
-<p>Buffers can contain multiple <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> metadata items when dealing with
-multiview buffers.</p>
-<div class="refsect3">
-<a name="gst-buffer-get-video-meta-id.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>a metadata id</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-get-video-meta-id.returns"></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 <em class="parameter"><code>id</code></em>
-or <a href="/usr/share/gtk-doc/html/glibglib-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><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">
@@ -555,57 +297,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> y</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> w</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> h</code></em>);</pre>
-<p>Attaches <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta" title="GstVideoRegionOfInterestMeta"><span class="type">GstVideoRegionOfInterestMeta</span></a> metadata to <em class="parameter"><code>buffer</code></em>
- with the given
-parameters.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-video-region-of-interest-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>roi_type</p></td>
-<td class="parameter_description"><p>Type of the region of interest (e.g. "face")</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>X position</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>Y position</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>w</p></td>
-<td class="parameter_description"><p>width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>h</p></td>
-<td class="parameter_description"><p>height</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-video-region-of-interest-meta.returns"></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><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">
@@ -618,57 +309,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> y</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> w</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> h</code></em>);</pre>
-<p>Attaches <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta" title="GstVideoRegionOfInterestMeta"><span class="type">GstVideoRegionOfInterestMeta</span></a> metadata to <em class="parameter"><code>buffer</code></em>
- with the given
-parameters.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-video-region-of-interest-meta-id.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>roi_type</p></td>
-<td class="parameter_description"><p>Type of the region of interest (e.g. "face")</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>X position</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>Y position</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>w</p></td>
-<td class="parameter_description"><p>width</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>h</p></td>
-<td class="parameter_description"><p>height</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-video-region-of-interest-meta-id.returns"></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><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">
@@ -682,41 +322,6 @@
 gst_buffer_get_video_region_of_interest_meta_id
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>);</pre>
-<p>Find 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>
- with the given <em class="parameter"><code>id</code></em>
-.</p>
-<p>Buffers can contain multiple <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoRegionOfInterestMeta" title="GstVideoRegionOfInterestMeta"><span class="type">GstVideoRegionOfInterestMeta</span></a> metadata items if
-multiple regions of interests are marked on a frame.</p>
-<div class="refsect3">
-<a name="gst-buffer-get-video-region-of-interest-meta-id.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>id</p></td>
-<td class="parameter_description"><p>a metadata id</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-get-video-region-of-interest-meta-id.returns"></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> with <em class="parameter"><code>id</code></em>
-or <a href="/usr/share/gtk-doc/html/glibglib-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><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">
@@ -738,70 +343,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-Boxed-Types.html#GBoxedCopyFunc"><span class="type">GBoxedCopyFunc</span></a> user_data_copy</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-Boxed-Types.html#GBoxedFreeFunc"><span class="type">GBoxedFreeFunc</span></a> user_data_free</code></em>);</pre>
-<p>Attaches GstVideoGLTextureUploadMeta metadata to <em class="parameter"><code>buffer</code></em>
- with the given
-parameters.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-video-gl-texture-upload-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buffer</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<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>
-<td class="parameter_annotations"> </td>
-</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"><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"><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>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-video-gl-texture-upload-meta.returns"></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><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">
@@ -816,33 +357,6 @@
 gst_video_gl_texture_upload_meta_upload
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta" title="struct GstVideoGLTextureUploadMeta"><span class="type">GstVideoGLTextureUploadMeta</span></a> *meta</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> texture_id[4]</code></em>);</pre>
-<p>Uploads the buffer which owns the meta to a specific texture ID.</p>
-<div class="refsect3">
-<a name="gst-video-gl-texture-upload-meta-upload.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>meta</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoGLTextureUploadMeta" title="struct GstVideoGLTextureUploadMeta"><span class="type">GstVideoGLTextureUploadMeta</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>texture_id</p></td>
-<td class="parameter_description"><p>the texture IDs to upload to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-gl-texture-upload-meta-upload.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if uploading succeeded, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -869,83 +383,6 @@
   gboolean (*unmap)  (GstVideoMeta *meta, guint plane, GstMapInfo *info);
 };
 </pre>
-<p>Extra buffer metadata describing image properties</p>
-<div class="refsect3">
-<a name="GstVideoMeta.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstVideoMeta.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstVideoMeta.buffer"></a>buffer</code></em>;</p></td>
-<td class="struct_member_description"><p>the buffer this metadata belongs to</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags" title="enum GstVideoFrameFlags"><span class="type">GstVideoFrameFlags</span></a> <em class="structfield"><code><a name="GstVideoMeta.flags"></a>flags</code></em>;</p></td>
-<td class="struct_member_description"><p>additional video flags</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> <em class="structfield"><code><a name="GstVideoMeta.format"></a>format</code></em>;</p></td>
-<td class="struct_member_description"><p>the video format</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoMeta.id"></a>id</code></em>;</p></td>
-<td class="struct_member_description"><p>identifier of the frame</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoMeta.width"></a>width</code></em>;</p></td>
-<td class="struct_member_description"><p>the video width</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoMeta.height"></a>height</code></em>;</p></td>
-<td class="struct_member_description"><p>the video height</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoMeta.n-planes"></a>n_planes</code></em>;</p></td>
-<td class="struct_member_description"><p>the number of planes in the image</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstVideoMeta.offset"></a>offset</code></em>[GST_VIDEO_MAX_PLANES];</p></td>
-<td class="struct_member_description"><p>array of offsets for the planes. This field might not always be
-valid, it is used by the default implementation of <em class="parameter"><code>map</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoMeta.stride"></a>stride</code></em>[GST_VIDEO_MAX_PLANES];</p></td>
-<td class="struct_member_description"><p>array of strides for the planes. This field might not always be
-valid, it is used by the default implementation of <em class="parameter"><code>map</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoMeta.map"></a>map</code></em> ()</p></td>
-<td class="struct_member_description"><p>map the memory of a plane</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoMeta.unmap"></a>unmap</code></em> ()</p></td>
-<td class="struct_member_description"><p>unmap the memory of a plane</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -955,30 +392,6 @@
   GstVideoInfo *out_info;
 } GstVideoMetaTransform;
 </pre>
-<p>Extra data passed to a video transform <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMetaTransformFunction"><span class="type">GstMetaTransformFunction</span></a> such as:
-"gst-video-scale".</p>
-<div class="refsect3">
-<a name="GstVideoMetaTransform.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *<em class="structfield"><code><a name="GstVideoMetaTransform.in-info"></a>in_info</code></em>;</p></td>
-<td class="struct_member_description"><p>the input <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *<em class="structfield"><code><a name="GstVideoMetaTransform.out-info"></a>out_info</code></em>;</p></td>
-<td class="struct_member_description"><p>the output <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -992,44 +405,6 @@
   guint         height;
 };
 </pre>
-<p>Extra buffer metadata describing image cropping.</p>
-<div class="refsect3">
-<a name="GstVideoCropMeta.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstVideoCropMeta.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoCropMeta.x"></a>x</code></em>;</p></td>
-<td class="struct_member_description"><p>the horizontal offset</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoCropMeta.y"></a>y</code></em>;</p></td>
-<td class="struct_member_description"><p>the vertical offset</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoCropMeta.width"></a>width</code></em>;</p></td>
-<td class="struct_member_description"><p>the cropped width</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoCropMeta.height"></a>height</code></em>;</p></td>
-<td class="struct_member_description"><p>the cropped height</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1047,71 +422,12 @@
   guint h;
 } GstVideoRegionOfInterestMeta;
 </pre>
-<p>Extra buffer metadata describing an image region of interest</p>
-<div class="refsect3">
-<a name="GstVideoRegionOfInterestMeta.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Quarks.html#GQuark"><span class="type">GQuark</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.roi-type"></a>roi_type</code></em>;</p></td>
-<td class="struct_member_description"><p>GQuark describing the semantic of the Roi (f.i. a face, a pedestrian)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.id"></a>id</code></em>;</p></td>
-<td class="struct_member_description"><p>identifier of this particular ROI</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.parent-id"></a>parent_id</code></em>;</p></td>
-<td class="struct_member_description"><p>identifier of its parent ROI, used f.i. for ROI hierarchisation.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.x"></a>x</code></em>;</p></td>
-<td class="struct_member_description"><p>x component of upper-left corner</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.y"></a>y</code></em>;</p></td>
-<td class="struct_member_description"><p>y component of upper-left corner</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.w"></a>w</code></em>;</p></td>
-<td class="struct_member_description"><p>bounding box width</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoRegionOfInterestMeta.h"></a>h</code></em>;</p></td>
-<td class="struct_member_description"><p>bounding box height</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-BUFFER-POOL-OPTION-VIDEO-GL-TEXTURE-UPLOAD-META:CAPS"></a><h3>GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META</h3>
 <pre class="programlisting">#define GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META "GstBufferPoolOptionVideoGLTextureUploadMeta"
 </pre>
-<p>An option that can be activated on a bufferpool to request gl texture upload
-meta on buffers from the pool.</p>
-<p>When this option is enabled on the bufferpool,
-<em class="parameter"><code>GST_BUFFER_POOL_OPTION_VIDEO_META</code></em>
- should also be enabled.</p>
-<p class="since">Since: 1.2.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1124,42 +440,6 @@
   GstVideoGLTextureType texture_type[4];
 };
 </pre>
-<p>Extra buffer metadata for uploading a buffer to an OpenGL texture
-ID. The caller of <a class="link" href="gst-plugins-base-libs-gstvideometa.html#gst-video-gl-texture-upload-meta-upload" title="gst_video_gl_texture_upload_meta_upload ()"><code class="function">gst_video_gl_texture_upload_meta_upload()</code></a> must
-have OpenGL set up and call this from a thread where it is valid
-to upload something to an OpenGL texture.</p>
-<div class="refsect3">
-<a name="GstVideoGLTextureUploadMeta.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstVideoGLTextureUploadMeta.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><span class="type">GstVideoGLTextureOrientation</span> <em class="structfield"><code><a name="GstVideoGLTextureUploadMeta.texture-orientation"></a>texture_orientation</code></em>;</p></td>
-<td class="struct_member_description"><p>Orientation of the textures</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoGLTextureUploadMeta.n-textures"></a>n_textures</code></em>;</p></td>
-<td class="struct_member_description"><p>Number of textures that are generated</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><span class="type">GstVideoGLTextureType</span> <em class="structfield"><code><a name="GstVideoGLTextureUploadMeta.texture-type"></a>texture_type</code></em>[4];</p></td>
-<td class="struct_member_description"><p>Type of each texture</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideoorientation.html b/docs/libs/html/gst-plugins-base-libs-gstvideoorientation.html
index d0216f6..8f60b21 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideoorientation.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideoorientation.html
@@ -28,8 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstvideoorientation.top_of_page"></a>gstvideoorientation</span></h2>
-<p>gstvideoorientation — Interface for elements providing video orientation
-controls</p>
+<p>gstvideoorientation</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -140,8 +139,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideoorientation.description"></a><h2>Description</h2>
-<p>The interface allows unified access to control flipping and autocenter
-operation of video-sources or operators.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideoorientation.functions_details"></a><h2>Functions</h2>
@@ -150,33 +147,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_get_hcenter (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *center</code></em>);</pre>
-<p>Get the horizontal centering offset from the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-get-hcenter.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>center</p></td>
-<td class="parameter_description"><p>return location for the result</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-get-hcenter.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports centering</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -184,33 +154,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_get_hflip (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flip</code></em>);</pre>
-<p>Get the horizontal flipping state (<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for flipped) from the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-get-hflip.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flip</p></td>
-<td class="parameter_description"><p>return location for the result</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-get-hflip.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports flipping</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -218,33 +161,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_get_vcenter (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *center</code></em>);</pre>
-<p>Get the vertical centering offset from the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-get-vcenter.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>center</p></td>
-<td class="parameter_description"><p>return location for the result</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-get-vcenter.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports centering</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -252,33 +168,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_get_vflip (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flip</code></em>);</pre>
-<p>Get the vertical flipping state (<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for flipped) from the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-get-vflip.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flip</p></td>
-<td class="parameter_description"><p>return location for the result</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-get-vflip.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports flipping</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -286,33 +175,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_set_hcenter (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> center</code></em>);</pre>
-<p>Set the horizontal centering offset for the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-set-hcenter.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>center</p></td>
-<td class="parameter_description"><p>centering offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-set-hcenter.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports centering</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -320,33 +182,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_set_hflip (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flip</code></em>);</pre>
-<p>Set the horizontal flipping state (<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for flipped) for the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-set-hflip.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flip</p></td>
-<td class="parameter_description"><p>use flipping</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-set-hflip.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports flipping</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -354,33 +189,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_set_vcenter (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> center</code></em>);</pre>
-<p>Set the vertical centering offset for the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-set-vcenter.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>center</p></td>
-<td class="parameter_description"><p>centering offset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-set-vcenter.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports centering</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -388,33 +196,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_orientation_set_vflip (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> *video_orientation</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flip</code></em>);</pre>
-<p>Set the vertical flipping state (<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for flipped) for the given object.</p>
-<div class="refsect3">
-<a name="gst-video-orientation-set-vflip.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>video_orientation</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> interface of a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flip</p></td>
-<td class="parameter_description"><p>use flipping</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-orientation-set-vflip.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in case the element supports flipping</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -422,7 +203,6 @@
 <div class="refsect2">
 <a name="GstVideoOrientation-struct"></a><h3>GstVideoOrientation</h3>
 <pre class="programlisting">typedef struct _GstVideoOrientation GstVideoOrientation;</pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientation"><span class="type">GstVideoOrientation</span></a> data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -446,64 +226,6 @@
   gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center);
 };
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-gstvideoorientation.html#GstVideoOrientationInterface" title="struct GstVideoOrientationInterface"><span class="type">GstVideoOrientationInterface</span></a> interface.</p>
-<div class="refsect3">
-<a name="GstVideoOrientationInterface.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstVideoOrientationInterface.iface"></a>iface</code></em>;</p></td>
-<td class="struct_member_description"><p>parent interface type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.get-hflip"></a>get_hflip</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to get horizontal flipping state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.get-vflip"></a>get_vflip</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to get vertical flipping state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.get-hcenter"></a>get_hcenter</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to get horizontal centering state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.get-vcenter"></a>get_vcenter</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to get vertical centering state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.set-hflip"></a>set_hflip</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to set horizontal flipping state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.set-vflip"></a>set_vflip</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to set vertical flipping state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.set-hcenter"></a>set_hcenter</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to set horizontal centering state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOrientationInterface.set-vcenter"></a>set_vcenter</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to set vertical centering state</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html b/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
index 1aa62bc..21c8e9e 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideooverlay.html
@@ -28,9 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstvideooverlay.top_of_page"></a>gstvideooverlay</span></h2>
-<p>gstvideooverlay — Interface for setting/getting a window system resource
-   on elements supporting it to configure a window into which to render a
-   video.</p>
+<p>gstvideooverlay</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -133,496 +131,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideooverlay.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.15.16.8.2"></a><p>
-The <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> interface is used for 2 main purposes :
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
-To get a grab on the Window where the video sink element is going to render.
-This is achieved by either being informed about the Window identifier that
-the video sink element generated, or by forcing the video sink element to use
-a specific Window identifier for rendering.
-</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="/usr/share/gtk-doc/html/gstreamer-1.0GstPipeline.html#GstPipeline-struct"><span class="type">GstPipeline</span></a> is in <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.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.
-</p></li>
-</ul></div>
-<p>
-</p>
-<p>
-Using the Window created by the video sink is probably the simplest scenario,
-in some cases, though, it might not be flexible enough for application
-developers if they need to catch events such as mouse moves and button
-clicks.
-</p>
-<p>
-Setting a specific Window identifier on the video sink element is the most
-flexible solution but it has some issues. Indeed the application needs to set
-its Window identifier at the right time to avoid internal Window creation
-from the video sink element. To solve this issue a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> is posted on
-the bus to inform the application that it should set the Window identifier
-immediately. Here is an example on how to do that correctly:
-</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static</span> GstBusSyncReply
-<span class="function">create_window</span> <span class="gtkdoc opt">(</span>GstBus <span class="gtkdoc opt">*</span> bus<span class="gtkdoc opt">,</span> GstMessage <span class="gtkdoc opt">*</span> message<span class="gtkdoc opt">,</span> GstPipeline <span class="gtkdoc opt">*</span> pipeline<span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
- <span class="gtkdoc slc">// ignore anything but 'prepare-window-handle' element messages</span>
- <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="gst-plugins-base-libs-gstvideooverlay.html#gst-is-video-overlay-prepare-window-handle-message">gst_is_video_overlay_prepare_window_handle_message</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">))</span>
-   <span class="keyword">return</span> GST_BUS_PASS<span class="gtkdoc opt">;</span>
-
- win <span class="gtkdoc opt">=</span> <span class="function">XCreateSimpleWindow</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> root<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">320</span><span class="gtkdoc opt">,</span> <span class="number">240</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
-
- <span class="function">XSetWindowBackgroundPixmap</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> win<span class="gtkdoc opt">,</span> None<span class="gtkdoc opt">);</span>
-
- <span class="function">XMapRaised</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> win<span class="gtkdoc opt">);</span>
-
- <span class="function">XSync</span> <span class="gtkdoc opt">(</span>disp<span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">);</span>
-
- <span class="function"><a href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-set-window-handle">gst_video_overlay_set_window_handle</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_VIDEO_OVERLAY</span> <span class="gtkdoc opt">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GST-MESSAGE-SRC:CAPS">GST_MESSAGE_SRC</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">)),</span>
-     win<span class="gtkdoc opt">);</span>
-
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#gst-message-unref">gst_message_unref</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">);</span>
-
- <span class="keyword">return</span> GST_BUS_DROP<span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">}</span>
-<span class="gtkdoc opt">...</span>
-<span class="gtkdoc kwb">int</span>
-<span class="function">main</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwb">int</span> argc<span class="gtkdoc opt">,</span> <span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">**</span>argv<span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
-<span class="gtkdoc opt">...</span>
- bus <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPipeline.html#gst-pipeline-get-bus">gst_pipeline_get_bus</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_PIPELINE</span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">));</span>
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#gst-bus-set-sync-handler">gst_bus_set_sync_handler</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">, (</span>GstBusSyncHandler<span class="gtkdoc opt">)</span> create_window<span class="gtkdoc opt">,</span> pipeline<span class="gtkdoc opt">,</span>
-        NULL<span class="gtkdoc opt">);</span>
-<span class="gtkdoc opt">...</span>
-<span class="gtkdoc opt">}</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.15.16.8.3"></a><h3>Two basic usage scenarios</h3>
-<p>
-There are two basic usage scenarios: in the simplest case, the application
-uses <span class="type">playbin</span> or <span class="type">plasink</span> or knows exactly what particular element is used
-for video output, which is usually the case when the application creates
-the videosink to use (e.g. <span class="type">xvimagesink</span>, <span class="type">ximagesink</span>, etc.) itself; in this
-case, the application can just create the videosink element, create and
-realize the window to render the video on and then
-call <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-set-window-handle" title="gst_video_overlay_set_window_handle ()"><code class="function">gst_video_overlay_set_window_handle()</code></a> directly with the XID or native
-window handle, before starting up the pipeline.
-As <span class="type">playbin</span> and <span class="type">playsink</span> implement the video overlay interface and proxy
-it transparently to the actual video sink even if it is created later, this
-case also applies when using these elements.
-</p>
-<p>
-In the other and more common case, the application does not know in advance
-what GStreamer video sink element will be used for video output. This is
-usually the case when an element such as <span class="type">autovideosink</span> is used.
-In this case, the video sink element itself is created
-asynchronously from a GStreamer streaming thread some time after the
-pipeline has been started up. When that happens, however, the video sink
-will need to know right then whether to render onto an already existing
-application window or whether to create its own window. This is when it
-posts a prepare-window-handle message, and that is also why this message needs
-to be handled in a sync bus handler which will be called from the streaming
-thread directly (because the video sink will need an answer right then).
-</p>
-<p>
-As response to the prepare-window-handle element message in the bus sync
-handler, the application may use <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-set-window-handle" title="gst_video_overlay_set_window_handle ()"><code class="function">gst_video_overlay_set_window_handle()</code></a> to tell
-the video sink to render onto an existing window surface. At this point the
-application should already have obtained the window handle / XID, so it
-just needs to set it. It is generally not advisable to call any GUI toolkit
-functions or window system functions from the streaming thread in which the
-prepare-window-handle message is handled, because most GUI toolkits and
-windowing systems are not thread-safe at all and a lot of care would be
-required to co-ordinate the toolkit and window system calls of the
-different threads (Gtk+ users please note: prior to Gtk+ 2.18
-<a href="/usr/share/gtk-doc/html/gdk3gdk3-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS"><code class="function">GDK_WINDOW_XID()</code></a> was just a simple structure access, so generally fine to do
-within the bus sync handler; this macro was changed to a function call in
-Gtk+ 2.18 and later, which is likely to cause problems when called from a
-sync handler; see below for a better approach without <a href="/usr/share/gtk-doc/html/gdk3gdk3-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS"><code class="function">GDK_WINDOW_XID()</code></a>
-used in the callback).
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.15.16.8.4"></a><h3>GstVideoOverlay and Gtk+</h3>
-<p>
-</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;gst/video/videooverlay.h&gt;</span>
-<span class="gtkdoc ppc">#include &lt;gtk/gtk.h&gt;</span>
-<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_X11</span>
-<span class="gtkdoc ppc">#include &lt;gdk/gdkx.h&gt;</span>  <span class="gtkdoc slc">// for GDK_WINDOW_XID</span>
-<span class="gtkdoc ppc"></span><span class="gtkdoc ppc">#endif</span>
-<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_WIN32</span>
-<span class="gtkdoc ppc">#include &lt;gdk/gdkwin32.h&gt;</span>  <span class="gtkdoc slc">// for GDK_WINDOW_HWND</span>
-<span class="gtkdoc ppc"></span><span class="gtkdoc ppc">#endif</span>
-<span class="gtkdoc opt">...</span>
-<span class="gtkdoc kwb">static</span> guintptr video_window_handle <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">...</span>
-<span class="gtkdoc kwb">static</span> GstBusSyncReply
-<span class="function">bus_sync_handler</span> <span class="gtkdoc opt">(</span>GstBus <span class="gtkdoc opt">*</span> bus<span class="gtkdoc opt">,</span> GstMessage <span class="gtkdoc opt">*</span> message<span class="gtkdoc opt">,</span> gpointer user_data<span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
- <span class="gtkdoc slc">// ignore anything but 'prepare-window-handle' element messages</span>
- <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="gst-plugins-base-libs-gstvideooverlay.html#gst-is-video-overlay-prepare-window-handle-message">gst_is_video_overlay_prepare_window_handle_message</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">))</span>
-   <span class="keyword">return</span> GST_BUS_PASS<span class="gtkdoc opt">;</span>
-
- <span class="keyword">if</span> <span class="gtkdoc opt">(</span>video_window_handle <span class="gtkdoc opt">!=</span> <span class="number">0</span><span class="gtkdoc opt">) {</span>
-   GstVideoOverlay <span class="gtkdoc opt">*</span>overlay<span class="gtkdoc opt">;</span>
-
-   <span class="gtkdoc slc">// GST_MESSAGE_SRC (message) will be the video sink element</span>
-   overlay <span class="gtkdoc opt">=</span> <span class="function">GST_VIDEO_OVERLAY</span> <span class="gtkdoc opt">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GST-MESSAGE-SRC:CAPS">GST_MESSAGE_SRC</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">));</span>
-   <span class="function"><a href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-set-window-handle">gst_video_overlay_set_window_handle</a></span> <span class="gtkdoc opt">(</span>overlay<span class="gtkdoc opt">,</span> video_window_handle<span class="gtkdoc opt">);</span>
- <span class="gtkdoc opt">}</span> <span class="keyword">else</span> <span class="gtkdoc opt">{</span>
-   <span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Message-Logging.html#g-warning">g_warning</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Should have obtained video_window_handle by now!&quot;</span><span class="gtkdoc opt">);</span>
- <span class="gtkdoc opt">}</span>
-
- <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#gst-message-unref">gst_message_unref</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">);</span>
- <span class="keyword">return</span> GST_BUS_DROP<span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">}</span>
-<span class="gtkdoc opt">...</span>
-<span class="gtkdoc kwb">static void</span>
-<span class="function">video_widget_realize_cb</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span> widget<span class="gtkdoc opt">,</span> gpointer data<span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
-<span class="gtkdoc ppc">#if GTK_CHECK_VERSION(2,18,0)</span>
-  <span class="gtkdoc slc">// Tell Gtk+/Gdk to create a native window for this widget instead of</span>
-  <span class="gtkdoc slc">// drawing onto the parent widget.</span>
-  <span class="gtkdoc slc">// This is here just for pedagogical purposes, GDK_WINDOW_XID will call</span>
-  <span class="gtkdoc slc">// it as well in newer Gtk versions</span>
-  <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="/usr/share/gtk-doc/html/gdk3gdk3-Windows.html#gdk-window-ensure-native">gdk_window_ensure_native</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">-&gt;</span>window<span class="gtkdoc opt">))</span>
-    <span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Message-Logging.html#g-error">g_error</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Couldn't create native window needed for GstVideoOverlay!&quot;</span><span class="gtkdoc opt">);</span>
-<span class="gtkdoc ppc">#endif</span>
-
-<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_X11</span>
-  <span class="gtkdoc opt">{</span>
-    gulong xid <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gdk3gdk3-X-Window-System-Interaction.html#GDK-WINDOW-XID:CAPS">GDK_WINDOW_XID</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkWidget.html#gtk-widget-get-window">gtk_widget_get_window</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">));</span>
-    video_window_handle <span class="gtkdoc opt">=</span> xid<span class="gtkdoc opt">;</span>
-  <span class="gtkdoc opt">}</span>
-<span class="gtkdoc ppc">#endif</span>
-<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_WIN32</span>
-  <span class="gtkdoc opt">{</span>
-    HWND wnd <span class="gtkdoc opt">=</span> <span class="function">GDK_WINDOW_HWND</span> <span class="gtkdoc opt">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkWidget.html#gtk-widget-get-window">gtk_widget_get_window</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">));</span>
-    video_window_handle <span class="gtkdoc opt">= (</span>guintptr<span class="gtkdoc opt">)</span> wnd<span class="gtkdoc opt">;</span>
-  <span class="gtkdoc opt">}</span>
-<span class="gtkdoc ppc">#endif</span>
-<span class="gtkdoc opt">}</span>
-<span class="gtkdoc opt">...</span>
-<span class="gtkdoc kwb">int</span>
-<span class="function">main</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwb">int</span> argc<span class="gtkdoc opt">,</span> <span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">**</span>argv<span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
-  GtkWidget <span class="gtkdoc opt">*</span>video_window<span class="gtkdoc opt">;</span>
-  GtkWidget <span class="gtkdoc opt">*</span>app_window<span class="gtkdoc opt">;</span>
-  <span class="gtkdoc opt">...</span>
-  app_window <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkWindow.html#gtk-window-new">gtk_window_new</a></span> <span class="gtkdoc opt">(</span>GTK_WINDOW_TOPLEVEL<span class="gtkdoc opt">);</span>
-  <span class="gtkdoc opt">...</span>
-  video_window <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkDrawingArea.html#gtk-drawing-area-new">gtk_drawing_area_new</a></span> <span class="gtkdoc opt">();</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#g-signal-connect">g_signal_connect</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">,</span> <span class="string">&quot;realize&quot;</span><span class="gtkdoc opt">,</span>
-      <span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span> <span class="gtkdoc opt">(</span>video_widget_realize_cb<span class="gtkdoc opt">),</span> NULL<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkWidget.html#gtk-widget-set-double-buffered">gtk_widget_set_double_buffered</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">);</span>
-  <span class="gtkdoc opt">...</span>
-  <span class="gtkdoc slc">// usually the video_window will not be directly embedded into the</span>
-  <span class="gtkdoc slc">// application window like this, but there will be many other widgets</span>
-  <span class="gtkdoc slc">// and the video window will be embedded in one of them instead</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkContainer.html#gtk-container-add">gtk_container_add</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_CONTAINER</span> <span class="gtkdoc opt">(</span>ap_window<span class="gtkdoc opt">),</span> video_window<span class="gtkdoc opt">);</span>
-  <span class="gtkdoc opt">...</span>
-  <span class="gtkdoc slc">// show the GUI</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkWidget.html#gtk-widget-show-all">gtk_widget_show_all</a></span> <span class="gtkdoc opt">(</span>app_window<span class="gtkdoc opt">);</span>
-
-  <span class="gtkdoc slc">// realize window now so that the video window gets created and we can</span>
-  <span class="gtkdoc slc">// obtain its XID/HWND before the pipeline is started up and the videosink</span>
-  <span class="gtkdoc slc">// asks for the XID/HWND of the window to render onto</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gtk3GtkWidget.html#gtk-widget-realize">gtk_widget_realize</a></span> <span class="gtkdoc opt">(</span>video_window<span class="gtkdoc opt">);</span>
-
-  <span class="gtkdoc slc">// we should have the XID/HWND now</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Testing.html#g-assert">g_assert</a></span> <span class="gtkdoc opt">(</span>video_window_handle <span class="gtkdoc opt">!=</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
-  <span class="gtkdoc opt">...</span>
-  <span class="gtkdoc slc">// set up sync handler for setting the xid once the pipeline is started</span>
-  bus <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPipeline.html#gst-pipeline-get-bus">gst_pipeline_get_bus</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_PIPELINE</span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">));</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#gst-bus-set-sync-handler">gst_bus_set_sync_handler</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">, (</span>GstBusSyncHandler<span class="gtkdoc opt">)</span> bus_sync_handler<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span>
-      NULL<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">);</span>
-  <span class="gtkdoc opt">...</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-set-state">gst_element_set_state</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> GST_STATE_PLAYING<span class="gtkdoc opt">);</span>
-  <span class="gtkdoc opt">...</span>
-<span class="gtkdoc opt">}</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.15.16.8.5"></a><h3>GstVideoOverlay and Qt</h3>
-<p>
-</p>
-<div class="informalexample">
-  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
-    <tbody>
-      <tr>
-        <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#include &lt;glib.h&gt;</span>
-<span class="gtkdoc ppc">#include &lt;gst/gst.h&gt;</span>
-<span class="gtkdoc ppc">#include &lt;gst/video/videooverlay.h&gt;</span>
-
-<span class="gtkdoc ppc">#include &lt;QApplication&gt;</span>
-<span class="gtkdoc ppc">#include &lt;QTimer&gt;</span>
-<span class="gtkdoc ppc">#include &lt;QWidget&gt;</span>
-
-<span class="gtkdoc kwb">int</span> <span class="function">main</span><span class="gtkdoc opt">(</span><span class="gtkdoc kwb">int</span> argc<span class="gtkdoc opt">,</span> <span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>argv<span class="gtkdoc opt">[])</span>
-<span class="gtkdoc opt">{</span>
-  <span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Deprecated-Thread-APIs.html#g-thread-supported">g_thread_supported</a></span> <span class="gtkdoc opt">())</span>
-    <span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Deprecated-Thread-APIs.html#g-thread-init">g_thread_init</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">);</span>
-
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-Gst.html#gst-init">gst_init</a></span> <span class="gtkdoc opt">(&amp;</span>argc<span class="gtkdoc opt">, &amp;</span>argv<span class="gtkdoc opt">);</span>
-  QApplication <span class="function">app</span><span class="gtkdoc opt">(</span>argc<span class="gtkdoc opt">,</span> argv<span class="gtkdoc opt">);</span>
-  app<span class="gtkdoc opt">.</span><span class="function">connect</span><span class="gtkdoc opt">(&amp;</span>app<span class="gtkdoc opt">,</span> <span class="function">SIGNAL</span><span class="gtkdoc opt">(</span><span class="function">lastWindowClosed</span><span class="gtkdoc opt">()), &amp;</span>app<span class="gtkdoc opt">,</span> <span class="function">SLOT</span><span class="gtkdoc opt">(</span><span class="function">quit</span> <span class="gtkdoc opt">()));</span>
-
-  <span class="gtkdoc slc">// prepare the pipeline</span>
-
-  GstElement <span class="gtkdoc opt">*</span>pipeline <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPipeline.html#gst-pipeline-new">gst_pipeline_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;xvoverlay&quot;</span><span class="gtkdoc opt">);</span>
-  GstElement <span class="gtkdoc opt">*</span>src <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElementFactory.html#gst-element-factory-make">gst_element_factory_make</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;videotestsrc&quot;</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
-  GstElement <span class="gtkdoc opt">*</span>sink <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElementFactory.html#gst-element-factory-make">gst_element_factory_make</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;xvimagesink&quot;</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#gst-bin-add-many">gst_bin_add_many</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_BIN</span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">),</span> src<span class="gtkdoc opt">,</span> sink<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-link">gst_element_link</a></span> <span class="gtkdoc opt">(</span>src<span class="gtkdoc opt">,</span> sink<span class="gtkdoc opt">);</span>
-
-  <span class="gtkdoc slc">// prepare the ui</span>
-
-  QWidget window<span class="gtkdoc opt">;</span>
-  window<span class="gtkdoc opt">.</span><span class="function">resize</span><span class="gtkdoc opt">(</span><span class="number">320</span><span class="gtkdoc opt">,</span> <span class="number">240</span><span class="gtkdoc opt">);</span>
-  window<span class="gtkdoc opt">.</span><span class="function">show</span><span class="gtkdoc opt">();</span>
-
-  WId xwinid <span class="gtkdoc opt">=</span> window<span class="gtkdoc opt">.</span><span class="function">winId</span><span class="gtkdoc opt">();</span>
-  <span class="function"><a href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-set-window-handle">gst_video_overlay_set_window_handle</a></span> <span class="gtkdoc opt">(</span><span class="function">GST_VIDEO_OVERLAY</span> <span class="gtkdoc opt">(</span>sink<span class="gtkdoc opt">),</span> xwinid<span class="gtkdoc opt">);</span>
-
-  <span class="gtkdoc slc">// run the pipeline</span>
-
-  GstStateChangeReturn sret <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-set-state">gst_element_set_state</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span>
-      GST_STATE_PLAYING<span class="gtkdoc opt">);</span>
-  <span class="keyword">if</span> <span class="gtkdoc opt">(</span>sret <span class="gtkdoc opt">==</span> GST_STATE_CHANGE_FAILURE<span class="gtkdoc opt">) {</span>
-    <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-set-state">gst_element_set_state</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> GST_STATE_NULL<span class="gtkdoc opt">);</span>
-    <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">);</span>
-    <span class="gtkdoc slc">// Exit application</span>
-    QTimer<span class="gtkdoc opt">::</span><span class="function">singleShot</span><span class="gtkdoc opt">(</span><span class="number">0</span><span class="gtkdoc opt">,</span> QApplication<span class="gtkdoc opt">::</span><span class="function">activeWindow</span><span class="gtkdoc opt">(),</span> <span class="function">SLOT</span><span class="gtkdoc opt">(</span><span class="function">quit</span><span class="gtkdoc opt">()));</span>
-  <span class="gtkdoc opt">}</span>
-
-  <span class="gtkdoc kwb">int</span> ret <span class="gtkdoc opt">=</span> app<span class="gtkdoc opt">.</span><span class="function">exec</span><span class="gtkdoc opt">();</span>
-
-  window<span class="gtkdoc opt">.</span><span class="function">hide</span><span class="gtkdoc opt">();</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-set-state">gst_element_set_state</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> GST_STATE_NULL<span class="gtkdoc opt">);</span>
-  <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#gst-object-unref">gst_object_unref</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">);</span>
-
-  <span class="keyword">return</span> ret<span class="gtkdoc opt">;</span>
-<span class="gtkdoc opt">}</span></pre></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-<p>
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideooverlay.functions_details"></a><h2>Functions</h2>
@@ -631,30 +139,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_overlay_got_window_handle (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> *overlay</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guintptr"><span class="type">guintptr</span></a> handle</code></em>);</pre>
-<p>This will post a "have-window-handle" element message on the bus.</p>
-<p>This function should only be used by video overlay plugin developers.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-got-window-handle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>overlay</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> which got a window</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>handle</p></td>
-<td class="parameter_description"><p>a platform-specific handle referencing the window</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -662,33 +146,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_overlay_set_window_handle (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> *overlay</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guintptr"><span class="type">guintptr</span></a> handle</code></em>);</pre>
-<p>This will call the video overlay's set_window_handle method. You
-should use this method to tell to an overlay to display video output to a
-specific window (e.g. an XWindow on X11). Passing 0 as the  <em class="parameter"><code>handle</code></em>
- will
-tell the overlay to stop using that window and create an internal one.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-set-window-handle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>overlay</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> to set the window on.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>handle</p></td>
-<td class="parameter_description"><p>a handle referencing the window.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -696,49 +153,12 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_overlay_prepare_window_handle
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> *overlay</code></em>);</pre>
-<p>This will post a "prepare-window-handle" element message on the bus
-to give applications an opportunity to call
-<a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-set-window-handle" title="gst_video_overlay_set_window_handle ()"><code class="function">gst_video_overlay_set_window_handle()</code></a> before a plugin creates its own
-window.</p>
-<p>This function should only be used by video overlay plugin developers.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-prepare-window-handle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>overlay</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> which does not yet have an Window handle set</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-expose"></a><h3>gst_video_overlay_expose ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_overlay_expose (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> *overlay</code></em>);</pre>
-<p>Tell an overlay that it has been exposed. This will redraw the current frame
-in the drawable even if the pipeline is PAUSED.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-expose.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>overlay</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> to expose.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -746,33 +166,6 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_overlay_handle_events (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> *overlay</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> handle_events</code></em>);</pre>
-<p>Tell an overlay that it should handle events from the window system. These
-events are forwarded upstream as navigation events. In some window system,
-events are not propagated in the window hierarchy if a client is listening
-for them. This method allows you to disable events handling completely
-from the <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a>.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-handle-events.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>overlay</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> to expose.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>handle_events</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if events should be handled or not.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -784,58 +177,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> height</code></em>);</pre>
-<p>Configure a subregion as a video target within the window set by
-<a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-set-window-handle" title="gst_video_overlay_set_window_handle ()"><code class="function">gst_video_overlay_set_window_handle()</code></a>. If this is not used or not supported
-the video will fill the area of the window set as the overlay to 100%.
-By specifying the rectangle, the video can be overlayed to a specific region
-of that window only. After setting the new rectangle one should call
-<a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#gst-video-overlay-expose" title="gst_video_overlay_expose ()"><code class="function">gst_video_overlay_expose()</code></a> to force a redraw. To unset the region pass -1 for
-the <em class="parameter"><code>width</code></em>
- and <em class="parameter"><code>height</code></em>
- parameters.</p>
-<p>This method is needed for non fullscreen video overlay in UI toolkits that
-do not support subwindows.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-set-render-rectangle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>overlay</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>the horizontal offset of the render area inside the window</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>the vertical offset of the render area inside the window</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>the width of the render area inside the window</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>the height of the render area inside the window</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-set-render-rectangle.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not supported by the sink.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -843,28 +184,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_is_video_overlay_prepare_window_handle_message
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
-<p>Convenience function to check if the given message is a
-"prepare-window-handle" message from a <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a>.</p>
-<div class="refsect3">
-<a name="gst-is-video-overlay-prepare-window-handle-message.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>msg</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-is-video-overlay-prepare-window-handle-message.returns"></a><h4>Returns</h4>
-<p> whether <em class="parameter"><code>msg</code></em>
-is a "prepare-window-handle" message</p>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -872,7 +191,6 @@
 <div class="refsect2">
 <a name="GstVideoOverlay-struct"></a><h3>GstVideoOverlay</h3>
 <pre class="programlisting">typedef struct _GstVideoOverlay GstVideoOverlay;</pre>
-<p>Opaque <a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> interface structure</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -892,44 +210,6 @@
   void (*set_window_handle)    (GstVideoOverlay *overlay, guintptr handle);
 };
 </pre>
-<p><a class="link" href="gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> interface</p>
-<div class="refsect3">
-<a name="GstVideoOverlayInterface.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="GstVideoOverlayInterface.iface"></a>iface</code></em>;</p></td>
-<td class="struct_member_description"><p>parent interface type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOverlayInterface.expose"></a>expose</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to handle expose events</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOverlayInterface.handle-events"></a>handle_events</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to handle events</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOverlayInterface.set-render-rectangle"></a>set_render_rectangle</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to set the render rectangle</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoOverlayInterface.set-window-handle"></a>set_window_handle</code></em> ()</p></td>
-<td class="struct_member_description"><p>virtual method to configure the window handle</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html b/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
index b7d0e8f..de47a0b 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.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-gstvideooverlaycomposition.top_of_page"></a>gstvideooverlaycomposition</span></h2>
-<p>gstvideooverlaycomposition — Video Buffer Overlay Compositions (Subtitles, Logos)</p>
+<p>gstvideooverlaycomposition</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -315,35 +315,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideooverlaycomposition.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.15.6.6.2"></a><p>
-Functions to create and handle overlay compositions on video buffers.
-</p>
-<p>
-An overlay composition describes one or more overlay rectangles to be
-blended on top of a video buffer.
-</p>
-<p>
-This API serves two main purposes:
-</p>
-<div class="itemizedlist">
-<span class="type">GstOverlayComposition</span><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
-it can be used to attach overlay information (subtitles or logos)
-to non-raw video buffers such as GL/VAAPI/VDPAU surfaces. The actual
-blending of the overlay can then be done by e.g. the video sink that
-processes these non-raw buffers.
-</li>
-<li class="listitem">
-it can also be used to blend overlay rectangles on top of raw video
-buffers, thus consolidating blending functionality for raw video in
-one place.
-</li>
-</ul>
-</div>
-<p>
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideooverlaycomposition.functions_details"></a><h2>Functions</h2>
@@ -351,85 +322,18 @@
 <a name="gst-video-overlay-composition-new"></a><h3>gst_video_overlay_composition_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> *
 gst_video_overlay_composition_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
-<p>Creates a new video overlay composition object to hold one or more
-overlay rectangles.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> to add to the
-composition. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>. Unref with
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-unref" title="gst_video_overlay_composition_unref ()"><code class="function">gst_video_overlay_composition_unref()</code></a> when no longer needed. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-composition-ref"></a><h3>gst_video_overlay_composition_ref ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> *
 gst_video_overlay_composition_ref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
-<p>Increases the refcount of the given composition by one.</p>
-<p>Note that the refcount affects the writeability
-of <em class="parameter"><code>comp</code></em>
-, use <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-make-writable" title="gst_video_overlay_composition_make_writable ()"><code class="function">gst_video_overlay_composition_make_writable()</code></a> to ensure
-a composition and its rectangles can be modified.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p>a a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-ref.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>comp</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-composition-unref"></a><h3>gst_video_overlay_composition_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_overlay_composition_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
-<p>Decreases the refcount of the composition. If the refcount reaches 0, the
-composition will be freed.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -438,31 +342,6 @@
 gst_video_overlay_composition_add_rectangle
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
-<p>Adds an overlay rectangle to an existing overlay composition object. This
-must be done right after creating the overlay composition.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-add-rectangle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>rectangle</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> to add to the
-composition. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -470,27 +349,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_video_overlay_composition_n_rectangles
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
-<p>Returns the number of <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>s contained in <em class="parameter"><code>comp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-n-rectangles.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-n-rectangles.returns"></a><h4>Returns</h4>
-<p> the number of rectangles</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -499,41 +357,6 @@
 gst_video_overlay_composition_get_rectangle
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> n</code></em>);</pre>
-<p>Returns the <em class="parameter"><code>n</code></em>
--th <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> contained in <em class="parameter"><code>comp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-get-rectangle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>n</p></td>
-<td class="parameter_description"><p>number of the rectangle to get</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-get-rectangle.returns"></a><h4>Returns</h4>
-<p> the <em class="parameter"><code>n</code></em>
--th rectangle, or NULL if <em class="parameter"><code>n</code></em>
-is out of
-bounds. Will not return a new reference, the caller will need to
-obtain her own reference using <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-ref" title="gst_video_overlay_rectangle_ref ()"><code class="function">gst_video_overlay_rectangle_ref()</code></a>
-if needed. </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">
@@ -541,64 +364,12 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_video_overlay_composition_get_seqnum
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
-<p>Returns the sequence number of this composition. Sequence numbers are
-monotonically increasing and unique for overlay compositions and rectangles
-(meaning there will never be a rectangle with the same sequence number as
-a composition).</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-get-seqnum.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-get-seqnum.returns"></a><h4>Returns</h4>
-<p> the sequence number of <em class="parameter"><code>comp</code></em>
-</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-composition-copy"></a><h3>gst_video_overlay_composition_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> *
 gst_video_overlay_composition_copy (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
-<p>Makes a copy of <em class="parameter"><code>comp</code></em>
- and all contained rectangles, so that it is possible
-to modify the composition and contained rectangles (e.g. add additional
-rectangles or change the render co-ordinates or render dimension). The
-actual overlay pixel data buffers contained in the rectangles are not
-copied.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> to copy. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-copy.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> equivalent
-to <em class="parameter"><code>comp</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -606,38 +377,6 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="returnvalue">GstVideoOverlayComposition</span></a> *
 gst_video_overlay_composition_make_writable
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
-<p>Takes ownership of <em class="parameter"><code>comp</code></em>
- and returns a version of <em class="parameter"><code>comp</code></em>
- that is writable
-(i.e. can be modified). Will either return <em class="parameter"><code>comp</code></em>
- right away, or create a
-new writable copy of <em class="parameter"><code>comp</code></em>
- and unref <em class="parameter"><code>comp</code></em>
- itself. All the contained
-rectangles will also be copied, but the actual overlay pixel data buffers
-contained in the rectangles are not copied.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-make-writable.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> to copy. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-make-writable.returns"></a><h4>Returns</h4>
-<p> a writable <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>
-equivalent to <em class="parameter"><code>comp</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -645,34 +384,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_video_overlay_composition_blend (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *video_buf</code></em>);</pre>
-<p>Blends the overlay rectangles in <em class="parameter"><code>comp</code></em>
- on top of the raw video data
-contained in <em class="parameter"><code>video_buf</code></em>
-. The data in <em class="parameter"><code>video_buf</code></em>
- must be writable and
-mapped appropriately.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-composition-blend.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>video_buf</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> containing raw video data in a supported format</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -688,37 +399,6 @@
 gst_buffer_add_video_overlay_composition_meta
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buf</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *comp</code></em>);</pre>
-<p>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 <em class="parameter"><code>comp</code></em>
-.</p>
-<div class="refsect3">
-<a name="gst-buffer-add-video-overlay-composition-meta.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>buf</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>comp</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-buffer-add-video-overlay-composition-meta.returns"></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">
@@ -740,124 +420,18 @@
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> render_width</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> render_height</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
-<p>Creates a new video overlay rectangle with ARGB or AYUV pixel data.
-The layout in case of ARGB of the components in memory is B-G-R-A
-on little-endian platforms
-(corresponding to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-BGRA:CAPS"><span class="type">GST_VIDEO_FORMAT_BGRA</span></a>) and A-R-G-B on big-endian
-platforms (corresponding to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-ARGB:CAPS"><span class="type">GST_VIDEO_FORMAT_ARGB</span></a>). In other words,
-pixels are treated as 32-bit words and the lowest 8 bits then contain
-the blue component value and the highest 8 bits contain the alpha
-component value. Unless specified in the flags, the RGB values are
-non-premultiplied. This is the format that is used by most hardware,
-and also many rendering libraries such as Cairo, for example.
-The pixel data buffer must have <a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> set.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-new-raw.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>pixels</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> pointing to the pixel memory. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_x</p></td>
-<td class="parameter_description"><p>the X co-ordinate on the video where the top-left corner of this
-overlay rectangle should be rendered to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_y</p></td>
-<td class="parameter_description"><p>the Y co-ordinate on the video where the top-left corner of this
-overlay rectangle should be rendered to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_width</p></td>
-<td class="parameter_description"><p>the render width of this rectangle on the video</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_height</p></td>
-<td class="parameter_description"><p>the render height of this rectangle on the video</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-new-raw.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>. Unref with
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-unref" title="gst_video_overlay_rectangle_unref ()"><code class="function">gst_video_overlay_rectangle_unref()</code></a> when no longer needed. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-rectangle-ref"></a><h3>gst_video_overlay_rectangle_ref ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> *
 gst_video_overlay_rectangle_ref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *comp</code></em>);</pre>
-<p>Increases the refcount of the given rectangle by one.</p>
-<p>Note that the refcount affects the writeability
-of <em class="parameter"><code>comp</code></em>
-, use <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-copy" title="gst_video_overlay_rectangle_copy ()"><code class="function">gst_video_overlay_rectangle_copy()</code></a> to ensure a rectangle can
-be modified (there is no <code class="function">gst_video_overlay_rectangle_make_writable()</code> because
-it is unlikely that someone will hold the single reference to the rectangle
-and not know that that's the case).</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p>a a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-ref.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>comp</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-rectangle-unref"></a><h3>gst_video_overlay_rectangle_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_overlay_rectangle_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *comp</code></em>);</pre>
-<p>Decreases the refcount of the rectangle. If the refcount reaches 0, the
-rectangle will be freed.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>comp</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -866,42 +440,6 @@
 gst_video_overlay_rectangle_get_pixels_raw
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-raw.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags
-If a global_alpha value != 1 is set for the rectangle, the caller
-should set the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-FORMAT-FLAG-GLOBAL-ALPHA:CAPS"><span class="type">GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA</span></a> flag
-if he wants to apply global-alpha himself. If the flag is not set
-global_alpha is applied internally before returning the pixel-data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-raw.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> holding the pixel data with
-format as originally provided and specified in video meta with
-width and height of the render dimensions as per
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>. This function does
-not return a reference, the caller should obtain a reference of her own
-with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. </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">
@@ -910,41 +448,6 @@
 gst_video_overlay_rectangle_get_pixels_argb
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-argb.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags
-If a global_alpha value != 1 is set for the rectangle, the caller
-should set the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-FORMAT-FLAG-GLOBAL-ALPHA:CAPS"><span class="type">GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA</span></a> flag
-if he wants to apply global-alpha himself. If the flag is not set
-global_alpha is applied internally before returning the pixel-data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-argb.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> holding the ARGB pixel data with
-width and height of the render dimensions as per
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>. This function does
-not return a reference, the caller should obtain a reference of her own
-with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. </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">
@@ -953,41 +456,6 @@
 gst_video_overlay_rectangle_get_pixels_ayuv
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-ayuv.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags
-If a global_alpha value != 1 is set for the rectangle, the caller
-should set the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-FORMAT-FLAG-GLOBAL-ALPHA:CAPS"><span class="type">GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA</span></a> flag
-if he wants to apply global-alpha himself. If the flag is not set
-global_alpha is applied internally before returning the pixel-data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-ayuv.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> holding the AYUV pixel data with
-width and height of the render dimensions as per
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>. This function does
-not return a reference, the caller should obtain a reference of her own
-with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. </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">
@@ -996,43 +464,6 @@
 gst_video_overlay_rectangle_get_pixels_unscaled_raw
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
-<p>Retrieves the pixel data as it is. This is useful if the caller can
-do the scaling itself when handling the overlaying. The rectangle will
-need to be scaled to the render dimensions, which can be retrieved using
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-unscaled-raw.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags.
-If a global_alpha value != 1 is set for the rectangle, the caller
-should set the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-FORMAT-FLAG-GLOBAL-ALPHA:CAPS"><span class="type">GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA</span></a> flag
-if he wants to apply global-alpha himself. If the flag is not set
-global_alpha is applied internally before returning the pixel-data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-unscaled-raw.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> holding the pixel data with
-<a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> set. This function does not return a reference, the caller
-should obtain a reference of her own with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. </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">
@@ -1041,43 +472,6 @@
 gst_video_overlay_rectangle_get_pixels_unscaled_argb
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
-<p>Retrieves the pixel data as it is. This is useful if the caller can
-do the scaling itself when handling the overlaying. The rectangle will
-need to be scaled to the render dimensions, which can be retrieved using
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-unscaled-argb.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags.
-If a global_alpha value != 1 is set for the rectangle, the caller
-should set the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-FORMAT-FLAG-GLOBAL-ALPHA:CAPS"><span class="type">GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA</span></a> flag
-if he wants to apply global-alpha himself. If the flag is not set
-global_alpha is applied internally before returning the pixel-data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-unscaled-argb.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> holding the ARGB pixel data with
-<a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> set. This function does not return a reference, the caller
-should obtain a reference of her own with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. </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">
@@ -1086,43 +480,6 @@
 gst_video_overlay_rectangle_get_pixels_unscaled_ayuv
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> flags</code></em>);</pre>
-<p>Retrieves the pixel data as it is. This is useful if the caller can
-do the scaling itself when handling the overlaying. The rectangle will
-need to be scaled to the render dimensions, which can be retrieved using
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-get-render-rectangle" title="gst_video_overlay_rectangle_get_render_rectangle ()"><code class="function">gst_video_overlay_rectangle_get_render_rectangle()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-unscaled-ayuv.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p>flags.
-If a global_alpha value != 1 is set for the rectangle, the caller
-should set the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GST-VIDEO-OVERLAY-FORMAT-FLAG-GLOBAL-ALPHA:CAPS"><span class="type">GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA</span></a> flag
-if he wants to apply global-alpha himself. If the flag is not set
-global_alpha is applied internally before returning the pixel-data.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-pixels-unscaled-ayuv.returns"></a><h4>Returns</h4>
-<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> holding the AYUV pixel data with
-<a class="link" href="gst-plugins-base-libs-gstvideometa.html#GstVideoMeta" title="struct GstVideoMeta"><span class="type">GstVideoMeta</span></a> set. This function does not return a reference, the caller
-should obtain a reference of her own with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#gst-buffer-ref"><code class="function">gst_buffer_ref()</code></a> if needed. </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">
@@ -1134,49 +491,6 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *render_y</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *render_width</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *render_height</code></em>);</pre>
-<p>Retrieves the render position and render dimension of the overlay
-rectangle on the video.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-render-rectangle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_x</p></td>
-<td class="parameter_description"><p> address where to store the X render offset. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_y</p></td>
-<td class="parameter_description"><p> address where to store the Y render offset. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_width</p></td>
-<td class="parameter_description"><p> address where to store the render width. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_height</p></td>
-<td class="parameter_description"><p> address where to store the render height. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-render-rectangle.returns"></a><h4>Returns</h4>
-<p> TRUE if valid render dimensions were retrieved.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1184,39 +498,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_video_overlay_rectangle_get_seqnum
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
-<p>Returns the sequence number of this rectangle. Sequence numbers are
-monotonically increasing and unique for overlay compositions and rectangles
-(meaning there will never be a rectangle with the same sequence number as
-a composition).</p>
-<p>Using the sequence number of a rectangle as an indicator for changed
-pixel-data of a rectangle is dangereous. Some API calls, like e.g.
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-rectangle-set-global-alpha" title="gst_video_overlay_rectangle_set_global_alpha ()"><code class="function">gst_video_overlay_rectangle_set_global_alpha()</code></a>, automatically update
-the per rectangle sequence number, which is misleading for renderers/
-consumers, that handle global-alpha themselves. For them  the
-pixel-data returned by gst_video_overlay_rectangle_get_pixels_*()
-wont be different for different global-alpha values. In this case a
-renderer could also use the GstBuffer pointers as a hint for changed
-pixel-data.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-seqnum.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-seqnum.returns"></a><h4>Returns</h4>
-<p> the sequence number of <em class="parameter"><code>rectangle</code></em>
-</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1228,115 +509,18 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> render_y</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> render_width</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> render_height</code></em>);</pre>
-<p>Sets the render position and dimensions of the rectangle on the video.
-This function is mainly for elements that modify the size of the video
-in some way (e.g. through scaling or cropping) and need to adjust the
-details of any overlays to match the operation that changed the size.</p>
-<p><em class="parameter"><code>rectangle</code></em>
- must be writable, meaning its refcount must be 1. You can
-make the rectangles inside a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> writable using
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-make-writable" title="gst_video_overlay_composition_make_writable ()"><code class="function">gst_video_overlay_composition_make_writable()</code></a> or
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-copy" title="gst_video_overlay_composition_copy ()"><code class="function">gst_video_overlay_composition_copy()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-set-render-rectangle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_x</p></td>
-<td class="parameter_description"><p>render X position of rectangle on video</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_y</p></td>
-<td class="parameter_description"><p>render Y position of rectangle on video</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_width</p></td>
-<td class="parameter_description"><p>render width of rectangle</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>render_height</p></td>
-<td class="parameter_description"><p>render height of rectangle</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-rectangle-copy"></a><h3>gst_video_overlay_rectangle_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="returnvalue">GstVideoOverlayRectangle</span></a> *
 gst_video_overlay_rectangle_copy (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
-<p>Makes a copy of <em class="parameter"><code>rectangle</code></em>
-, so that it is possible to modify it
-(e.g. to change the render co-ordinates or render dimension). The
-actual overlay pixel data buffers contained in the rectangle are not
-copied.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-copy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p> a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> to copy. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-copy.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> equivalent
-to <em class="parameter"><code>rectangle</code></em>
-. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-overlay-rectangle-get-flags"></a><h3>gst_video_overlay_rectangle_get_flags ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="returnvalue">GstVideoOverlayFormatFlags</span></a>
 gst_video_overlay_rectangle_get_flags (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
-<p>Retrieves the flags associated with a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>.
-This is useful if the caller can handle both premultiplied alpha and
-non premultiplied alpha, for example. By knowing whether the rectangle
-uses premultiplied or not, it can request the pixel data in the format
-it is stored in, to avoid unnecessary conversion.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-flags.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-flags.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayFormatFlags" title="enum GstVideoOverlayFormatFlags"><span class="type">GstVideoOverlayFormatFlags</span></a> associated with the rectangle.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1344,26 +528,6 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
 gst_video_overlay_rectangle_get_global_alpha
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>);</pre>
-<p>Retrieves the global-alpha value associated with a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-global-alpha.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-get-global-alpha.returns"></a><h4>Returns</h4>
-<p> the global-alpha value associated with the rectangle.</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1372,36 +536,6 @@
 gst_video_overlay_rectangle_set_global_alpha
                                (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a> *rectangle</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> global_alpha</code></em>);</pre>
-<p>Sets the global alpha value associated with a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a>. Per-
-pixel alpha values are multiplied with this value. Valid
-values: 0 &lt;= global_alpha &lt;= 1; 1 to deactivate.</p>
-<p><em class="parameter"><code>rectangle</code></em>
- must be writable, meaning its refcount must be 1. You can
-make the rectangles inside a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> writable using
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-make-writable" title="gst_video_overlay_composition_make_writable ()"><code class="function">gst_video_overlay_composition_make_writable()</code></a> or
-<a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-copy" title="gst_video_overlay_composition_copy ()"><code class="function">gst_video_overlay_composition_copy()</code></a>.</p>
-<div class="refsect3">
-<a name="gst-video-overlay-rectangle-set-global-alpha.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>rectangle</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayRectangle" title="GstVideoOverlayRectangle"><span class="type">GstVideoOverlayRectangle</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>global_alpha</p></td>
-<td class="parameter_description"><p>Global alpha value (0 to 1.0)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -1409,16 +543,11 @@
 <div class="refsect2">
 <a name="GstVideoOverlayComposition"></a><h3>GstVideoOverlayComposition</h3>
 <pre class="programlisting">typedef struct _GstVideoOverlayComposition GstVideoOverlayComposition;</pre>
-<p>An opaque video overlay composition object. A composition contains
-multiple overlay rectangles.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-OVERLAY-COMPOSITION-BLEND-FORMATS:CAPS"></a><h3>GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS</h3>
 <pre class="programlisting">#define             GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS</pre>
-<p>Video formats supported by <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-blend" title="gst_video_overlay_composition_blend ()"><code class="function">gst_video_overlay_composition_blend()</code></a>, for
-use in overlay elements' pad template caps.</p>
-<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1429,34 +558,10 @@
   GstVideoOverlayComposition *overlay;
 };
 </pre>
-<p>Extra buffer metadata describing image overlay data.</p>
-<div class="refsect3">
-<a name="GstVideoOverlayCompositionMeta.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstVideoOverlayCompositionMeta.meta"></a>meta</code></em>;</p></td>
-<td class="struct_member_description"><p>parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a> *<em class="structfield"><code><a name="GstVideoOverlayCompositionMeta.overlay"></a>overlay</code></em>;</p></td>
-<td class="struct_member_description"><p>the attached <a class="link" href="gst-plugins-base-libs-gstvideooverlaycomposition.html#GstVideoOverlayComposition" title="GstVideoOverlayComposition"><span class="type">GstVideoOverlayComposition</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoOverlayFormatFlags"></a><h3>enum GstVideoOverlayFormatFlags</h3>
-<p>Overlay format flags.</p>
 <div class="refsect3">
 <a name="GstVideoOverlayFormatFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1468,24 +573,18 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-OVERLAY-FORMAT-FLAG-NONE:CAPS"></a>GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE</p></td>
-<td class="enum_member_description">
-<p>no flags</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-OVERLAY-FORMAT-FLAG-PREMULTIPLIED-ALPHA:CAPS"></a>GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA</p></td>
-<td class="enum_member_description">
-<p>RGB are premultiplied by A/255.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-OVERLAY-FORMAT-FLAG-GLOBAL-ALPHA:CAPS"></a>GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA</p></td>
-<td class="enum_member_description">
-<p>a global-alpha value != 1 is set.</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1495,8 +594,6 @@
 <div class="refsect2">
 <a name="GstVideoOverlayRectangle"></a><h3>GstVideoOverlayRectangle</h3>
 <pre class="programlisting">typedef struct _GstVideoOverlayRectangle GstVideoOverlayRectangle;</pre>
-<p>An opaque video overlay rectangle object. A rectangle contains a single
-overlay rectangle which can be added to a composition.</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideosink.html b/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
index a771a44..988a3c9 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstvideosink.top_of_page"></a>gstvideosink</span></h2>
-<p>gstvideosink — Base class for video sinks</p>
+<p>gstvideosink</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -125,16 +125,6 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideosink.description"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="id-1.2.15.12.9.2"></a><p>
-Provides useful functions and a base class for video sinks. 
-</p>
-<p>
-GstVideoSink will configure the default base sink to drop frames that
-arrive later than 20ms as this is considered the default threshold for
-observing out-of-sync frames.
-</p>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-libs-gstvideosink.functions_details"></a><h2>Functions</h2>
@@ -148,23 +138,6 @@
 <a name="GST-VIDEO-SINK-PAD:CAPS"></a><h3>GST_VIDEO_SINK_PAD()</h3>
 <pre class="programlisting">#define GST_VIDEO_SINK_PAD(obj) GST_BASE_SINK_PAD(obj)
 </pre>
-<p>Get the sink <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> of <em class="parameter"><code>obj</code></em>
-.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-SINK-PAD.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>obj</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoSink"><span class="type">GstVideoSink</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -180,47 +153,6 @@
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> dst</code></em>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> *result</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> scaling</code></em>);</pre>
-<p>Takes <em class="parameter"><code>src</code></em>
- rectangle and position it at the center of <em class="parameter"><code>dst</code></em>
- rectangle with or
-without <em class="parameter"><code>scaling</code></em>
-. It handles clipping if the <em class="parameter"><code>src</code></em>
- rectangle is bigger than
-the <em class="parameter"><code>dst</code></em>
- one and <em class="parameter"><code>scaling</code></em>
- is set to FALSE.</p>
-<div class="refsect3">
-<a name="gst-video-sink-center-rect.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>src</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> describing the source area</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>dst</p></td>
-<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> describing the destination area</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>result</p></td>
-<td class="parameter_description"><p>a pointer to a <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoRectangle" title="struct GstVideoRectangle"><span class="type">GstVideoRectangle</span></a> which will receive the result area</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>scaling</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if scaling should be applied or not</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -231,32 +163,6 @@
   gint width, height;
 };
 </pre>
-<p>The video sink instance structure. Derived video sinks should set the
-<em class="parameter"><code>height</code></em>
- and <em class="parameter"><code>width</code></em>
- members.</p>
-<div class="refsect3">
-<a name="GstVideoSink.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoSink-struct.width"></a>width</code></em>;</p></td>
-<td class="struct_member_description"><p>video width (derived class needs to set this)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoSink-struct.height"></a>height</code></em>;</p></td>
-<td class="struct_member_description"><p>video height (derived class needs to set this)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -267,27 +173,6 @@
   GstFlowReturn  (*show_frame) (GstVideoSink *video_sink, GstBuffer *buf);
 };
 </pre>
-<p>The video sink class structure. Derived classes should override the
-<em class="parameter"><code>show_frame</code></em>
- virtual function.</p>
-<div class="refsect3">
-<a name="GstVideoSinkClass.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody><tr>
-<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoSinkClass.show-frame"></a>show_frame</code></em> ()</p></td>
-<td class="struct_member_description"><p>render a video frame. Maps to <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> and
-<a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSink.html#GstBaseSinkClass.preroll"><code class="function">GstBaseSinkClass.preroll()</code></a> vfuncs. Rendering during preroll will be
-suppressed if the <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoSink--show-preroll-frame" title="The “show-preroll-frame” property"><span class="type">“show-preroll-frame”</span></a> property is set to
-<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -299,39 +184,6 @@
   gint h;
 };
 </pre>
-<p>Helper structure representing a rectangular area.</p>
-<div class="refsect3">
-<a name="GstVideoRectangle.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.x"></a>x</code></em>;</p></td>
-<td class="struct_member_description"><p>X coordinate of rectangle's top-left point</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.y"></a>y</code></em>;</p></td>
-<td class="struct_member_description"><p>Y coordinate of rectangle's top-left point</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.w"></a>w</code></em>;</p></td>
-<td class="struct_member_description"><p>width of the rectangle</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoRectangle.h"></a>h</code></em>;</p></td>
-<td class="struct_member_description"><p>height of the rectangle</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -339,8 +191,7 @@
 <div class="refsect2">
 <a name="GstVideoSink--show-preroll-frame"></a><h3>The <code class="literal">“show-preroll-frame”</code> property</h3>
 <pre class="programlisting">  “show-preroll-frame”       <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Whether to show video frames during preroll. If set to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, video
-frames will only be rendered in PLAYING state.</p>
+<p>Whether to render video frames during preroll.</p>
 <p>Flags: Read / Write / Construct</p>
 <p>Default value: TRUE</p>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideoutils.html b/docs/libs/html/gst-plugins-base-libs-gstvideoutils.html
index 61b122e..6ae21fb 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideoutils.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideoutils.html
@@ -212,229 +212,54 @@
 <a name="GST-VIDEO-CODEC-FRAME-FLAGS:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_FLAGS()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_FLAGS(frame) ((frame)-&gt;flags)
 </pre>
-<p>The entire set of flags for the <em class="parameter"><code>frame</code></em>
-</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-FLAGS.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-FLAG-IS-SET:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_FLAG_IS_SET()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_FLAG_IS_SET(frame,flag)   !!(GST_VIDEO_CODEC_FRAME_FLAGS(frame) &amp; (flag))
 </pre>
-<p>Checks whether the given <em class="parameter"><code>flag</code></em>
- is set</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-FLAG-IS-SET.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flag</p></td>
-<td class="parameter_description"><p>a flag to check for</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-FLAG-SET:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_FLAG_SET()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_FLAG_SET(frame,flag)     (GST_VIDEO_CODEC_FRAME_FLAGS(frame) |= (flag))
 </pre>
-<p>This macro sets the given bits</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-FLAG-SET.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flag</p></td>
-<td class="parameter_description"><p>Flag to set, can be any number of bits in guint32.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-FLAG-UNSET:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_FLAG_UNSET()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_FLAG_UNSET(frame,flag)   (GST_VIDEO_CODEC_FRAME_FLAGS(frame) &amp;= ~(flag))
 </pre>
-<p>This macro usets the given bits.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-FLAG-UNSET.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>flag</p></td>
-<td class="parameter_description"><p>Flag to unset</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-IS-DECODE-ONLY:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_IS_DECODE_ONLY()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_IS_DECODE_ONLY(frame)     (GST_VIDEO_CODEC_FRAME_FLAG_IS_SET(frame, GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY))
 </pre>
-<p>Tests if the buffer should only be decoded but not sent downstream.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-IS-DECODE-ONLY.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-IS-FORCE-KEYFRAME:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME(frame)      (GST_VIDEO_CODEC_FRAME_FLAG_IS_SET(frame, GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME))
 </pre>
-<p>Tests if the frame must be encoded as a keyframe. Applies only to
-frames provided to encoders. Decoders can safely ignore this field.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-IS-FORCE-KEYFRAME.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-IS-FORCE-KEYFRAME-HEADERS:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME_HEADERS()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME_HEADERS(frame)      (GST_VIDEO_CODEC_FRAME_FLAG_IS_SET(frame, GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS))
 </pre>
-<p>Tests if encoder should output stream headers before outputting the
-resulting encoded buffer for the given frame.</p>
-<p>Applies only to frames provided to encoders. Decoders can safely
-ignore this field.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-IS-FORCE-KEYFRAME-HEADERS.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-IS-SYNC-POINT:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT(frame)      (GST_VIDEO_CODEC_FRAME_FLAG_IS_SET(frame, GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT))
 </pre>
-<p>Tests if the frame is a synchronization point (like a keyframe).</p>
-<p>Decoder implementations can use this to detect keyframes.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-IS-SYNC-POINT.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-VIDEO-CODEC-FRAME-SET-DECODE-ONLY:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_SET_DECODE_ONLY()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_SET_DECODE_ONLY(frame)    (GST_VIDEO_CODEC_FRAME_FLAG_SET(frame, GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY))
 </pre>
-<p>Sets the buffer to not be sent downstream.</p>
-<p>Decoder implementation can use this if they have frames that
-are not meant to be displayed.</p>
-<p>Encoder implementation can safely ignore this field.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-SET-DECODE-ONLY.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -453,25 +278,6 @@
 <a name="GST-VIDEO-CODEC-FRAME-SET-SYNC-POINT:CAPS"></a><h3>GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT()</h3>
 <pre class="programlisting">#define GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT(frame)     (GST_VIDEO_CODEC_FRAME_FLAG_SET(frame, GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT))
 </pre>
-<p>Sets the frame to be a synchronization point (like a keyframe).</p>
-<p>Encoder implementations should set this accordingly.</p>
-<p>Decoder implementing parsing features should set this when they
-detect such a synchronization point.</p>
-<div class="refsect3">
-<a name="GST-VIDEO-CODEC-FRAME-SET-SYNC-POINT.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -496,50 +302,12 @@
 <a name="gst-video-codec-frame-ref"></a><h3>gst_video_codec_frame_ref ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="returnvalue">GstVideoCodecFrame</span></a> *
 gst_video_codec_frame_ref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p>Increases the refcount of the given frame by one.</p>
-<div class="refsect3">
-<a name="gst-video-codec-frame-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-codec-frame-ref.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>buf</code></em>
-</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-codec-frame-unref"></a><h3>gst_video_codec_frame_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_codec_frame_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p>Decreases the refcount of the frame. If the refcount reaches 0, the frame
-will be freed.</p>
-<div class="refsect3">
-<a name="gst-video-codec-frame-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -548,119 +316,24 @@
 gst_video_codec_frame_set_user_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
-<p>Sets <em class="parameter"><code>user_data</code></em>
- on the frame and the <a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> that will be called when
-the frame is freed. Allows to attach private data by the subclass to frames.</p>
-<p>If a <em class="parameter"><code>user_data</code></em>
- was previously set, then the previous set <em class="parameter"><code>notify</code></em>
- will be called
-before the <em class="parameter"><code>user_data</code></em>
- is replaced.</p>
-<div class="refsect3">
-<a name="gst-video-codec-frame-set-user-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>private data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>notify</p></td>
-<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a>. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-codec-frame-get-user-data"></a><h3>gst_video_codec_frame_get_user_data ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
 gst_video_codec_frame_get_user_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> *frame</code></em>);</pre>
-<p>Gets private data set on the frame by the subclass via
-<a class="link" href="gst-plugins-base-libs-gstvideoutils.html#gst-video-codec-frame-set-user-data" title="gst_video_codec_frame_set_user_data ()"><code class="function">gst_video_codec_frame_set_user_data()</code></a> previously.</p>
-<div class="refsect3">
-<a name="gst-video-codec-frame-get-user-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>frame</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-codec-frame-get-user-data.returns"></a><h4>Returns</h4>
-<p> The previously set user_data. </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">
 <a name="gst-video-codec-state-ref"></a><h3>gst_video_codec_state_ref ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="returnvalue">GstVideoCodecState</span></a> *
 gst_video_codec_state_ref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> *state</code></em>);</pre>
-<p>Increases the refcount of the given state by one.</p>
-<div class="refsect3">
-<a name="gst-video-codec-state-ref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>state</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="gst-video-codec-state-ref.returns"></a><h4>Returns</h4>
-<p> <em class="parameter"><code>buf</code></em>
-</p>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-video-codec-state-unref"></a><h3>gst_video_codec_state_unref ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_video_codec_state_unref (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a> *state</code></em>);</pre>
-<p>Decreases the refcount of the state. If the refcount reaches 0, the state
-will be freed.</p>
-<div class="refsect3">
-<a name="gst-video-codec-state-unref.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" 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>state</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecState" title="struct GstVideoCodecState"><span class="type">GstVideoCodecState</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
 </div>
 </div>
 <div class="refsect1">
@@ -684,87 +357,10 @@
   GstClockTime deadline; /* D */
 };
 </pre>
-<p>A <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a> represents a video frame both in raw and
-encoded form.</p>
-<div class="refsect3">
-<a name="GstVideoCodecFrame.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstVideoCodecFrame.system-frame-number"></a>system_frame_number</code></em>;</p></td>
-<td class="struct_member_description"><p>Unique identifier for the frame. Use this if you need
-to get hold of the frame later (like when data is being decoded).
-Typical usage in decoders is to set this on the opaque value provided
-to the library and get back the frame using <a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-get-frame" title="gst_video_decoder_get_frame ()"><code class="function">gst_video_decoder_get_frame()</code></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstVideoCodecFrame.decode-frame-number"></a>decode_frame_number</code></em>;</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstVideoCodecFrame.presentation-frame-number"></a>presentation_frame_number</code></em>;</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstVideoCodecFrame.dts"></a>dts</code></em>;</p></td>
-<td class="struct_member_description"><p>Decoding timestamp</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstVideoCodecFrame.pts"></a>pts</code></em>;</p></td>
-<td class="struct_member_description"><p>Presentation timestamp</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstVideoCodecFrame.duration"></a>duration</code></em>;</p></td>
-<td class="struct_member_description"><p>Duration of the frame</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="GstVideoCodecFrame.distance-from-sync"></a>distance_from_sync</code></em>;</p></td>
-<td class="struct_member_description"><p>Distance in frames from the last synchronization point.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstVideoCodecFrame.input-buffer"></a>input_buffer</code></em>;</p></td>
-<td class="struct_member_description"><p>the input <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> that created this frame. The buffer is owned
-by the frame and references to the frame instead of the buffer should
-be kept.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstVideoCodecFrame.output-buffer"></a>output_buffer</code></em>;</p></td>
-<td class="struct_member_description"><p>the output <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a>. Implementations should set this either
-directly, or by using the
-<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-allocate-output-frame" title="gst_video_decoder_allocate_output_frame ()"><code class="function">gst_video_decoder_allocate_output_frame()</code></a></code></em>
-or
-<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-allocate-output-buffer" title="gst_video_decoder_allocate_output_buffer ()"><code class="function">gst_video_decoder_allocate_output_buffer()</code></a></code></em>
-methods. The buffer is
-owned by the frame and references to the frame instead of the
-buffer should be kept.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> <em class="structfield"><code><a name="GstVideoCodecFrame.deadline"></a>deadline</code></em>;</p></td>
-<td class="struct_member_description"><p>Running time when the frame will be used.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstVideoCodecFrameFlags"></a><h3>enum GstVideoCodecFrameFlags</h3>
-<p>Flags for <a class="link" href="gst-plugins-base-libs-gstvideoutils.html#GstVideoCodecFrame" title="struct GstVideoCodecFrame"><span class="type">GstVideoCodecFrame</span></a></p>
 <div class="refsect3">
 <a name="GstVideoCodecFrameFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -776,31 +372,23 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CODEC-FRAME-FLAG-DECODE-ONLY:CAPS"></a>GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY</p></td>
-<td class="enum_member_description">
-<p>is the frame only meant to be decoded</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CODEC-FRAME-FLAG-SYNC-POINT:CAPS"></a>GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT</p></td>
-<td class="enum_member_description">
-<p>is the frame a synchronization point (keyframe)</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CODEC-FRAME-FLAG-FORCE-KEYFRAME:CAPS"></a>GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME</p></td>
-<td class="enum_member_description">
-<p>should the output frame be made a keyframe</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-VIDEO-CODEC-FRAME-FLAG-FORCE-KEYFRAME-HEADERS:CAPS"></a>GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS</p></td>
-<td class="enum_member_description">
-<p>should the encoder output stream headers</p>
-</td>
-<td class="enum_member_annotations"> </td>
+<td> </td>
+<td> </td>
 </tr>
 </tbody>
 </table></div>
@@ -815,46 +403,10 @@
   GstCaps *caps;
 
   GstBuffer *codec_data;
+
+  GstCaps *allocation_caps;
 };
 </pre>
-<p>Structure representing the state of an incoming or outgoing video
-stream for encoders and decoders.</p>
-<p>Decoders and encoders will receive such a state through their
-respective <em class="parameter"><code>set_format</code></em>
- vmethods.</p>
-<p>Decoders and encoders can set the downstream state, by using the
-<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoDecoder.html#gst-video-decoder-set-output-state" title="gst_video_decoder_set_output_state ()"><code class="function">gst_video_decoder_set_output_state()</code></a></code></em>
- or
-<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideoEncoder.html#gst-video-encoder-set-output-state" title="gst_video_encoder_set_output_state ()"><code class="function">gst_video_encoder_set_output_state()</code></a></code></em>
- methods.</p>
-<div class="refsect3">
-<a name="GstVideoCodecState.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstVideoCodecState.info"></a>info</code></em>;</p></td>
-<td class="struct_member_description"><p>The <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> describing the stream</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *<em class="structfield"><code><a name="GstVideoCodecState.caps"></a>caps</code></em>;</p></td>
-<td class="struct_member_description"><p>The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstVideoCodecState.codec-data"></a>codec_data</code></em>;</p></td>
-<td class="struct_member_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> corresponding to the
-'codec_data' field of a stream, or NULL.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-allocators.html b/docs/libs/html/gstreamer-allocators.html
index 0dd9880..817dc83 100644
--- a/docs/libs/html/gstreamer-allocators.html
+++ b/docs/libs/html/gstreamer-allocators.html
@@ -24,10 +24,10 @@
 <a name="gstreamer-allocators"></a>Allocators Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-dmabuf.html">dmabuf</a></span><span class="refpurpose"> — Memory wrapper for Linux dmabuf memory</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-dmabuf.html">dmabuf</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-fdmemory.html">fdmemory</a></span><span class="refpurpose"> — Memory wrapper for fd backed memory</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-fdmemory.html">fdmemory</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-app.html b/docs/libs/html/gstreamer-app.html
index d85f9bb..1368d95 100644
--- a/docs/libs/html/gstreamer-app.html
+++ b/docs/libs/html/gstreamer-app.html
@@ -24,12 +24,10 @@
 <a name="gstreamer-app"></a>App Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-appsrc.html">appsrc</a></span><span class="refpurpose"> — Easy way for applications to inject buffers into a
-    pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-appsink.html">appsink</a></span><span class="refpurpose"> — Easy way for applications to extract samples from a
-    pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-audio.html b/docs/libs/html/gstreamer-audio.html
index 362ba84..c7200a3 100644
--- a/docs/libs/html/gstreamer-audio.html
+++ b/docs/libs/html/gstreamer-audio.html
@@ -24,40 +24,40 @@
 <a name="gstreamer-audio"></a>Audio Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudio.html">gstaudio</a></span><span class="refpurpose"> — Support library for audio elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudio.html">gstaudio</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiometa.html">gstaudiometa</a></span><span class="refpurpose"> — Buffer metadata for audio downmix matrix handling</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiometa.html">gstaudiometa</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiocdsrc.html">gstaudiocdsrc</a></span><span class="refpurpose"> — Base class for Audio CD sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiocdsrc.html">gstaudiocdsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioclock.html">gstaudioclock</a></span><span class="refpurpose"> — Helper object for implementing audio clocks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioclock.html">gstaudioclock</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiodecoder.html">gstaudiodecoder</a></span><span class="refpurpose"> — Base class for audio decoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiodecoder.html">gstaudiodecoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioencoder.html">gstaudioencoder</a></span><span class="refpurpose"> — Base class for audio encoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioencoder.html">gstaudioencoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiofilter.html">gstaudiofilter</a></span><span class="refpurpose"> — Base class for simple audio filters</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiofilter.html">gstaudiofilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosink.html">gstaudiosink</a></span><span class="refpurpose"> — Simple base class for audio sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosink.html">gstaudiosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosrc.html">gstaudiosrc</a></span><span class="refpurpose"> — Simple base class for audio sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosrc.html">gstaudiosrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesink.html">gstaudiobasesink</a></span><span class="refpurpose"> — Base class for audio sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesink.html">gstaudiobasesink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesrc.html">gstaudiobasesrc</a></span><span class="refpurpose"> — Base class for audio sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesrc.html">gstaudiobasesrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiochannels.html">gstaudiochannels</a></span><span class="refpurpose"> — Support library for audio channel handling</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiochannels.html">gstaudiochannels</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-GstAudioConverter.html">GstAudioConverter</a></span><span class="refpurpose"></span>
@@ -66,13 +66,13 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-GstAudioQuantize.html">GstAudioQuantize</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioringbuffer.html">gstaudioringbuffer</a></span><span class="refpurpose"> — Base class for audio ringbuffer implementations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioringbuffer.html">gstaudioringbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioiec61937.html">gstaudioiec61937</a></span><span class="refpurpose"> — Utility functions for IEC 61937 payloading</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioiec61937.html">gstaudioiec61937</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gststreamvolume.html">gststreamvolume</a></span><span class="refpurpose"> — Interface for elements that provide a stream volume</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gststreamvolume.html">gststreamvolume</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-base-utils.html b/docs/libs/html/gstreamer-base-utils.html
index 07a9261..ecd44fe 100644
--- a/docs/libs/html/gstreamer-base-utils.html
+++ b/docs/libs/html/gstreamer-base-utils.html
@@ -24,29 +24,28 @@
 <a name="gstreamer-base-utils"></a>Base Utils Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutils.html">gstpbutils</a></span><span class="refpurpose"> — General Application and Plugin Utility Library</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutils.html">gstpbutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpluginsbaseversion.html">gstpluginsbaseversion</a></span><span class="refpurpose"> — GStreamer gst-plugins-base libraries version macros.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpluginsbaseversion.html">gstpluginsbaseversion</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilscodecutils.html">gstpbutilscodecutils</a></span><span class="refpurpose"> — Miscellaneous codec-specific utility functions</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilscodecutils.html">gstpbutilscodecutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsdescriptions.html">gstpbutilsdescriptions</a></span><span class="refpurpose"> — Provides human-readable descriptions for caps/codecs
-and encoder, decoder, URI source and URI sink elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsdescriptions.html">gstpbutilsdescriptions</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsmissingplugins.html">gstpbutilsmissingplugins</a></span><span class="refpurpose"> — Create, recognise and parse missing-plugins messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsmissingplugins.html">gstpbutilsmissingplugins</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsinstallplugins.html">gstpbutilsinstallplugins</a></span><span class="refpurpose"> — Missing plugin installation support for applications</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsinstallplugins.html">gstpbutilsinstallplugins</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstdiscoverer.html">gstdiscoverer</a></span><span class="refpurpose"> — Utility for discovering information on URIs.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstdiscoverer.html">gstdiscoverer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-encoding-profile.html">encoding-profile</a></span><span class="refpurpose"> — Encoding profile library</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-encoding-profile.html">encoding-profile</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-ffft.html b/docs/libs/html/gstreamer-ffft.html
index 8f738b6..eef9b59 100644
--- a/docs/libs/html/gstreamer-ffft.html
+++ b/docs/libs/html/gstreamer-ffft.html
@@ -24,19 +24,19 @@
 <a name="gstreamer-ffft"></a>FFT Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfft.html">gstfft</a></span><span class="refpurpose"> — General FFT functions and declarations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfft.html">gstfft</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts16.html">gstffts16</a></span><span class="refpurpose"> — FFT functions for signed 16 bit integer samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts16.html">gstffts16</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts32.html">gstffts32</a></span><span class="refpurpose"> — FFT functions for signed 32 bit integer samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts32.html">gstffts32</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf32.html">gstfftf32</a></span><span class="refpurpose"> — FFT functions for 32 bit float samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf32.html">gstfftf32</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf64.html">gstfftf64</a></span><span class="refpurpose"> — FFT functions for 64 bit float samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf64.html">gstfftf64</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-mikey.html b/docs/libs/html/gstreamer-mikey.html
index 4f88121..e2b5e16 100644
--- a/docs/libs/html/gstreamer-mikey.html
+++ b/docs/libs/html/gstreamer-mikey.html
@@ -23,7 +23,7 @@
 <div class="titlepage"><div><div><h2 class="title">
 <a name="gstreamer-mikey"></a>MIKEY Library</h2></div></div></div>
 <div class="toc"><dl class="toc"><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstmikey.html">gstmikey</a></span><span class="refpurpose"> — Helper methods for dealing with MIKEY messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstmikey.html">gstmikey</a></span><span class="refpurpose"></span>
 </dt></dl></div>
 <p>
         This library should be linked to by getting cflags and libs from
diff --git a/docs/libs/html/gstreamer-plugins-base.html b/docs/libs/html/gstreamer-plugins-base.html
index fcf5bf1..d14b311 100644
--- a/docs/libs/html/gstreamer-plugins-base.html
+++ b/docs/libs/html/gstreamer-plugins-base.html
@@ -33,60 +33,58 @@
 <dt><span class="chapter"><a href="gstreamer-allocators.html">Allocators Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-dmabuf.html">dmabuf</a></span><span class="refpurpose"> — Memory wrapper for Linux dmabuf memory</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-dmabuf.html">dmabuf</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-fdmemory.html">fdmemory</a></span><span class="refpurpose"> — Memory wrapper for fd backed memory</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-fdmemory.html">fdmemory</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-app.html">App Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-appsrc.html">appsrc</a></span><span class="refpurpose"> — Easy way for applications to inject buffers into a
-    pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-appsink.html">appsink</a></span><span class="refpurpose"> — Easy way for applications to extract samples from a
-    pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-audio.html">Audio Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudio.html">gstaudio</a></span><span class="refpurpose"> — Support library for audio elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudio.html">gstaudio</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiometa.html">gstaudiometa</a></span><span class="refpurpose"> — Buffer metadata for audio downmix matrix handling</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiometa.html">gstaudiometa</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiocdsrc.html">gstaudiocdsrc</a></span><span class="refpurpose"> — Base class for Audio CD sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiocdsrc.html">gstaudiocdsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioclock.html">gstaudioclock</a></span><span class="refpurpose"> — Helper object for implementing audio clocks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioclock.html">gstaudioclock</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiodecoder.html">gstaudiodecoder</a></span><span class="refpurpose"> — Base class for audio decoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiodecoder.html">gstaudiodecoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioencoder.html">gstaudioencoder</a></span><span class="refpurpose"> — Base class for audio encoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioencoder.html">gstaudioencoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiofilter.html">gstaudiofilter</a></span><span class="refpurpose"> — Base class for simple audio filters</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiofilter.html">gstaudiofilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosink.html">gstaudiosink</a></span><span class="refpurpose"> — Simple base class for audio sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosink.html">gstaudiosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosrc.html">gstaudiosrc</a></span><span class="refpurpose"> — Simple base class for audio sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosrc.html">gstaudiosrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesink.html">gstaudiobasesink</a></span><span class="refpurpose"> — Base class for audio sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesink.html">gstaudiobasesink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesrc.html">gstaudiobasesrc</a></span><span class="refpurpose"> — Base class for audio sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesrc.html">gstaudiobasesrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiochannels.html">gstaudiochannels</a></span><span class="refpurpose"> — Support library for audio channel handling</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiochannels.html">gstaudiochannels</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-GstAudioConverter.html">GstAudioConverter</a></span><span class="refpurpose"></span>
@@ -95,164 +93,157 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-GstAudioQuantize.html">GstAudioQuantize</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioringbuffer.html">gstaudioringbuffer</a></span><span class="refpurpose"> — Base class for audio ringbuffer implementations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioringbuffer.html">gstaudioringbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioiec61937.html">gstaudioiec61937</a></span><span class="refpurpose"> — Utility functions for IEC 61937 payloading</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioiec61937.html">gstaudioiec61937</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gststreamvolume.html">gststreamvolume</a></span><span class="refpurpose"> — Interface for elements that provide a stream volume</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gststreamvolume.html">gststreamvolume</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-ffft.html">FFT Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfft.html">gstfft</a></span><span class="refpurpose"> — General FFT functions and declarations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfft.html">gstfft</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts16.html">gstffts16</a></span><span class="refpurpose"> — FFT functions for signed 16 bit integer samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts16.html">gstffts16</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts32.html">gstffts32</a></span><span class="refpurpose"> — FFT functions for signed 32 bit integer samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts32.html">gstffts32</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf32.html">gstfftf32</a></span><span class="refpurpose"> — FFT functions for 32 bit float samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf32.html">gstfftf32</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf64.html">gstfftf64</a></span><span class="refpurpose"> — FFT functions for 64 bit float samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf64.html">gstfftf64</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-riff.html">Riff Media Library</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstriff.html">gstriff</a></span><span class="refpurpose"> — Riff fileformat utillity functions.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstriff.html">gstriff</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="gstreamer-rtp.html">RTP Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html">gstrtpbaseaudiopayload</a></span><span class="refpurpose"> — Base class for audio RTP payloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html">gstrtpbaseaudiopayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasedepayload.html">gstrtpbasedepayload</a></span><span class="refpurpose"> — Base class for RTP depayloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasedepayload.html">gstrtpbasedepayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasepayload.html">gstrtpbasepayload</a></span><span class="refpurpose"> — Base class for RTP payloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasepayload.html">gstrtpbasepayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbuffer.html">gstrtpbuffer</a></span><span class="refpurpose"> — Helper methods for dealing with RTP buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbuffer.html">gstrtpbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtcpbuffer.html">gstrtcpbuffer</a></span><span class="refpurpose"> — Helper methods for dealing with RTCP buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtcpbuffer.html">gstrtcpbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtppayloads.html">gstrtppayloads</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-rtsp.html">RTSP Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspconnection.html">gstrtspconnection</a></span><span class="refpurpose"> — manage RTSP connections</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspconnection.html">gstrtspconnection</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspdefs.html">gstrtspdefs</a></span><span class="refpurpose"> — common RTSP defines</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspdefs.html">gstrtspdefs</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspextension.html">gstrtspextension</a></span><span class="refpurpose"> — Interface for extending RTSP protocols</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspextension.html">gstrtspextension</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspmessage.html">gstrtspmessage</a></span><span class="refpurpose"> — RTSP messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspmessage.html">gstrtspmessage</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsprange.html">gstrtsprange</a></span><span class="refpurpose"> — dealing with time ranges</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsprange.html">gstrtsprange</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsptransport.html">gstrtsptransport</a></span><span class="refpurpose"> — dealing with RTSP transports</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsptransport.html">gstrtsptransport</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspurl.html">gstrtspurl</a></span><span class="refpurpose"> — handling RTSP urls</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspurl.html">gstrtspurl</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-sdp.html">SDP Library</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstsdpmessage.html">gstsdpmessage</a></span><span class="refpurpose"> — Helper methods for dealing with SDP messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstsdpmessage.html">gstsdpmessage</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="gstreamer-mikey.html">MIKEY Library</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstmikey.html">gstmikey</a></span><span class="refpurpose"> — Helper methods for dealing with MIKEY messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstmikey.html">gstmikey</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="gstreamer-tag.html">Tag Support Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttag.html">gsttag</a></span><span class="refpurpose"> — additional tag definitions for plugins and applications</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttag.html">gsttag</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagvorbis.html">gsttagvorbis</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with vorbiscomments</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagvorbis.html">gsttagvorbis</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagid3.html">gsttagid3</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with ID3v1 and ID3v2 tags</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagid3.html">gsttagid3</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagexif.html">gsttagexif</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with exif tags</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagexif.html">gsttagexif</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmp.html">gsttagxmp</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with xmp packets</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmp.html">gsttagxmp</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmpwriter.html">gsttagxmpwriter</a></span><span class="refpurpose"> — Interface for elements that provide XMP serialization</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmpwriter.html">gsttagxmpwriter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagdemux.html">gsttagdemux</a></span><span class="refpurpose"> — Base class for demuxing tags that are in chunks
-                    directly at the beginning or at the end of a file</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagdemux.html">gsttagdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagmux.html">gsttagmux</a></span><span class="refpurpose"> — Base class for adding tags that are in one single chunk
-                    directly at the beginning or at the end of a file</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagmux.html">gsttagmux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglanguagecodes.html">gsttaglanguagecodes</a></span><span class="refpurpose"> — mappings for ISO-639 language codes and names</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglanguagecodes.html">gsttaglanguagecodes</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglicenses.html">gsttaglicenses</a></span><span class="refpurpose"> — utility functions for Creative Commons licenses</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglicenses.html">gsttaglicenses</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-base-utils.html">Base Utils Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutils.html">gstpbutils</a></span><span class="refpurpose"> — General Application and Plugin Utility Library</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutils.html">gstpbutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpluginsbaseversion.html">gstpluginsbaseversion</a></span><span class="refpurpose"> — GStreamer gst-plugins-base libraries version macros.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpluginsbaseversion.html">gstpluginsbaseversion</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilscodecutils.html">gstpbutilscodecutils</a></span><span class="refpurpose"> — Miscellaneous codec-specific utility functions</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilscodecutils.html">gstpbutilscodecutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsdescriptions.html">gstpbutilsdescriptions</a></span><span class="refpurpose"> — Provides human-readable descriptions for caps/codecs
-and encoder, decoder, URI source and URI sink elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsdescriptions.html">gstpbutilsdescriptions</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsmissingplugins.html">gstpbutilsmissingplugins</a></span><span class="refpurpose"> — Create, recognise and parse missing-plugins messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsmissingplugins.html">gstpbutilsmissingplugins</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsinstallplugins.html">gstpbutilsinstallplugins</a></span><span class="refpurpose"> — Missing plugin installation support for applications</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsinstallplugins.html">gstpbutilsinstallplugins</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstdiscoverer.html">gstdiscoverer</a></span><span class="refpurpose"> — Utility for discovering information on URIs.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstdiscoverer.html">gstdiscoverer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-encoding-profile.html">encoding-profile</a></span><span class="refpurpose"> — Encoding profile library</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-encoding-profile.html">encoding-profile</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-video.html">Video Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideo.html">gstvideo</a></span><span class="refpurpose"> — Support library for video operations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideo.html">gstvideo</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideometa.html">gstvideometa</a></span><span class="refpurpose"></span>
@@ -261,57 +252,52 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html">gstvideoaffinetransformationmeta</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlaycomposition.html">gstvideooverlaycomposition</a></span><span class="refpurpose"> — Video Buffer Overlay Compositions (Subtitles, Logos)</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlaycomposition.html">gstvideooverlaycomposition</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideofilter.html">gstvideofilter</a></span><span class="refpurpose"> — Base class for video filters</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideofilter.html">gstvideofilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDither.html">GstVideoDither</a></span><span class="refpurpose"> — Utility object for dithering and quantizing lines of video</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDither.html">GstVideoDither</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoChroma.html">GstVideoChroma</a></span><span class="refpurpose"> — Functions and utility object for operating on chroma video planes</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoChroma.html">GstVideoChroma</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoResampler.html">GstVideoResampler</a></span><span class="refpurpose"> — Utility structure for resampler information</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoResampler.html">GstVideoResampler</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoScaler.html">GstVideoScaler</a></span><span class="refpurpose"> — Utility object for rescaling video frames</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoScaler.html">GstVideoScaler</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideosink.html">gstvideosink</a></span><span class="refpurpose"> — Base class for video sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideosink.html">gstvideosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalance.html">gstcolorbalance</a></span><span class="refpurpose"> — Interface for adjusting color balance settings</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalance.html">gstcolorbalance</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalancechannel.html">gstcolorbalancechannel</a></span><span class="refpurpose"> — Object representing a channel from the <span class="type">GstColorBalance</span>
-        interface.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalancechannel.html">gstcolorbalancechannel</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoorientation.html">gstvideoorientation</a></span><span class="refpurpose"> — Interface for elements providing video orientation
-controls</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoorientation.html">gstvideoorientation</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlay.html">gstvideooverlay</a></span><span class="refpurpose"> — Interface for setting/getting a window system resource
-   on elements supporting it to configure a window into which to render a
-   video.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlay.html">gstvideooverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDecoder.html">GstVideoDecoder</a></span><span class="refpurpose"> — Base class for video decoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDecoder.html">GstVideoDecoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoEncoder.html">GstVideoEncoder</a></span><span class="refpurpose"> — Base class for video encoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoEncoder.html">GstVideoEncoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoPool.html">GstVideoPool</a></span><span class="refpurpose"> — GstBufferPool for raw video buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoPool.html">GstVideoPool</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoutils.html">gstvideoutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstnavigation.html">gstnavigation</a></span><span class="refpurpose"> — Interface for creating, sending and parsing navigation
-events.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstnavigation.html">gstnavigation</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 </dl>
diff --git a/docs/libs/html/gstreamer-riff.html b/docs/libs/html/gstreamer-riff.html
index e89ce64..6f720c1 100644
--- a/docs/libs/html/gstreamer-riff.html
+++ b/docs/libs/html/gstreamer-riff.html
@@ -23,7 +23,7 @@
 <div class="titlepage"><div><div><h2 class="title">
 <a name="gstreamer-riff"></a>Riff Media Library</h2></div></div></div>
 <div class="toc"><dl class="toc"><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstriff.html">gstriff</a></span><span class="refpurpose"> — Riff fileformat utillity functions.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstriff.html">gstriff</a></span><span class="refpurpose"></span>
 </dt></dl></div>
 <p>
         This library should be linked to by getting cflags and libs from
diff --git a/docs/libs/html/gstreamer-rtp.html b/docs/libs/html/gstreamer-rtp.html
index f136f46..aa5a1fd 100644
--- a/docs/libs/html/gstreamer-rtp.html
+++ b/docs/libs/html/gstreamer-rtp.html
@@ -24,25 +24,25 @@
 <a name="gstreamer-rtp"></a>RTP Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html">gstrtpbaseaudiopayload</a></span><span class="refpurpose"> — Base class for audio RTP payloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html">gstrtpbaseaudiopayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasedepayload.html">gstrtpbasedepayload</a></span><span class="refpurpose"> — Base class for RTP depayloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasedepayload.html">gstrtpbasedepayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasepayload.html">gstrtpbasepayload</a></span><span class="refpurpose"> — Base class for RTP payloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasepayload.html">gstrtpbasepayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbuffer.html">gstrtpbuffer</a></span><span class="refpurpose"> — Helper methods for dealing with RTP buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbuffer.html">gstrtpbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtcpbuffer.html">gstrtcpbuffer</a></span><span class="refpurpose"> — Helper methods for dealing with RTCP buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtcpbuffer.html">gstrtcpbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtppayloads.html">gstrtppayloads</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-rtsp.html b/docs/libs/html/gstreamer-rtsp.html
index 6dbeddf..49632ff 100644
--- a/docs/libs/html/gstreamer-rtsp.html
+++ b/docs/libs/html/gstreamer-rtsp.html
@@ -24,25 +24,25 @@
 <a name="gstreamer-rtsp"></a>RTSP Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspconnection.html">gstrtspconnection</a></span><span class="refpurpose"> — manage RTSP connections</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspconnection.html">gstrtspconnection</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspdefs.html">gstrtspdefs</a></span><span class="refpurpose"> — common RTSP defines</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspdefs.html">gstrtspdefs</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspextension.html">gstrtspextension</a></span><span class="refpurpose"> — Interface for extending RTSP protocols</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspextension.html">gstrtspextension</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspmessage.html">gstrtspmessage</a></span><span class="refpurpose"> — RTSP messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspmessage.html">gstrtspmessage</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsprange.html">gstrtsprange</a></span><span class="refpurpose"> — dealing with time ranges</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsprange.html">gstrtsprange</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsptransport.html">gstrtsptransport</a></span><span class="refpurpose"> — dealing with RTSP transports</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsptransport.html">gstrtsptransport</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspurl.html">gstrtspurl</a></span><span class="refpurpose"> — handling RTSP urls</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspurl.html">gstrtspurl</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-sdp.html b/docs/libs/html/gstreamer-sdp.html
index b377a43..38685e4 100644
--- a/docs/libs/html/gstreamer-sdp.html
+++ b/docs/libs/html/gstreamer-sdp.html
@@ -23,7 +23,7 @@
 <div class="titlepage"><div><div><h2 class="title">
 <a name="gstreamer-sdp"></a>SDP Library</h2></div></div></div>
 <div class="toc"><dl class="toc"><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstsdpmessage.html">gstsdpmessage</a></span><span class="refpurpose"> — Helper methods for dealing with SDP messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstsdpmessage.html">gstsdpmessage</a></span><span class="refpurpose"></span>
 </dt></dl></div>
 <p>
         This library should be linked to by getting cflags and libs from
diff --git a/docs/libs/html/gstreamer-tag.html b/docs/libs/html/gstreamer-tag.html
index a4f6b0a..870a9ff 100644
--- a/docs/libs/html/gstreamer-tag.html
+++ b/docs/libs/html/gstreamer-tag.html
@@ -24,40 +24,34 @@
 <a name="gstreamer-tag"></a>Tag Support Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttag.html">gsttag</a></span><span class="refpurpose"> — additional tag definitions for plugins and applications</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttag.html">gsttag</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagvorbis.html">gsttagvorbis</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with vorbiscomments</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagvorbis.html">gsttagvorbis</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagid3.html">gsttagid3</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with ID3v1 and ID3v2 tags</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagid3.html">gsttagid3</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagexif.html">gsttagexif</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with exif tags</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagexif.html">gsttagexif</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmp.html">gsttagxmp</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with xmp packets</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmp.html">gsttagxmp</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmpwriter.html">gsttagxmpwriter</a></span><span class="refpurpose"> — Interface for elements that provide XMP serialization</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmpwriter.html">gsttagxmpwriter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagdemux.html">gsttagdemux</a></span><span class="refpurpose"> — Base class for demuxing tags that are in chunks
-                    directly at the beginning or at the end of a file</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagdemux.html">gsttagdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagmux.html">gsttagmux</a></span><span class="refpurpose"> — Base class for adding tags that are in one single chunk
-                    directly at the beginning or at the end of a file</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagmux.html">gsttagmux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglanguagecodes.html">gsttaglanguagecodes</a></span><span class="refpurpose"> — mappings for ISO-639 language codes and names</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglanguagecodes.html">gsttaglanguagecodes</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglicenses.html">gsttaglicenses</a></span><span class="refpurpose"> — utility functions for Creative Commons licenses</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglicenses.html">gsttaglicenses</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/gstreamer-video.html b/docs/libs/html/gstreamer-video.html
index 3dc6ce9..6d515e3 100644
--- a/docs/libs/html/gstreamer-video.html
+++ b/docs/libs/html/gstreamer-video.html
@@ -24,7 +24,7 @@
 <a name="gstreamer-video"></a>Video Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideo.html">gstvideo</a></span><span class="refpurpose"> — Support library for video operations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideo.html">gstvideo</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideometa.html">gstvideometa</a></span><span class="refpurpose"></span>
@@ -33,57 +33,52 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html">gstvideoaffinetransformationmeta</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlaycomposition.html">gstvideooverlaycomposition</a></span><span class="refpurpose"> — Video Buffer Overlay Compositions (Subtitles, Logos)</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlaycomposition.html">gstvideooverlaycomposition</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideofilter.html">gstvideofilter</a></span><span class="refpurpose"> — Base class for video filters</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideofilter.html">gstvideofilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDither.html">GstVideoDither</a></span><span class="refpurpose"> — Utility object for dithering and quantizing lines of video</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDither.html">GstVideoDither</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoChroma.html">GstVideoChroma</a></span><span class="refpurpose"> — Functions and utility object for operating on chroma video planes</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoChroma.html">GstVideoChroma</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoResampler.html">GstVideoResampler</a></span><span class="refpurpose"> — Utility structure for resampler information</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoResampler.html">GstVideoResampler</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoScaler.html">GstVideoScaler</a></span><span class="refpurpose"> — Utility object for rescaling video frames</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoScaler.html">GstVideoScaler</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideosink.html">gstvideosink</a></span><span class="refpurpose"> — Base class for video sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideosink.html">gstvideosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalance.html">gstcolorbalance</a></span><span class="refpurpose"> — Interface for adjusting color balance settings</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalance.html">gstcolorbalance</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalancechannel.html">gstcolorbalancechannel</a></span><span class="refpurpose"> — Object representing a channel from the <span class="type">GstColorBalance</span>
-        interface.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalancechannel.html">gstcolorbalancechannel</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoorientation.html">gstvideoorientation</a></span><span class="refpurpose"> — Interface for elements providing video orientation
-controls</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoorientation.html">gstvideoorientation</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlay.html">gstvideooverlay</a></span><span class="refpurpose"> — Interface for setting/getting a window system resource
-   on elements supporting it to configure a window into which to render a
-   video.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlay.html">gstvideooverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDecoder.html">GstVideoDecoder</a></span><span class="refpurpose"> — Base class for video decoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDecoder.html">GstVideoDecoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoEncoder.html">GstVideoEncoder</a></span><span class="refpurpose"> — Base class for video encoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoEncoder.html">GstVideoEncoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoPool.html">GstVideoPool</a></span><span class="refpurpose"> — GstBufferPool for raw video buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoPool.html">GstVideoPool</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoutils.html">gstvideoutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstnavigation.html">gstnavigation</a></span><span class="refpurpose"> — Interface for creating, sending and parsing navigation
-events.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstnavigation.html">gstnavigation</a></span><span class="refpurpose"></span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 142d20e..6154210 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.8.2)
+      for GStreamer Base Library 1.0 (1.9.1)
       <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>
@@ -32,60 +32,58 @@
 <dt><span class="chapter"><a href="gstreamer-allocators.html">Allocators Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-dmabuf.html">dmabuf</a></span><span class="refpurpose"> — Memory wrapper for Linux dmabuf memory</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-dmabuf.html">dmabuf</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-fdmemory.html">fdmemory</a></span><span class="refpurpose"> — Memory wrapper for fd backed memory</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-fdmemory.html">fdmemory</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-app.html">App Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-appsrc.html">appsrc</a></span><span class="refpurpose"> — Easy way for applications to inject buffers into a
-    pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-appsink.html">appsink</a></span><span class="refpurpose"> — Easy way for applications to extract samples from a
-    pipeline</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-audio.html">Audio Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudio.html">gstaudio</a></span><span class="refpurpose"> — Support library for audio elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudio.html">gstaudio</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiometa.html">gstaudiometa</a></span><span class="refpurpose"> — Buffer metadata for audio downmix matrix handling</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiometa.html">gstaudiometa</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiocdsrc.html">gstaudiocdsrc</a></span><span class="refpurpose"> — Base class for Audio CD sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiocdsrc.html">gstaudiocdsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioclock.html">gstaudioclock</a></span><span class="refpurpose"> — Helper object for implementing audio clocks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioclock.html">gstaudioclock</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiodecoder.html">gstaudiodecoder</a></span><span class="refpurpose"> — Base class for audio decoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiodecoder.html">gstaudiodecoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioencoder.html">gstaudioencoder</a></span><span class="refpurpose"> — Base class for audio encoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioencoder.html">gstaudioencoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiofilter.html">gstaudiofilter</a></span><span class="refpurpose"> — Base class for simple audio filters</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiofilter.html">gstaudiofilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosink.html">gstaudiosink</a></span><span class="refpurpose"> — Simple base class for audio sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosink.html">gstaudiosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosrc.html">gstaudiosrc</a></span><span class="refpurpose"> — Simple base class for audio sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiosrc.html">gstaudiosrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesink.html">gstaudiobasesink</a></span><span class="refpurpose"> — Base class for audio sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesink.html">gstaudiobasesink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesrc.html">gstaudiobasesrc</a></span><span class="refpurpose"> — Base class for audio sources</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiobasesrc.html">gstaudiobasesrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiochannels.html">gstaudiochannels</a></span><span class="refpurpose"> — Support library for audio channel handling</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudiochannels.html">gstaudiochannels</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-GstAudioConverter.html">GstAudioConverter</a></span><span class="refpurpose"></span>
@@ -94,164 +92,157 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-GstAudioQuantize.html">GstAudioQuantize</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioringbuffer.html">gstaudioringbuffer</a></span><span class="refpurpose"> — Base class for audio ringbuffer implementations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioringbuffer.html">gstaudioringbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioiec61937.html">gstaudioiec61937</a></span><span class="refpurpose"> — Utility functions for IEC 61937 payloading</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstaudioiec61937.html">gstaudioiec61937</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gststreamvolume.html">gststreamvolume</a></span><span class="refpurpose"> — Interface for elements that provide a stream volume</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gststreamvolume.html">gststreamvolume</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-ffft.html">FFT Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfft.html">gstfft</a></span><span class="refpurpose"> — General FFT functions and declarations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfft.html">gstfft</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts16.html">gstffts16</a></span><span class="refpurpose"> — FFT functions for signed 16 bit integer samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts16.html">gstffts16</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts32.html">gstffts32</a></span><span class="refpurpose"> — FFT functions for signed 32 bit integer samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstffts32.html">gstffts32</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf32.html">gstfftf32</a></span><span class="refpurpose"> — FFT functions for 32 bit float samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf32.html">gstfftf32</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf64.html">gstfftf64</a></span><span class="refpurpose"> — FFT functions for 64 bit float samples</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstfftf64.html">gstfftf64</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-riff.html">Riff Media Library</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstriff.html">gstriff</a></span><span class="refpurpose"> — Riff fileformat utillity functions.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstriff.html">gstriff</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="gstreamer-rtp.html">RTP Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html">gstrtpbaseaudiopayload</a></span><span class="refpurpose"> — Base class for audio RTP payloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html">gstrtpbaseaudiopayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasedepayload.html">gstrtpbasedepayload</a></span><span class="refpurpose"> — Base class for RTP depayloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasedepayload.html">gstrtpbasedepayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasepayload.html">gstrtpbasepayload</a></span><span class="refpurpose"> — Base class for RTP payloader</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbasepayload.html">gstrtpbasepayload</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbuffer.html">gstrtpbuffer</a></span><span class="refpurpose"> — Helper methods for dealing with RTP buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtpbuffer.html">gstrtpbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtcpbuffer.html">gstrtcpbuffer</a></span><span class="refpurpose"> — Helper methods for dealing with RTCP buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtcpbuffer.html">gstrtcpbuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtppayloads.html">gstrtppayloads</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<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>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtphdrext.html">gstrtphdrext</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-rtsp.html">RTSP Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspconnection.html">gstrtspconnection</a></span><span class="refpurpose"> — manage RTSP connections</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspconnection.html">gstrtspconnection</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspdefs.html">gstrtspdefs</a></span><span class="refpurpose"> — common RTSP defines</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspdefs.html">gstrtspdefs</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspextension.html">gstrtspextension</a></span><span class="refpurpose"> — Interface for extending RTSP protocols</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspextension.html">gstrtspextension</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspmessage.html">gstrtspmessage</a></span><span class="refpurpose"> — RTSP messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspmessage.html">gstrtspmessage</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsprange.html">gstrtsprange</a></span><span class="refpurpose"> — dealing with time ranges</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsprange.html">gstrtsprange</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsptransport.html">gstrtsptransport</a></span><span class="refpurpose"> — dealing with RTSP transports</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtsptransport.html">gstrtsptransport</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspurl.html">gstrtspurl</a></span><span class="refpurpose"> — handling RTSP urls</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstrtspurl.html">gstrtspurl</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-sdp.html">SDP Library</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstsdpmessage.html">gstsdpmessage</a></span><span class="refpurpose"> — Helper methods for dealing with SDP messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstsdpmessage.html">gstsdpmessage</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="gstreamer-mikey.html">MIKEY Library</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstmikey.html">gstmikey</a></span><span class="refpurpose"> — Helper methods for dealing with MIKEY messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstmikey.html">gstmikey</a></span><span class="refpurpose"></span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="gstreamer-tag.html">Tag Support Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttag.html">gsttag</a></span><span class="refpurpose"> — additional tag definitions for plugins and applications</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttag.html">gsttag</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagvorbis.html">gsttagvorbis</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with vorbiscomments</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagvorbis.html">gsttagvorbis</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagid3.html">gsttagid3</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with ID3v1 and ID3v2 tags</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagid3.html">gsttagid3</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagexif.html">gsttagexif</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with exif tags</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagexif.html">gsttagexif</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmp.html">gsttagxmp</a></span><span class="refpurpose"> — tag mappings and support functions for plugins
-                    dealing with xmp packets</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmp.html">gsttagxmp</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmpwriter.html">gsttagxmpwriter</a></span><span class="refpurpose"> — Interface for elements that provide XMP serialization</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagxmpwriter.html">gsttagxmpwriter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagdemux.html">gsttagdemux</a></span><span class="refpurpose"> — Base class for demuxing tags that are in chunks
-                    directly at the beginning or at the end of a file</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagdemux.html">gsttagdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagmux.html">gsttagmux</a></span><span class="refpurpose"> — Base class for adding tags that are in one single chunk
-                    directly at the beginning or at the end of a file</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttagmux.html">gsttagmux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglanguagecodes.html">gsttaglanguagecodes</a></span><span class="refpurpose"> — mappings for ISO-639 language codes and names</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglanguagecodes.html">gsttaglanguagecodes</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglicenses.html">gsttaglicenses</a></span><span class="refpurpose"> — utility functions for Creative Commons licenses</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gsttaglicenses.html">gsttaglicenses</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-base-utils.html">Base Utils Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutils.html">gstpbutils</a></span><span class="refpurpose"> — General Application and Plugin Utility Library</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutils.html">gstpbutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpluginsbaseversion.html">gstpluginsbaseversion</a></span><span class="refpurpose"> — GStreamer gst-plugins-base libraries version macros.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpluginsbaseversion.html">gstpluginsbaseversion</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilscodecutils.html">gstpbutilscodecutils</a></span><span class="refpurpose"> — Miscellaneous codec-specific utility functions</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilscodecutils.html">gstpbutilscodecutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsdescriptions.html">gstpbutilsdescriptions</a></span><span class="refpurpose"> — Provides human-readable descriptions for caps/codecs
-and encoder, decoder, URI source and URI sink elements</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsdescriptions.html">gstpbutilsdescriptions</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsmissingplugins.html">gstpbutilsmissingplugins</a></span><span class="refpurpose"> — Create, recognise and parse missing-plugins messages</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsmissingplugins.html">gstpbutilsmissingplugins</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsinstallplugins.html">gstpbutilsinstallplugins</a></span><span class="refpurpose"> — Missing plugin installation support for applications</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstpbutilsinstallplugins.html">gstpbutilsinstallplugins</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstdiscoverer.html">gstdiscoverer</a></span><span class="refpurpose"> — Utility for discovering information on URIs.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstdiscoverer.html">gstdiscoverer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-encoding-profile.html">encoding-profile</a></span><span class="refpurpose"> — Encoding profile library</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-encoding-profile.html">encoding-profile</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="gstreamer-video.html">Video Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideo.html">gstvideo</a></span><span class="refpurpose"> — Support library for video operations</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideo.html">gstvideo</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideometa.html">gstvideometa</a></span><span class="refpurpose"></span>
@@ -260,64 +251,58 @@
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoaffinetransformationmeta.html">gstvideoaffinetransformationmeta</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlaycomposition.html">gstvideooverlaycomposition</a></span><span class="refpurpose"> — Video Buffer Overlay Compositions (Subtitles, Logos)</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlaycomposition.html">gstvideooverlaycomposition</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideofilter.html">gstvideofilter</a></span><span class="refpurpose"> — Base class for video filters</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideofilter.html">gstvideofilter</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDither.html">GstVideoDither</a></span><span class="refpurpose"> — Utility object for dithering and quantizing lines of video</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDither.html">GstVideoDither</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoChroma.html">GstVideoChroma</a></span><span class="refpurpose"> — Functions and utility object for operating on chroma video planes</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoChroma.html">GstVideoChroma</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoResampler.html">GstVideoResampler</a></span><span class="refpurpose"> — Utility structure for resampler information</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoResampler.html">GstVideoResampler</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoScaler.html">GstVideoScaler</a></span><span class="refpurpose"> — Utility object for rescaling video frames</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoScaler.html">GstVideoScaler</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideosink.html">gstvideosink</a></span><span class="refpurpose"> — Base class for video sinks</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideosink.html">gstvideosink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalance.html">gstcolorbalance</a></span><span class="refpurpose"> — Interface for adjusting color balance settings</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalance.html">gstcolorbalance</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalancechannel.html">gstcolorbalancechannel</a></span><span class="refpurpose"> — Object representing a channel from the <span class="type">GstColorBalance</span>
-        interface.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstcolorbalancechannel.html">gstcolorbalancechannel</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoorientation.html">gstvideoorientation</a></span><span class="refpurpose"> — Interface for elements providing video orientation
-controls</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoorientation.html">gstvideoorientation</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlay.html">gstvideooverlay</a></span><span class="refpurpose"> — Interface for setting/getting a window system resource
-   on elements supporting it to configure a window into which to render a
-   video.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideooverlay.html">gstvideooverlay</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDecoder.html">GstVideoDecoder</a></span><span class="refpurpose"> — Base class for video decoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoDecoder.html">GstVideoDecoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoEncoder.html">GstVideoEncoder</a></span><span class="refpurpose"> — Base class for video encoders</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoEncoder.html">GstVideoEncoder</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoPool.html">GstVideoPool</a></span><span class="refpurpose"> — GstBufferPool for raw video buffers</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-GstVideoPool.html">GstVideoPool</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-base-libs-gstvideoutils.html">gstvideoutils</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-libs-gstnavigation.html">gstnavigation</a></span><span class="refpurpose"> — Interface for creating, sending and parsing navigation
-events.</span>
+<span class="refentrytitle"><a href="gst-plugins-base-libs-gstnavigation.html">gstnavigation</a></span><span class="refpurpose"></span>
 </dt>
 </dl></dd>
 </dl></dd>
 <dt><span class="part"><a href="gstreamer-libs-hierarchy.html">II. Object Hierarchy</a></span></dt>
 <dt><span class="index"><a href="api-index-full.html">Index</a></span></dt>
 <dt><span class="index"><a href="api-index-deprecated.html">Index of deprecated API</a></span></dt>
-<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
 </dl></div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index 5e72a67..4722155 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -55,6 +55,8 @@
 	$(top_srcdir)/ext/cdparanoia/gstcdparanoiasrc.h \
 	$(top_srcdir)/ext/ogg/gstoggdemux.h \
 	$(top_srcdir)/ext/ogg/gstoggmux.h \
+	$(top_srcdir)/ext/opus/gstopusdec.h \
+	$(top_srcdir)/ext/opus/gstopusenc.h \
 	$(top_srcdir)/ext/pango/gstclockoverlay.h \
 	$(top_srcdir)/ext/pango/gsttextoverlay.h \
 	$(top_srcdir)/ext/pango/gsttextrender.h \
@@ -68,6 +70,8 @@
 	$(top_srcdir)/ext/vorbis/gstvorbistag.h \
 	$(top_srcdir)/gst/adder/gstadder.h \
 	$(top_srcdir)/gst/audioconvert/gstaudioconvert.h \
+	$(top_srcdir)/gst/audiorate/gstaudiorate.h \
+	$(top_srcdir)/gst/audioresample/gstaudioresample.h \
 	$(top_srcdir)/gst/audiotestsrc/gstaudiotestsrc.h \
 	$(top_srcdir)/gst/encoding/gstencodebin.h \
 	$(top_srcdir)/gst/gio/gstgiosink.h \
@@ -75,16 +79,23 @@
 	$(top_srcdir)/gst/gio/gstgiostreamsink.h \
 	$(top_srcdir)/gst/gio/gstgiostreamsrc.h \
 	$(top_srcdir)/gst/playback/gstplay-enum.h \
+	$(top_srcdir)/gst/playback/gstplaysink.h \
+	$(top_srcdir)/gst/playback/gststreamsynchronizer.h \
 	$(top_srcdir)/gst/playback/gstsubtitleoverlay.h \
 	$(top_srcdir)/gst/audiorate/gstaudiorate.h \
 	$(top_srcdir)/gst/audioresample/gstaudioresample.h \
+	$(top_srcdir)/gst/subparse/gstssaparse.h \
+	$(top_srcdir)/gst/subparse/gstsubparse.h \
+	$(top_srcdir)/gst/tcp/gstmultifdsink.h \
+	$(top_srcdir)/gst/tcp/gstmultihandlesink.h \
 	$(top_srcdir)/gst/tcp/gstmultisocketsink.h \
 	$(top_srcdir)/gst/tcp/gstsocketsrc.h \
-	$(top_srcdir)/gst/tcp/gsttcpclientsrc.h \
 	$(top_srcdir)/gst/tcp/gsttcpclientsink.h \
-	$(top_srcdir)/gst/tcp/gsttcpserversrc.h \
-	$(top_srcdir)/gst/tcp/gsttcpserversink.h \
+	$(top_srcdir)/gst/tcp/gsttcpclientsrc.h \
 	$(top_srcdir)/gst/tcp/gsttcp.h \
+	$(top_srcdir)/gst/tcp/gsttcpserversink.h \
+	$(top_srcdir)/gst/tcp/gsttcpserversrc.h \
+	$(top_srcdir)/gst/videoconvert/gstvideoconvert.h \
 	$(top_srcdir)/gst/videorate/gstvideorate.h \
 	$(top_srcdir)/gst/videoscale/gstvideoscale.h \
 	$(top_srcdir)/gst/videotestsrc/gstvideotestsrc.h \
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 7d623bd..1afa36c 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -522,6 +522,8 @@
 	$(top_srcdir)/ext/cdparanoia/gstcdparanoiasrc.h \
 	$(top_srcdir)/ext/ogg/gstoggdemux.h \
 	$(top_srcdir)/ext/ogg/gstoggmux.h \
+	$(top_srcdir)/ext/opus/gstopusdec.h \
+	$(top_srcdir)/ext/opus/gstopusenc.h \
 	$(top_srcdir)/ext/pango/gstclockoverlay.h \
 	$(top_srcdir)/ext/pango/gsttextoverlay.h \
 	$(top_srcdir)/ext/pango/gsttextrender.h \
@@ -535,6 +537,8 @@
 	$(top_srcdir)/ext/vorbis/gstvorbistag.h \
 	$(top_srcdir)/gst/adder/gstadder.h \
 	$(top_srcdir)/gst/audioconvert/gstaudioconvert.h \
+	$(top_srcdir)/gst/audiorate/gstaudiorate.h \
+	$(top_srcdir)/gst/audioresample/gstaudioresample.h \
 	$(top_srcdir)/gst/audiotestsrc/gstaudiotestsrc.h \
 	$(top_srcdir)/gst/encoding/gstencodebin.h \
 	$(top_srcdir)/gst/gio/gstgiosink.h \
@@ -542,16 +546,23 @@
 	$(top_srcdir)/gst/gio/gstgiostreamsink.h \
 	$(top_srcdir)/gst/gio/gstgiostreamsrc.h \
 	$(top_srcdir)/gst/playback/gstplay-enum.h \
+	$(top_srcdir)/gst/playback/gstplaysink.h \
+	$(top_srcdir)/gst/playback/gststreamsynchronizer.h \
 	$(top_srcdir)/gst/playback/gstsubtitleoverlay.h \
 	$(top_srcdir)/gst/audiorate/gstaudiorate.h \
 	$(top_srcdir)/gst/audioresample/gstaudioresample.h \
+	$(top_srcdir)/gst/subparse/gstssaparse.h \
+	$(top_srcdir)/gst/subparse/gstsubparse.h \
+	$(top_srcdir)/gst/tcp/gstmultifdsink.h \
+	$(top_srcdir)/gst/tcp/gstmultihandlesink.h \
 	$(top_srcdir)/gst/tcp/gstmultisocketsink.h \
 	$(top_srcdir)/gst/tcp/gstsocketsrc.h \
-	$(top_srcdir)/gst/tcp/gsttcpclientsrc.h \
 	$(top_srcdir)/gst/tcp/gsttcpclientsink.h \
-	$(top_srcdir)/gst/tcp/gsttcpserversrc.h \
-	$(top_srcdir)/gst/tcp/gsttcpserversink.h \
+	$(top_srcdir)/gst/tcp/gsttcpclientsrc.h \
 	$(top_srcdir)/gst/tcp/gsttcp.h \
+	$(top_srcdir)/gst/tcp/gsttcpserversink.h \
+	$(top_srcdir)/gst/tcp/gsttcpserversrc.h \
+	$(top_srcdir)/gst/videoconvert/gstvideoconvert.h \
 	$(top_srcdir)/gst/videorate/gstvideorate.h \
 	$(top_srcdir)/gst/videoscale/gstvideoscale.h \
 	$(top_srcdir)/gst/videotestsrc/gstvideotestsrc.h \
@@ -1001,9 +1012,13 @@
 @ENABLE_GTK_DOC_TRUE@		$(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done
 @ENABLE_GTK_DOC_TRUE@	@for f in $(EXAMPLE_CFILES); do \
 @ENABLE_GTK_DOC_TRUE@		$(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done
-@ENABLE_GTK_DOC_TRUE@	@gtkdoc-mkdb \
+@ENABLE_GTK_DOC_TRUE@	@_source_dir='' ;						\
+@ENABLE_GTK_DOC_TRUE@	for i in $(DOC_SOURCE_DIR) ; do					\
+@ENABLE_GTK_DOC_TRUE@	    _source_dir="$${_source_dir} --source-dir=$$i" ;	        \
+@ENABLE_GTK_DOC_TRUE@	done ;								\
+@ENABLE_GTK_DOC_TRUE@	gtkdoc-mkdb \
 @ENABLE_GTK_DOC_TRUE@		--module=$(DOC_MODULE) \
-@ENABLE_GTK_DOC_TRUE@		--source-dir=$(DOC_SOURCE_DIR) \
+@ENABLE_GTK_DOC_TRUE@		$${_source_dir} \
 @ENABLE_GTK_DOC_TRUE@		 --expand-content-files="$(expand_content_files)" \
 @ENABLE_GTK_DOC_TRUE@		--main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
 @ENABLE_GTK_DOC_TRUE@		--output-format=xml \
diff --git a/docs/plugins/gst-plugins-base-plugins-docs.sgml b/docs/plugins/gst-plugins-base-plugins-docs.sgml
index 9cb48d8..b1d6209 100644
--- a/docs/plugins/gst-plugins-base-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-base-plugins-docs.sgml
@@ -20,8 +20,8 @@
     <xi:include href="xml/element-adder.xml" />
     <xi:include href="xml/element-alsamidisrc.xml" />
     <xi:include href="xml/element-alsasink.xml" />
-    <xi:include href="xml/element-alsasrc.xml" />
     <xi:include href="xml/element-appsink.xml" />
+    <xi:include href="xml/element-alsasrc.xml" />
     <xi:include href="xml/element-appsrc.xml" />
     <xi:include href="xml/element-audioconvert.xml" />
     <xi:include href="xml/element-audiorate.xml" />
diff --git a/docs/plugins/gst-plugins-base-plugins-sections.txt b/docs/plugins/gst-plugins-base-plugins-sections.txt
index 2cd8ce8..593beb1 100644
--- a/docs/plugins/gst-plugins-base-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-base-plugins-sections.txt
@@ -5,16 +5,13 @@
 <SUBSECTION Standard>
 GstAdderClass
 GST_ADDER
+GST_ADDER_CAST
 GST_IS_ADDER
 GST_ADDER_CLASS
 GST_IS_ADDER_CLASS
 GST_TYPE_ADDER
 <SUBSECTION Private>
 gst_adder_get_type
-GstAdderClass
-GstAdderFormat
-GstAdderFunction
-GstAdderInputChannel
 </SECTION>
 
 <SECTION>
@@ -24,11 +21,12 @@
 <SUBSECTION Standard>
 GstAlsaMidiSrcClass
 GST_ALSA_MIDI_SRC
-GST_ALSA_MIDI_SRC_CLASS
+GST_ALSA_MIDI_SRC_CAST
 GST_IS_ALSA_MIDI_SRC
+GST_ALSA_MIDI_SRC_CLASS
 GST_IS_ALSA_MIDI_SRC_CLASS
 GST_TYPE_ALSA_MIDI_SRC
-SUBSECTION Private>
+<SUBSECTION Private>
 gst_alsa_midi_src_get_type
 </SECTION>
 
@@ -44,9 +42,6 @@
 GST_ALSA_SINK_CLASS
 GST_IS_ALSA_SINK_CLASS
 GST_TYPE_ALSA_SINK
-GST_ALSA_SINK_GET_LOCK
-GST_ALSA_SINK_LOCK
-GST_ALSA_SINK_UNLOCK
 <SUBSECTION Private>
 gst_alsa_sink_get_type
 </SECTION>
@@ -63,9 +58,6 @@
 GST_ALSA_SRC_CLASS
 GST_IS_ALSA_SRC_CLASS
 GST_TYPE_ALSA_SRC
-GST_ALSA_SRC_GET_LOCK
-GST_ALSA_SRC_LOCK
-GST_ALSA_SRC_UNLOCK
 <SUBSECTION Private>
 gst_alsa_src_get_type
 </SECTION>
@@ -75,22 +67,9 @@
 <TITLE>appsink</TITLE>
 GstAppSink
 <SUBSECTION Standard>
-gst_app_sink_set_caps
-gst_app_sink_get_caps
-gst_app_sink_is_eos
-gst_app_sink_set_emit_signals
-gst_app_sink_get_emit_signals
-gst_app_sink_set_max_buffers
-gst_app_sink_get_max_buffers
-gst_app_sink_set_drop
-gst_app_sink_get_drop
-gst_app_sink_pull_preroll
-gst_app_sink_pull_buffer
-gst_app_sink_set_callbacks
 GstAppSinkClass
-GstAppSinkPrivate
-GstAppSinkCallbacks
 GST_APP_SINK
+GST_APP_SINK_CAST
 GST_IS_APP_SINK
 GST_APP_SINK_CLASS
 GST_IS_APP_SINK_CLASS
@@ -104,26 +83,9 @@
 <TITLE>appsrc</TITLE>
 GstAppSrc
 <SUBSECTION Standard>
-gst_app_src_set_caps
-gst_app_src_get_caps
-gst_app_src_set_size
-gst_app_src_get_size
-gst_app_src_set_stream_type
-gst_app_src_get_stream_type
-gst_app_src_set_max_bytes
-gst_app_src_get_max_bytes
-gst_app_src_set_latency
-gst_app_src_get_latency
-gst_app_src_set_emit_signals
-gst_app_src_get_emit_signals
-gst_app_src_push_buffer
-gst_app_src_end_of_stream
-GstAppSrcCallbacks
-gst_app_src_set_callbacks
 GstAppSrcClass
-GstAppSrcPrivate
-GstAppStreamType
 GST_APP_SRC
+GST_APP_SRC_CAST
 GST_IS_APP_SRC
 GST_APP_SRC_CLASS
 GST_IS_APP_SRC_CLASS
@@ -136,26 +98,14 @@
 <FILE>element-audioconvert</FILE>
 <TITLE>audioconvert</TITLE>
 GstAudioConvert
-GstAudioConvertDithering
-GstAudioConvertNoiseShaping
 <SUBSECTION Standard>
 GstAudioConvertClass
 GST_AUDIO_CONVERT
+GST_AUDIO_CONVERT_CAST
 GST_IS_AUDIO_CONVERT
 GST_AUDIO_CONVERT_CLASS
 GST_IS_AUDIO_CONVERT_CLASS
 GST_TYPE_AUDIO_CONVERT
-AudioConvertCtx
-AudioConvertFmt
-AudioConvertMix
-AudioConvertPack
-AudioConvertQuantize
-AudioConvertUnpack
-audio_convert_clean_context
-audio_convert_clean_fmt
-audio_convert_convert
-audio_convert_get_sizes
-audio_convert_prepare_context
 <SUBSECTION Private>
 gst_audio_convert_get_type
 </SECTION>
@@ -167,6 +117,7 @@
 <SUBSECTION Standard>
 GstAudioRateClass
 GST_AUDIO_RATE
+GST_AUDIO_RATE_CAST
 GST_IS_AUDIO_RATE
 GST_AUDIO_RATE_CLASS
 GST_IS_AUDIO_RATE_CLASS
@@ -179,9 +130,13 @@
 <FILE>element-audioresample</FILE>
 <TITLE>audioresample</TITLE>
 GstAudioResample
+GstAudioResamplerMethod
+GstAudioResamplerFilterInterpolation
+GstAudioResamplerFilterMode
 <SUBSECTION Standard>
 GstAudioResampleClass
 GST_AUDIO_RESAMPLE
+GST_AUDIO_RESAMPLE_CAST
 GST_IS_AUDIO_RESAMPLE
 GST_AUDIO_RESAMPLE_CLASS
 GST_IS_AUDIO_RESAMPLE_CLASS
@@ -198,6 +153,7 @@
 <SUBSECTION Standard>
 GstAudioTestSrcClass
 GST_AUDIO_TEST_SRC
+GST_AUDIO_TEST_SRC_CAST
 GST_IS_AUDIO_TEST_SRC
 GST_AUDIO_TEST_SRC_CLASS
 GST_IS_AUDIO_TEST_SRC_CLASS
@@ -213,6 +169,7 @@
 <SUBSECTION Standard>
 GstCdParanoiaSrcClass
 GST_CD_PARANOIA_SRC
+GST_CD_PARANOIA_SRC_CAST
 GST_IS_CD_PARANOIA_SRC
 GST_CD_PARANOIA_SRC_CLASS
 GST_IS_CD_PARANOIA_SRC_CLASS
@@ -228,6 +185,7 @@
 <SUBSECTION Standard>
 GstClockOverlayClass
 GST_CLOCK_OVERLAY
+GST_CLOCK_OVERLAY_CAST
 GST_IS_CLOCK_OVERLAY
 GST_CLOCK_OVERLAY_CLASS
 GST_IS_CLOCK_OVERLAY_CLASS
@@ -260,6 +218,7 @@
 <SUBSECTION Standard>
 GstEncodeBinClass
 GST_ENCODE_BIN
+GST_ENCODE_BIN_CAST
 GST_IS_ENCODE_BIN
 GST_ENCODE_BIN_CLASS
 GST_IS_ENCODE_BIN_CLASS
@@ -275,6 +234,7 @@
 <SUBSECTION Standard>
 GstGioSinkClass
 GST_GIO_SINK
+GST_GIO_SINK_CAST
 GST_IS_GIO_SINK
 GST_GIO_SINK_CLASS
 GST_IS_GIO_SINK_CLASS
@@ -290,6 +250,7 @@
 <SUBSECTION Standard>
 GstGioSrcClass
 GST_GIO_SRC
+GST_GIO_SRC_CAST
 GST_IS_GIO_SRC
 GST_GIO_SRC_CLASS
 GST_IS_GIO_SRC_CLASS
@@ -305,6 +266,7 @@
 <SUBSECTION Standard>
 GstGioStreamSinkClass
 GST_GIO_STREAM_SINK
+GST_GIO_STREAM_SINK_CAST
 GST_IS_GIO_STREAM_SINK
 GST_GIO_STREAM_SINK_CLASS
 GST_IS_GIO_STREAM_SINK_CLASS
@@ -320,6 +282,7 @@
 <SUBSECTION Standard>
 GstGioStreamSrcClass
 GST_GIO_STREAM_SRC
+GST_GIO_STREAM_SRC_CAST
 GST_IS_GIO_STREAM_SRC
 GST_GIO_STREAM_SRC_CLASS
 GST_IS_GIO_STREAM_SRC_CLASS
@@ -332,19 +295,14 @@
 <FILE>element-multifdsink</FILE>
 <TITLE>multifdsink</TITLE>
 GstMultiFdSink
-GstRecoverPolicy
-GstSyncMethod
-GstClientStatus
-GstTCPProtocol
-GstTCPUnitType
 <SUBSECTION Standard>
 GstMultiFdSinkClass
 GST_MULTI_FD_SINK
+GST_MULTI_FD_SINK_CAST
 GST_IS_MULTI_FD_SINK
 GST_MULTI_FD_SINK_CLASS
 GST_IS_MULTI_FD_SINK_CLASS
 GST_TYPE_MULTI_FD_SINK
-GstTCPClient
 <SUBSECTION Private>
 gst_multi_fd_sink_get_type
 </SECTION>
@@ -353,19 +311,14 @@
 <FILE>element-multisocketsink</FILE>
 <TITLE>multisocketsink</TITLE>
 GstMultiSocketSink
-GstRecoverPolicy
-GstSyncMethod
-GstClientStatus
-GstTCPProtocol
-GstTCPUnitType
 <SUBSECTION Standard>
 GstMultiSocketSinkClass
 GST_MULTI_SOCKET_SINK
+GST_MULTI_SOCKET_SINK_CAST
 GST_IS_MULTI_SOCKET_SINK
 GST_MULTI_SOCKET_SINK_CLASS
 GST_IS_MULTI_SOCKET_SINK_CLASS
 GST_TYPE_MULTI_SOCKET_SINK
-GstTCPClient
 <SUBSECTION Private>
 gst_multi_socket_sink_get_type
 </SECTION>
@@ -393,20 +346,11 @@
 <SUBSECTION Standard>
 GstOggDemuxClass
 GST_OGG_DEMUX
+GST_OGG_DEMUX_CAST
 GST_IS_OGG_DEMUX
 GST_OGG_DEMUX_CLASS
 GST_IS_OGG_DEMUX_CLASS
 GST_TYPE_OGG_DEMUX
-GST_IS_OGG_PAD
-GST_IS_OGG_PAD_CLASS
-GST_OGG_PAD
-GST_OGG_PAD_CLASS
-GST_TYPE_OGG_PAD
-GstOggChain
-GstOggPad
-GstOggPadClass
-GstOggPadMode
-GstOggPadState
 <SUBSECTION Private>
 gst_ogg_demux_get_type
 </SECTION>
@@ -418,6 +362,7 @@
 <SUBSECTION Standard>
 GstOggMuxClass
 GST_OGG_MUX
+GST_OGG_MUX_CAST
 GST_IS_OGG_MUX
 GST_OGG_MUX_CLASS
 GST_IS_OGG_MUX_CLASS
@@ -490,37 +435,46 @@
 gst_ogm_video_parse_get_type
 </SECTION>
 
+<SECTION>
 <FILE>element-opusdec</FILE>
 <TITLE>opusdec</TITLE>
 GstOpusDec
 <SUBSECTION Standard>
 GstOpusDecClass
-gst_opus_dec_get_type
-GST_TYPE_OPUS_DEC
 GST_OPUS_DEC
-GST_OPUS_DEC_CLASS
+GST_OPUS_DEC_CAST
 GST_IS_OPUS_DEC
+GST_OPUS_DEC_CLASS
 GST_IS_OPUS_DEC_CLASS
+GST_TYPE_OPUS_DEC
+<SUBSECTION Private>
+gst_opus_dec_get_type
 </SECTION>
 
+<SECTION>
 <FILE>element-opusenc</FILE>
 <TITLE>opusenc</TITLE>
 GstOpusEnc
+GstOpusEncAudioType
+GstOpusEncBandwidth
+GstOpusEncBitrateType
+GstOpusEncFrameSize
 <SUBSECTION Standard>
 GstOpusEncClass
-gst_opus_enc_get_type
-GST_TYPE_OPUS_ENC
 GST_OPUS_ENC
-GST_OPUS_ENC_CLASS
+GST_OPUS_ENC_CAST
 GST_IS_OPUS_ENC
+GST_OPUS_ENC_CLASS
 GST_IS_OPUS_ENC_CLASS
+GST_TYPE_OPUS_ENC
+<SUBSECTION Private>
+gst_opus_enc_get_type
 </SECTION>
 
 <SECTION>
 <FILE>element-playbin</FILE>
 <TITLE>playbin</TITLE>
 GstPlayBin
-GstPlayFlags
 <SUBSECTION Standard>
 GstPlayBinClass
 GST_PLAY_BIN
@@ -529,8 +483,6 @@
 GST_PLAY_BIN_CLASS
 GST_IS_PLAY_BIN_CLASS
 GST_TYPE_PLAY_BIN
-gst_play_flags_get_type
-GST_TYPE_PLAY_FLAGS
 <SUBSECTION Private>
 gst_play_bin_get_type
 </SECTION>
@@ -543,35 +495,10 @@
 <SUBSECTION Standard>
 GstPlaySinkClass
 GST_PLAY_SINK
+GST_PLAY_SINK_CAST
 GST_IS_PLAY_SINK
 GST_PLAY_SINK_CLASS
 GST_IS_PLAY_SINK_CLASS
-GstPlaySinkType
-gst_play_sink_request_pad
-gst_play_sink_release_pad
-gst_play_sink_refresh_pad
-gst_play_sink_set_filter
-gst_play_sink_get_filter
-gst_play_sink_set_sink
-gst_play_sink_get_sink
-gst_play_sink_set_vis_plugin
-gst_play_sink_get_vis_plugin
-gst_play_sink_set_volume
-gst_play_sink_get_volume
-gst_play_sink_set_mute
-gst_play_sink_get_mute
-gst_play_sink_set_flags
-gst_play_sink_get_flags
-gst_play_sink_set_font_desc
-gst_play_sink_get_font_desc
-gst_play_sink_set_subtitle_encoding
-gst_play_sink_get_subtitle_encoding
-gst_play_sink_set_av_offset
-gst_play_sink_get_av_offset
-gst_play_sink_get_last_sample
-gst_play_sink_convert_sample
-gst_play_sink_reconfigure
-gst_play_sink_plugin_init
 GST_TYPE_PLAY_SINK
 <SUBSECTION Private>
 gst_play_sink_get_type
@@ -584,6 +511,7 @@
 <SUBSECTION Standard>
 GstSocketSrcClass
 GST_SOCKET_SRC
+GST_SOCKET_SRC_CAST
 GST_IS_SOCKET_SRC
 GST_SOCKET_SRC_CLASS
 GST_IS_SOCKET_SRC_CLASS
@@ -615,6 +543,7 @@
 <SUBSECTION Standard>
 GstStreamSynchronizerClass
 GST_STREAM_SYNCHRONIZER
+GST_STREAM_SYNCHRONIZER_CAST
 GST_IS_STREAM_SYNCHRONIZER
 GST_STREAM_SYNCHRONIZER_CLASS
 GST_IS_STREAM_SYNCHRONIZER_CLASS
@@ -650,11 +579,8 @@
 GST_IS_SUBTITLE_OVERLAY
 GST_SUBTITLE_OVERLAY_CLASS
 GST_IS_SUBTITLE_OVERLAY_CLASS
-GST_SUBTITLE_OVERLAY_LOCK
-GST_SUBTITLE_OVERLAY_UNLOCK
 GST_TYPE_SUBTITLE_OVERLAY
 <SUBSECTION Private>
-gst_subtitle_overlay_plugin_init
 gst_subtitle_overlay_get_type
 </SECTION>
 
@@ -664,8 +590,8 @@
 GstTCPClientSink
 <SUBSECTION Standard>
 GstTCPClientSinkClass
-GstTCPClientSinkFlags
 GST_TCP_CLIENT_SINK
+GST_TCP_CLIENT_SINK_CAST
 GST_IS_TCP_CLIENT_SINK
 GST_TCP_CLIENT_SINK_CLASS
 GST_IS_TCP_CLIENT_SINK_CLASS
@@ -680,12 +606,13 @@
 GstTCPClientSrc
 <SUBSECTION Standard>
 GstTCPClientSrcClass
-GstTCPClientSrcFlags
 GST_TCP_CLIENT_SRC
+GST_TCP_CLIENT_SRC_CAST
 GST_IS_TCP_CLIENT_SRC
 GST_TCP_CLIENT_SRC_CLASS
 GST_IS_TCP_CLIENT_SRC_CLASS
 GST_TYPE_TCP_CLIENT_SRC
+<SUBSECTION Private>
 gst_tcp_client_src_get_type
 </SECTION>
 
@@ -695,8 +622,8 @@
 GstTCPServerSink
 <SUBSECTION Standard>
 GstTCPServerSinkClass
-GstTCPServerSinkFlags
 GST_TCP_SERVER_SINK
+GST_TCP_SERVER_SINK_CAST
 GST_IS_TCP_SERVER_SINK
 GST_TCP_SERVER_SINK_CLASS
 GST_IS_TCP_SERVER_SINK_CLASS
@@ -711,8 +638,8 @@
 GstTCPServerSrc
 <SUBSECTION Standard>
 GstTCPServerSrcClass
-GstTCPServerSrcFlags
 GST_TCP_SERVER_SRC
+GST_TCP_SERVER_SRC_CAST
 GST_IS_TCP_SERVER_SRC
 GST_TCP_SERVER_SRC_CLASS
 GST_IS_TCP_SERVER_SRC_CLASS
@@ -725,17 +652,13 @@
 <FILE>element-textoverlay</FILE>
 <TITLE>textoverlay</TITLE>
 GstTextOverlay
-GstTextOverlayVAlign
-GstTextOverlayHAlign
-GstTextOverlayWrapMode
 <SUBSECTION Standard>
 GstTextOverlayClass
-GstTextOverlayLineAlign
 GST_TEXT_OVERLAY
+GST_TEXT_OVERLAY_CAST
 GST_IS_TEXT_OVERLAY
 GST_TEXT_OVERLAY_CLASS
 GST_IS_TEXT_OVERLAY_CLASS
-GST_TEXT_OVERLAY_GET_CLASS
 GST_TYPE_TEXT_OVERLAY
 <SUBSECTION Private>
 gst_text_overlay_get_type
@@ -745,13 +668,16 @@
 <FILE>element-textrender</FILE>
 <TITLE>textrender</TITLE>
 GstTextRender
+GstTextRenderHAlign
+GstTextRenderLineAlign
+GstTextRenderVAlign
 <SUBSECTION Standard>
 GstTextRenderClass
 GST_TEXT_RENDER
+GST_TEXT_RENDER_CAST
 GST_IS_TEXT_RENDER
 GST_TEXT_RENDER_CLASS
 GST_IS_TEXT_RENDER_CLASS
-GST_TEXT_RENDER_GET_CLASS
 GST_TYPE_TEXT_RENDER
 <SUBSECTION Private>
 gst_text_render_get_type
@@ -764,6 +690,7 @@
 <SUBSECTION Standard>
 GstTheoraDecClass
 GST_THEORA_DEC
+GST_THEORA_DEC_CAST
 GST_IS_THEORA_DEC
 GST_THEORA_DEC_CLASS
 GST_IS_THEORA_DEC_CLASS
@@ -780,6 +707,7 @@
 <SUBSECTION Standard>
 GstTheoraEncClass
 GST_THEORA_ENC
+GST_THEORA_ENC_CAST
 GST_IS_THEORA_ENC
 GST_THEORA_ENC_CLASS
 GST_IS_THEORA_ENC_CLASS
@@ -795,6 +723,7 @@
 <SUBSECTION Standard>
 GstTheoraParseClass
 GST_THEORA_PARSE
+GST_THEORA_PARSE_CAST
 GST_IS_THEORA_PARSE
 GST_THEORA_PARSE_CLASS
 GST_IS_THEORA_PARSE_CLASS
@@ -811,6 +740,7 @@
 <SUBSECTION Standard>
 GstTimeOverlayClass
 GST_TIME_OVERLAY
+GST_TIME_OVERLAY_CAST
 GST_IS_TIME_OVERLAY
 GST_TIME_OVERLAY_CLASS
 GST_IS_TIME_OVERLAY_CLASS
@@ -823,7 +753,6 @@
 <FILE>element-uridecodebin</FILE>
 <TITLE>uridecodebin</TITLE>
 GstURIDecodeBin
-GstAutoplugSelectResult
 <SUBSECTION Standard>
 GstURIDecodeBinClass
 GST_URI_DECODE_BIN
@@ -832,10 +761,8 @@
 GST_URI_DECODE_BIN_CLASS
 GST_IS_URI_DECODE_BIN_CLASS
 GST_TYPE_URI_DECODE_BIN
-GST_TYPE_AUTOPLUG_SELECT_RESULT
 <SUBSECTION Private>
 gst_uri_decode_bin_get_type
-gst_autoplug_select_result_get_type
 </SECTION>
 
 <SECTION>
@@ -845,6 +772,7 @@
 <SUBSECTION Standard>
 GstVideoConvertClass
 GST_VIDEO_CONVERT
+GST_VIDEO_CONVERT_CAST
 GST_IS_VIDEO_CONVERT
 GST_VIDEO_CONVERT_CLASS
 GST_IS_VIDEO_CONVERT_CLASS
@@ -860,6 +788,7 @@
 <SUBSECTION Standard>
 GstVideoRateClass
 GST_VIDEO_RATE
+GST_VIDEO_RATE_CAST
 GST_IS_VIDEO_RATE
 GST_VIDEO_RATE_CLASS
 GST_IS_VIDEO_RATE_CLASS
@@ -876,6 +805,7 @@
 <SUBSECTION Standard>
 GstVideoScaleClass
 GST_VIDEO_SCALE
+GST_VIDEO_SCALE_CAST
 GST_IS_VIDEO_SCALE
 GST_VIDEO_SCALE_CLASS
 GST_IS_VIDEO_SCALE_CLASS
@@ -889,10 +819,10 @@
 <TITLE>videotestsrc</TITLE>
 GstVideoTestSrc
 GstVideoTestSrcPattern
-GstVideoTestSrcColorSpec
 <SUBSECTION Standard>
 GstVideoTestSrcClass
 GST_VIDEO_TEST_SRC
+GST_VIDEO_TEST_SRC_CAST
 GST_IS_VIDEO_TEST_SRC
 GST_VIDEO_TEST_SRC_CLASS
 GST_IS_VIDEO_TEST_SRC_CLASS
@@ -908,6 +838,7 @@
 <SUBSECTION Standard>
 GstVolumeClass
 GST_VOLUME
+GST_VOLUME_CAST
 GST_IS_VOLUME
 GST_VOLUME_CLASS
 GST_IS_VOLUME_CLASS
@@ -923,6 +854,7 @@
 <SUBSECTION Standard>
 GstVorbisDecClass
 GST_VORBIS_DEC
+GST_VORBIS_DEC_CAST
 GST_IS_VORBIS_DEC
 GST_VORBIS_DEC_CLASS
 GST_IS_VORBIS_DEC_CLASS
@@ -938,6 +870,7 @@
 <SUBSECTION Standard>
 GstVorbisEncClass
 GST_VORBIS_ENC
+GST_VORBIS_ENC_CAST
 GST_IS_VORBIS_ENC
 GST_VORBIS_ENC_CLASS
 GST_IS_VORBIS_ENC_CLASS
@@ -953,6 +886,7 @@
 <SUBSECTION Standard>
 GstVorbisParseClass
 GST_VORBIS_PARSE
+GST_VORBIS_PARSE_CAST
 GST_IS_VORBIS_PARSE
 GST_VORBIS_PARSE_CLASS
 GST_IS_VORBIS_PARSE_CLASS
@@ -968,6 +902,7 @@
 <SUBSECTION Standard>
 GstVorbisTagClass
 GST_VORBIS_TAG
+GST_VORBIS_TAG_CAST
 GST_IS_VORBIS_TAG
 GST_VORBIS_TAG_CLASS
 GST_IS_VORBIS_TAG_CLASS
@@ -983,14 +918,11 @@
 <SUBSECTION Standard>
 GstXImageSinkClass
 GST_X_IMAGE_SINK
+GST_X_IMAGE_SINK_CAST
 GST_IS_X_IMAGE_SINK
 GST_X_IMAGE_SINK_CLASS
 GST_IS_X_IMAGE_SINK_CLASS
 GST_TYPE_X_IMAGE_SINK
-GstXImageBuffer
-GstXImageBufferClass
-GstXContext
-GstXWindow
 <SUBSECTION Private>
 gst_x_image_sink_get_type
 </SECTION>
@@ -1002,13 +934,12 @@
 <SUBSECTION Standard>
 GstXvImageSinkClass
 GST_XV_IMAGE_SINK
+GST_XV_IMAGE_SINK_CAST
 GST_IS_XV_IMAGE_SINK
 GST_XV_IMAGE_SINK_CLASS
 GST_IS_XV_IMAGE_SINK_CLASS
 GST_TYPE_XV_IMAGE_SINK
-GstXvImageBuffer
-GstXvImageBufferClass
-GstXvImageFormat
 <SUBSECTION Private>
 gst_xv_image_sink_get_type
 </SECTION>
+
diff --git a/docs/plugins/gst-plugins-base-plugins.args b/docs/plugins/gst-plugins-base-plugins.args
index 5c9330d..dc26fa3 100644
--- a/docs/plugins/gst-plugins-base-plugins.args
+++ b/docs/plugins/gst-plugins-base-plugins.args
@@ -870,12 +870,32 @@
 
 <ARG>
 <NAME>GstAudioResample::sinc-filter-mode</NAME>
-<TYPE>SpeexResamplerSincFilterMode</TYPE>
+<TYPE>GstAudioResamplerFilterMode</TYPE>
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Sinc filter table mode</NICK>
 <BLURB>What sinc filter table mode to use.</BLURB>
-<DEFAULT>Use full table if table size below threshold</DEFAULT>
+<DEFAULT>GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstAudioResample::resample-method</NAME>
+<TYPE>GstAudioResamplerMethod</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Resample method to use</NICK>
+<BLURB>What resample method to use.</BLURB>
+<DEFAULT>GST_AUDIO_RESAMPLER_METHOD_KAISER</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstAudioResample::sinc-filter-interpolation</NAME>
+<TYPE>GstAudioResamplerFilterInterpolation</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Sinc filter interpolation</NICK>
+<BLURB>How to interpolate the sinc filter table.</BLURB>
+<DEFAULT>GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC</DEFAULT>
 </ARG>
 
 <ARG>
@@ -1299,6 +1319,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstAppSrc::duration</NAME>
+<TYPE>guint64</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Duration</NICK>
+<BLURB>The duration of the data stream in nanoseconds (GST_CLOCK_TIME_NONE if unknown).</BLURB>
+<DEFAULT>18446744073709551615</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstAppSink::caps</NAME>
 <TYPE>GstCaps*</TYPE>
 <RANGE></RANGE>
@@ -2749,6 +2779,486 @@
 </ARG>
 
 <ARG>
+<NAME>GstURISourceBin::buffer-duration</NAME>
+<TYPE>gint64</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Buffer duration (ns)</NICK>
+<BLURB>Buffer duration when buffering streams (-1 default value).</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstURISourceBin::buffer-size</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Buffer size (bytes)</NICK>
+<BLURB>Buffer size when buffering streams (-1 default value).</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstURISourceBin::connection-speed</NAME>
+<TYPE>guint64</TYPE>
+<RANGE><= 18446744073709551</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Connection Speed</NICK>
+<BLURB>Network connection speed in kbps (0 = unknown).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstURISourceBin::download</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Download</NICK>
+<BLURB>Attempt download buffering when buffering network streams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstURISourceBin::ring-buffer-max-size</NAME>
+<TYPE>guint64</TYPE>
+<RANGE><= G_MAXUINT</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max. ring buffer size (bytes)</NICK>
+<BLURB>Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstURISourceBin::source</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Source</NICK>
+<BLURB>Source object used.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstURISourceBin::uri</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>URI</NICK>
+<BLURB>URI to decode.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstURISourceBin::use-buffering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Use Buffering</NICK>
+<BLURB>Perform buffering on demuxed/parsed media.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::audio-filter</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Audio filter</NICK>
+<BLURB>the audio filter(s) to apply, if possible.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::audio-sink</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Audio Sink</NICK>
+<BLURB>the audio output element to use (NULL = default sink).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::audio-stream-combiner</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Audio stream combiner</NICK>
+<BLURB>Current audio stream combiner (NULL = input-selector).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::auto-select-streams</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Automatic Select-Streams</NICK>
+<BLURB>Whether playbin should respond to stream-collection messags with select-streams events.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::av-offset</NAME>
+<TYPE>gint64</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>AV Offset</NICK>
+<BLURB>The synchronisation offset between audio and video in nanoseconds.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::buffer-duration</NAME>
+<TYPE>gint64</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Buffer duration (ns)</NICK>
+<BLURB>Buffer duration when buffering network streams.</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::buffer-size</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Buffer size (bytes)</NICK>
+<BLURB>Buffer size when buffering network streams.</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::connection-speed</NAME>
+<TYPE>guint64</TYPE>
+<RANGE><= 18446744073709551</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Connection Speed</NICK>
+<BLURB>Network connection speed in kbps (0 = unknown).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::current-audio</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Current audio</NICK>
+<BLURB>Currently playing audio stream (-1 = auto).</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::current-suburi</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Current .sub-URI</NICK>
+<BLURB>The currently playing URI of a subtitle.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::current-text</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Current Text</NICK>
+<BLURB>Currently playing text stream (-1 = auto).</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::current-uri</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Current URI</NICK>
+<BLURB>The currently playing URI.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::current-video</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Current Video</NICK>
+<BLURB>Currently playing video stream (-1 = auto).</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::flags</NAME>
+<TYPE>GstPlayFlags</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Flags</NICK>
+<BLURB>Flags to control behaviour.</BLURB>
+<DEFAULT>Render the video stream|Render the audio stream|Render subtitles|Use software volume|Deinterlace video if necessary|Use software color balance</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::force-aspect-ratio</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Force Aspect Ratio</NICK>
+<BLURB>When enabled, scaling will respect original aspect ratio.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::mute</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Mute</NICK>
+<BLURB>Mute the audio channel without changing the volume.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::n-audio</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Number Audio</NICK>
+<BLURB>Total number of audio streams.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::n-text</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Number Text</NICK>
+<BLURB>Total number of text streams.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::n-video</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Number Video</NICK>
+<BLURB>Total number of video streams.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::ring-buffer-max-size</NAME>
+<TYPE>guint64</TYPE>
+<RANGE><= G_MAXUINT</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max. ring buffer size (bytes)</NICK>
+<BLURB>Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::sample</NAME>
+<TYPE>GstSample*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Sample</NICK>
+<BLURB>The last sample (NULL = no video available).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::source</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Source</NICK>
+<BLURB>Source element.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::subtitle-encoding</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>subtitle encoding</NICK>
+<BLURB>Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::subtitle-font-desc</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>w</FLAGS>
+<NICK>Subtitle font description</NICK>
+<BLURB>Pango font description of font to be used for subtitle rendering.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::suburi</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>.sub-URI</NICK>
+<BLURB>Optional URI of a subtitle.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::text-sink</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Text plugin</NICK>
+<BLURB>the text output element to use (NULL = default subtitleoverlay).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::text-stream-combiner</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Text stream combiner</NICK>
+<BLURB>Current text stream combiner (NULL = input-selector).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::uri</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>URI</NICK>
+<BLURB>URI of the media to play.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::video-filter</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Video filter</NICK>
+<BLURB>the video filter(s) to apply, if possible.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::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>GstPlayBin3::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>GstPlayBin3::video-sink</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Video Sink</NICK>
+<BLURB>the video output element to use (NULL = default sink).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::video-stream-combiner</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Video stream combiner</NICK>
+<BLURB>Current video stream combiner (NULL = input-selector).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::vis-plugin</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Vis plugin</NICK>
+<BLURB>the visualization element to use (NULL = default).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstPlayBin3::volume</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,10]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Volume</NICK>
+<BLURB>The audio volume, 1.0=100%.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstParseBin::connection-speed</NAME>
+<TYPE>guint64</TYPE>
+<RANGE><= 18446744073709551</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Connection Speed</NICK>
+<BLURB>Network connection speed in kbps (0 = unknown).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstParseBin::expose-all-streams</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Expose All Streams</NICK>
+<BLURB>Expose all streams, including those of unknown type or that don't match the 'caps' property.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstParseBin::sink-caps</NAME>
+<TYPE>GstCaps*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Sink Caps</NICK>
+<BLURB>The caps of the input data. (NULL = use typefind element).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstParseBin::subtitle-encoding</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>subtitle encoding</NICK>
+<BLURB>Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDecodebin3::caps</NAME>
+<TYPE>GstCaps*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Caps</NICK>
+<BLURB>The caps on which to stop decoding. (NULL = default).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstTheoraDec::visualize-bit-usage</NAME>
 <TYPE>gint</TYPE>
 <RANGE>[0,255]</RANGE>
diff --git a/docs/plugins/gst-plugins-base-plugins.hierarchy b/docs/plugins/gst-plugins-base-plugins.hierarchy
index c2d607b..75f4ff1 100644
--- a/docs/plugins/gst-plugins-base-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-base-plugins.hierarchy
@@ -79,12 +79,16 @@
           GstVideoRate
         GstBin
           GstDecodeBin
+          GstDecodebin3
           GstEncodeBin
+          GstParseBin
           GstPipeline
             GstPlayBin
+            GstPlayBin3
           GstPlaySink
           GstSubtitleOverlay
           GstURIDecodeBin
+          GstURISourceBin
         GstOggAviParse
         GstOggDemux
         GstOggMux
@@ -108,6 +112,7 @@
         GstProxyPad
           GstGhostPad
             GstDecodePad
+            GstParsePad
       GstPadTemplate
       GstPlugin
       GstPluginFeature
@@ -116,6 +121,8 @@
         GstTracerFactory
         GstTypeFindFactory
       GstRegistry
+      GstStream
+      GstStreamCollection
       GstTask
       GstTaskPool
   GInputStream
diff --git a/docs/plugins/gst-plugins-base-plugins.interfaces b/docs/plugins/gst-plugins-base-plugins.interfaces
index 651688d..8ed5c52 100644
--- a/docs/plugins/gst-plugins-base-plugins.interfaces
+++ b/docs/plugins/gst-plugins-base-plugins.interfaces
@@ -9,17 +9,21 @@
 GstBin GstChildProxy
 GstCdParanoiaSrc GstURIHandler
 GstDecodeBin GstChildProxy
+GstDecodebin3 GstChildProxy
 GstEncodeBin GstChildProxy
 GstGioSink GstURIHandler
 GstGioSrc GstURIHandler
 GstOggMux GstPreset
 GstOpusEnc GstPreset GstTagSetter
+GstParseBin GstChildProxy
 GstPipeline GstChildProxy
 GstPlayBin GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance
+GstPlayBin3 GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance
 GstPlaySink GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance
 GstSubtitleOverlay GstChildProxy
 GstTheoraEnc GstPreset
 GstURIDecodeBin GstChildProxy
+GstURISourceBin GstChildProxy
 GstVideoEncoder GstPreset
 GstVolume GstStreamVolume
 GstVorbisEnc GstPreset GstTagSetter
diff --git a/docs/plugins/gst-plugins-base-plugins.signals b/docs/plugins/gst-plugins-base-plugins.signals
index 8be77d0..cd62796 100644
--- a/docs/plugins/gst-plugins-base-plugins.signals
+++ b/docs/plugins/gst-plugins-base-plugins.signals
@@ -202,6 +202,14 @@
 </SIGNAL>
 
 <SIGNAL>
+<NAME>GstPlayBin::element-setup</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin *gstplaybin
+GstElement *arg1
+</SIGNAL>
+
+<SIGNAL>
 <NAME>GstDecodeBin::autoplug-continue</NAME>
 <RETURNS>gboolean</RETURNS>
 <FLAGS>l</FLAGS>
@@ -525,3 +533,264 @@
 GstSocketSrc *gstsocketsrc
 </SIGNAL>
 
+<SIGNAL>
+<NAME>GstURISourceBin::autoplug-continue</NAME>
+<RETURNS>gboolean</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+GstPad *arg1
+GstCaps *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstURISourceBin::autoplug-factories</NAME>
+<RETURNS>GValueArray*</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+GstPad *arg1
+GstCaps *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstURISourceBin::autoplug-query</NAME>
+<RETURNS>gboolean</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+GstPad *arg1
+GstElement *arg2
+GstQuery *arg3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstURISourceBin::autoplug-select</NAME>
+<RETURNS>GstAutoplugSelectResult</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+GstPad *arg1
+GstCaps *arg2
+GstElementFactory *arg3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstURISourceBin::autoplug-sort</NAME>
+<RETURNS>GValueArray*</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+GstPad *arg1
+GstCaps *arg2
+GValueArray *arg3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstURISourceBin::drained</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstURISourceBin::source-setup</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+GstElement *arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstURISourceBin::unknown-type</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstURISourceBin *gsturisourcebin
+GstPad *arg1
+GstCaps *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::about-to-finish</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::audio-changed</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::audio-tags-changed</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::convert-sample</NAME>
+<RETURNS>GstSample*</RETURNS>
+<FLAGS>la</FLAGS>
+GstPlayBin3 *gstplaybin3
+GstCaps *arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::get-audio-pad</NAME>
+<RETURNS>GstPad*</RETURNS>
+<FLAGS>la</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::get-audio-tags</NAME>
+<RETURNS>GstTagList*</RETURNS>
+<FLAGS>la</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::get-text-pad</NAME>
+<RETURNS>GstPad*</RETURNS>
+<FLAGS>la</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::get-text-tags</NAME>
+<RETURNS>GstTagList*</RETURNS>
+<FLAGS>la</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::get-video-pad</NAME>
+<RETURNS>GstPad*</RETURNS>
+<FLAGS>la</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::get-video-tags</NAME>
+<RETURNS>GstTagList*</RETURNS>
+<FLAGS>la</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::source-setup</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+GstElement *arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::text-changed</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::text-tags-changed</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::video-changed</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstPlayBin3::video-tags-changed</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstPlayBin3 *gstplaybin3
+gint  arg1
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstParseBin::autoplug-continue</NAME>
+<RETURNS>gboolean</RETURNS>
+<FLAGS>l</FLAGS>
+GstParseBin *gstparsebin
+GstPad *arg1
+GstCaps *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstParseBin::autoplug-factories</NAME>
+<RETURNS>GValueArray*</RETURNS>
+<FLAGS>l</FLAGS>
+GstParseBin *gstparsebin
+GstPad *arg1
+GstCaps *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstParseBin::autoplug-query</NAME>
+<RETURNS>gboolean</RETURNS>
+<FLAGS>l</FLAGS>
+GstParseBin *gstparsebin
+GstPad *arg1
+GstElement *arg2
+GstQuery *arg3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstParseBin::autoplug-select</NAME>
+<RETURNS>GstAutoplugSelectResult</RETURNS>
+<FLAGS>l</FLAGS>
+GstParseBin *gstparsebin
+GstPad *arg1
+GstCaps *arg2
+GstElementFactory *arg3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstParseBin::autoplug-sort</NAME>
+<RETURNS>GValueArray*</RETURNS>
+<FLAGS>l</FLAGS>
+GstParseBin *gstparsebin
+GstPad *arg1
+GstCaps *arg2
+GValueArray *arg3
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstParseBin::drained</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstParseBin *gstparsebin
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstParseBin::unknown-type</NAME>
+<RETURNS>void</RETURNS>
+<FLAGS>l</FLAGS>
+GstParseBin *gstparsebin
+GstPad *arg1
+GstCaps *arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GstDecodebin3::select-stream</NAME>
+<RETURNS>gint</RETURNS>
+<FLAGS>l</FLAGS>
+GstDecodebin3 *gstdecodebin3
+GstStreamCollection *arg1
+GstStream *arg2
+</SIGNAL>
+
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 6b074fe..462636b 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -33,10 +33,10 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
+<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-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2 b/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
index 921bcbf..2901b23 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-base-plugins-1.0.devhelp2
@@ -5,8 +5,8 @@
       <sub name="adder" link="gst-plugins-base-plugins-adder.html"/>
       <sub name="alsamidisrc" link="gst-plugins-base-plugins-alsamidisrc.html"/>
       <sub name="alsasink" link="gst-plugins-base-plugins-alsasink.html"/>
-      <sub name="alsasrc" link="gst-plugins-base-plugins-alsasrc.html"/>
       <sub name="appsink" link="gst-plugins-base-plugins-appsink.html"/>
+      <sub name="alsasrc" link="gst-plugins-base-plugins-alsasrc.html"/>
       <sub name="appsrc" link="gst-plugins-base-plugins-appsrc.html"/>
       <sub name="audioconvert" link="gst-plugins-base-plugins-audioconvert.html"/>
       <sub name="audiorate" link="gst-plugins-base-plugins-audiorate.html"/>
@@ -101,10 +101,6 @@
     <keyword type="property" name="The “card-name” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--card-name"/>
     <keyword type="property" name="The “device” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device"/>
     <keyword type="property" name="The “device-name” property" link="gst-plugins-base-plugins-alsasink.html#GstAlsaSink--device-name"/>
-    <keyword type="struct" name="struct GstAlsaSrc" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc-struct"/>
-    <keyword type="property" name="The “card-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--card-name"/>
-    <keyword type="property" name="The “device” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device"/>
-    <keyword type="property" name="The “device-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device-name"/>
     <keyword type="struct" name="struct GstAppSink" link="gst-plugins-base-plugins-appsink.html#GstAppSink-struct"/>
     <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--caps"/>
     <keyword type="property" name="The “drop” property" link="gst-plugins-base-plugins-appsink.html#GstAppSink--drop"/>
@@ -117,6 +113,10 @@
     <keyword type="signal" name="The “new-sample” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-new-sample"/>
     <keyword type="signal" name="The “pull-preroll” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-preroll"/>
     <keyword type="signal" name="The “pull-sample” signal" link="gst-plugins-base-plugins-appsink.html#GstAppSink-pull-sample"/>
+    <keyword type="struct" name="struct GstAlsaSrc" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc-struct"/>
+    <keyword type="property" name="The “card-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--card-name"/>
+    <keyword type="property" name="The “device” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device"/>
+    <keyword type="property" name="The “device-name” property" link="gst-plugins-base-plugins-alsasrc.html#GstAlsaSrc--device-name"/>
     <keyword type="struct" name="struct GstAppSrc" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-struct"/>
     <keyword type="property" name="The “block” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--block"/>
     <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--caps"/>
@@ -130,6 +130,7 @@
     <keyword type="property" name="The “min-percent” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--min-percent"/>
     <keyword type="property" name="The “size” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--size"/>
     <keyword type="property" name="The “stream-type” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--stream-type"/>
+    <keyword type="property" name="The “duration” property" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc--duration"/>
     <keyword type="signal" name="The “end-of-stream” signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-end-of-stream"/>
     <keyword type="signal" name="The “enough-data” signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-enough-data"/>
     <keyword type="signal" name="The “need-data” signal" link="gst-plugins-base-plugins-appsrc.html#GstAppSrc-need-data"/>
@@ -151,6 +152,8 @@
     <keyword type="property" name="The “quality” property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--quality"/>
     <keyword type="property" name="The “sinc-filter-auto-threshold” property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--sinc-filter-auto-threshold"/>
     <keyword type="property" name="The “sinc-filter-mode” property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--sinc-filter-mode"/>
+    <keyword type="property" name="The “resample-method” property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--resample-method"/>
+    <keyword type="property" name="The “sinc-filter-interpolation” property" link="gst-plugins-base-plugins-audioresample.html#GstAudioResample--sinc-filter-interpolation"/>
     <keyword type="struct" name="struct GstAudioTestSrc" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrc-struct"/>
     <keyword type="enum" name="enum GstAudioTestSrcWave" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrcWave"/>
     <keyword type="property" name="The “can-activate-pull” property" link="gst-plugins-base-plugins-audiotestsrc.html#GstAudioTestSrc--can-activate-pull"/>
@@ -212,9 +215,6 @@
     <keyword type="struct" name="struct GstGioStreamSrc" link="gst-plugins-base-plugins-giostreamsrc.html#GstGioStreamSrc-struct"/>
     <keyword type="property" name="The “stream” property" link="gst-plugins-base-plugins-giostreamsrc.html#GstGioStreamSrc--stream"/>
     <keyword type="struct" name="struct GstMultiFdSink" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-struct"/>
-    <keyword type="enum" name="enum GstRecoverPolicy" link="gst-plugins-base-plugins-multifdsink.html#GstRecoverPolicy"/>
-    <keyword type="enum" name="enum GstSyncMethod" link="gst-plugins-base-plugins-multifdsink.html#GstSyncMethod"/>
-    <keyword type="enum" name="enum GstClientStatus" link="gst-plugins-base-plugins-multifdsink.html#GstClientStatus"/>
     <keyword type="property" name="The “handle-read” property" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink--handle-read"/>
     <keyword type="signal" name="The “add” signal" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-add"/>
     <keyword type="signal" name="The “add-full” signal" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-add-full"/>
@@ -225,9 +225,6 @@
     <keyword type="signal" name="The “remove” signal" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-remove"/>
     <keyword type="signal" name="The “remove-flush” signal" link="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-remove-flush"/>
     <keyword type="struct" name="struct GstMultiSocketSink" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-struct"/>
-    <keyword type="enum" name="enum GstRecoverPolicy" link="gst-plugins-base-plugins-multisocketsink.html#GstRecoverPolicy"/>
-    <keyword type="enum" name="enum GstSyncMethod" link="gst-plugins-base-plugins-multisocketsink.html#GstSyncMethod"/>
-    <keyword type="enum" name="enum GstClientStatus" link="gst-plugins-base-plugins-multisocketsink.html#GstClientStatus"/>
     <keyword type="property" name="The “send-dispatched” property" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink--send-dispatched"/>
     <keyword type="property" name="The “send-messages” property" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink--send-messages"/>
     <keyword type="signal" name="The “add” signal" link="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-add"/>
@@ -248,6 +245,7 @@
     <keyword type="property" name="The “apply-gain” property" link="gst-plugins-base-plugins-opusdec.html#GstOpusDec--apply-gain"/>
     <keyword type="property" name="The “use-inband-fec” property" link="gst-plugins-base-plugins-opusdec.html#GstOpusDec--use-inband-fec"/>
     <keyword type="struct" name="struct GstOpusEnc" link="gst-plugins-base-plugins-opusenc.html#GstOpusEnc-struct"/>
+    <keyword type="enum" name="enum GstOpusEncBitrateType" link="gst-plugins-base-plugins-opusenc.html#GstOpusEncBitrateType"/>
     <keyword type="property" name="The “audio” property" link="gst-plugins-base-plugins-opusenc.html#GstOpusEnc--audio"/>
     <keyword type="property" name="The “audio-type” property" link="gst-plugins-base-plugins-opusenc.html#GstOpusEnc--audio-type"/>
     <keyword type="property" name="The “bandwidth” property" link="gst-plugins-base-plugins-opusenc.html#GstOpusEnc--bandwidth"/>
@@ -262,7 +260,6 @@
     <keyword type="property" name="The “max-payload-size” property" link="gst-plugins-base-plugins-opusenc.html#GstOpusEnc--max-payload-size"/>
     <keyword type="property" name="The “packet-loss-percentage” property" link="gst-plugins-base-plugins-opusenc.html#GstOpusEnc--packet-loss-percentage"/>
     <keyword type="struct" name="struct GstPlayBin" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-struct"/>
-    <keyword type="enum" name="enum GstPlayFlags" link="gst-plugins-base-plugins-playbin.html#GstPlayFlags"/>
     <keyword type="property" name="The “audio-sink” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-sink"/>
     <keyword type="property" name="The “audio-stream-combiner” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-stream-combiner"/>
     <keyword type="property" name="The “av-offset” property" link="gst-plugins-base-plugins-playbin.html#GstPlayBin--av-offset"/>
@@ -312,6 +309,7 @@
     <keyword type="signal" name="The “text-tags-changed” signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-text-tags-changed"/>
     <keyword type="signal" name="The “video-changed” signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-video-changed"/>
     <keyword type="signal" name="The “video-tags-changed” signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-video-tags-changed"/>
+    <keyword type="signal" name="The “element-setup” signal" link="gst-plugins-base-plugins-playbin.html#GstPlayBin-element-setup"/>
     <keyword type="struct" name="GstPlaySink" link="gst-plugins-base-plugins-playsink.html#GstPlaySink-struct"/>
     <keyword type="property" name="The “audio-sink” property" link="gst-plugins-base-plugins-playsink.html#GstPlaySink--audio-sink"/>
     <keyword type="property" name="The “av-offset” property" link="gst-plugins-base-plugins-playsink.html#GstPlaySink--av-offset"/>
@@ -360,6 +358,9 @@
     <keyword type="property" name="The “port” property" link="gst-plugins-base-plugins-tcpserversrc.html#GstTCPServerSrc--port"/>
     <keyword type="struct" name="struct GstTextOverlay" link="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay-struct"/>
     <keyword type="struct" name="struct GstTextRender" link="gst-plugins-base-plugins-textrender.html#GstTextRender-struct"/>
+    <keyword type="enum" name="enum GstTextRenderHAlign" link="gst-plugins-base-plugins-textrender.html#GstTextRenderHAlign"/>
+    <keyword type="enum" name="enum GstTextRenderLineAlign" link="gst-plugins-base-plugins-textrender.html#GstTextRenderLineAlign"/>
+    <keyword type="enum" name="enum GstTextRenderVAlign" link="gst-plugins-base-plugins-textrender.html#GstTextRenderVAlign"/>
     <keyword type="property" name="The “font-desc” property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--font-desc"/>
     <keyword type="property" name="The “halignment” property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--halignment"/>
     <keyword type="property" name="The “line-alignment” property" link="gst-plugins-base-plugins-textrender.html#GstTextRender--line-alignment"/>
@@ -391,7 +392,6 @@
     <keyword type="enum" name="enum GstTimeOverlayTimeLine" link="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlayTimeLine"/>
     <keyword type="property" name="The “time-mode” property" link="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay--time-mode"/>
     <keyword type="struct" name="struct GstURIDecodeBin" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-struct"/>
-    <keyword type="enum" name="enum GstAutoplugSelectResult" link="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult"/>
     <keyword type="property" name="The “buffer-duration” property" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin--buffer-duration"/>
     <keyword type="property" name="The “buffer-size” property" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin--buffer-size"/>
     <keyword type="property" name="The “caps” property" link="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin--caps"/>
@@ -515,61 +515,24 @@
     <keyword type="constant" name="GST_AUDIO_TEST_SRC_WAVE_RED_NOISE" link="gst-plugins-base-plugins-audiotestsrc.html#GST-AUDIO-TEST-SRC-WAVE-RED-NOISE:CAPS"/>
     <keyword type="constant" name="GST_AUDIO_TEST_SRC_WAVE_BLUE_NOISE" link="gst-plugins-base-plugins-audiotestsrc.html#GST-AUDIO-TEST-SRC-WAVE-BLUE-NOISE:CAPS"/>
     <keyword type="constant" name="GST_AUDIO_TEST_SRC_WAVE_VIOLET_NOISE" link="gst-plugins-base-plugins-audiotestsrc.html#GST-AUDIO-TEST-SRC-WAVE-VIOLET-NOISE:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_NONE" link="gst-plugins-base-plugins-multifdsink.html#GST-RECOVER-POLICY-NONE:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_RESYNC_LATEST" link="gst-plugins-base-plugins-multifdsink.html#GST-RECOVER-POLICY-RESYNC-LATEST:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_RESYNC_SOFT_LIMIT" link="gst-plugins-base-plugins-multifdsink.html#GST-RECOVER-POLICY-RESYNC-SOFT-LIMIT:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_RESYNC_KEYFRAME" link="gst-plugins-base-plugins-multifdsink.html#GST-RECOVER-POLICY-RESYNC-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_LATEST" link="gst-plugins-base-plugins-multifdsink.html#GST-SYNC-METHOD-LATEST:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_NEXT_KEYFRAME" link="gst-plugins-base-plugins-multifdsink.html#GST-SYNC-METHOD-NEXT-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_LATEST_KEYFRAME" link="gst-plugins-base-plugins-multifdsink.html#GST-SYNC-METHOD-LATEST-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_BURST" link="gst-plugins-base-plugins-multifdsink.html#GST-SYNC-METHOD-BURST:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_BURST_KEYFRAME" link="gst-plugins-base-plugins-multifdsink.html#GST-SYNC-METHOD-BURST-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_BURST_WITH_KEYFRAME" link="gst-plugins-base-plugins-multifdsink.html#GST-SYNC-METHOD-BURST-WITH-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_OK" link="gst-plugins-base-plugins-multifdsink.html#GST-CLIENT-STATUS-OK:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_CLOSED" link="gst-plugins-base-plugins-multifdsink.html#GST-CLIENT-STATUS-CLOSED:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_REMOVED" link="gst-plugins-base-plugins-multifdsink.html#GST-CLIENT-STATUS-REMOVED:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_SLOW" link="gst-plugins-base-plugins-multifdsink.html#GST-CLIENT-STATUS-SLOW:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_ERROR" link="gst-plugins-base-plugins-multifdsink.html#GST-CLIENT-STATUS-ERROR:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_DUPLICATE" link="gst-plugins-base-plugins-multifdsink.html#GST-CLIENT-STATUS-DUPLICATE:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_FLUSHING" link="gst-plugins-base-plugins-multifdsink.html#GST-CLIENT-STATUS-FLUSHING:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_NONE" link="gst-plugins-base-plugins-multisocketsink.html#GST-RECOVER-POLICY-NONE:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_RESYNC_LATEST" link="gst-plugins-base-plugins-multisocketsink.html#GST-RECOVER-POLICY-RESYNC-LATEST:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_RESYNC_SOFT_LIMIT" link="gst-plugins-base-plugins-multisocketsink.html#GST-RECOVER-POLICY-RESYNC-SOFT-LIMIT:CAPS"/>
-    <keyword type="constant" name="GST_RECOVER_POLICY_RESYNC_KEYFRAME" link="gst-plugins-base-plugins-multisocketsink.html#GST-RECOVER-POLICY-RESYNC-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_LATEST" link="gst-plugins-base-plugins-multisocketsink.html#GST-SYNC-METHOD-LATEST:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_NEXT_KEYFRAME" link="gst-plugins-base-plugins-multisocketsink.html#GST-SYNC-METHOD-NEXT-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_LATEST_KEYFRAME" link="gst-plugins-base-plugins-multisocketsink.html#GST-SYNC-METHOD-LATEST-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_BURST" link="gst-plugins-base-plugins-multisocketsink.html#GST-SYNC-METHOD-BURST:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_BURST_KEYFRAME" link="gst-plugins-base-plugins-multisocketsink.html#GST-SYNC-METHOD-BURST-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_SYNC_METHOD_BURST_WITH_KEYFRAME" link="gst-plugins-base-plugins-multisocketsink.html#GST-SYNC-METHOD-BURST-WITH-KEYFRAME:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_OK" link="gst-plugins-base-plugins-multisocketsink.html#GST-CLIENT-STATUS-OK:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_CLOSED" link="gst-plugins-base-plugins-multisocketsink.html#GST-CLIENT-STATUS-CLOSED:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_REMOVED" link="gst-plugins-base-plugins-multisocketsink.html#GST-CLIENT-STATUS-REMOVED:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_SLOW" link="gst-plugins-base-plugins-multisocketsink.html#GST-CLIENT-STATUS-SLOW:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_ERROR" link="gst-plugins-base-plugins-multisocketsink.html#GST-CLIENT-STATUS-ERROR:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_DUPLICATE" link="gst-plugins-base-plugins-multisocketsink.html#GST-CLIENT-STATUS-DUPLICATE:CAPS"/>
-    <keyword type="constant" name="GST_CLIENT_STATUS_FLUSHING" link="gst-plugins-base-plugins-multisocketsink.html#GST-CLIENT-STATUS-FLUSHING:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_VIDEO" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-VIDEO:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_AUDIO" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-AUDIO:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_TEXT" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-TEXT:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_VIS" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-VIS:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_SOFT_VOLUME" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-SOFT-VOLUME:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_NATIVE_AUDIO" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-NATIVE-AUDIO:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_NATIVE_VIDEO" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-NATIVE-VIDEO:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_DOWNLOAD" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-DOWNLOAD:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_BUFFERING" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-BUFFERING:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_DEINTERLACE" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-DEINTERLACE:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_SOFT_COLORBALANCE" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-SOFT-COLORBALANCE:CAPS"/>
-    <keyword type="constant" name="GST_PLAY_FLAG_FORCE_FILTERS" link="gst-plugins-base-plugins-playbin.html#GST-PLAY-FLAG-FORCE-FILTERS:CAPS"/>
+    <keyword type="constant" name="BITRATE_TYPE_CBR" link="gst-plugins-base-plugins-opusenc.html#BITRATE-TYPE-CBR:CAPS"/>
+    <keyword type="constant" name="BITRATE_TYPE_VBR" link="gst-plugins-base-plugins-opusenc.html#BITRATE-TYPE-VBR:CAPS"/>
+    <keyword type="constant" name="BITRATE_TYPE_CONSTRAINED_VBR" link="gst-plugins-base-plugins-opusenc.html#BITRATE-TYPE-CONSTRAINED-VBR:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_HALIGN_LEFT" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-HALIGN-LEFT:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_HALIGN_CENTER" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-HALIGN-CENTER:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_HALIGN_RIGHT" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-HALIGN-RIGHT:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_LINE_ALIGN_LEFT" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-LINE-ALIGN-LEFT:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_LINE_ALIGN_CENTER" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-LINE-ALIGN-CENTER:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_LINE_ALIGN_RIGHT" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-LINE-ALIGN-RIGHT:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_VALIGN_BASELINE" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-VALIGN-BASELINE:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_VALIGN_BOTTOM" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-VALIGN-BOTTOM:CAPS"/>
+    <keyword type="constant" name="GST_TEXT_RENDER_VALIGN_TOP" link="gst-plugins-base-plugins-textrender.html#GST-TEXT-RENDER-VALIGN-TOP:CAPS"/>
     <keyword type="constant" name="MULTIPASS_MODE_SINGLE_PASS" link="gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-SINGLE-PASS:CAPS"/>
     <keyword type="constant" name="MULTIPASS_MODE_FIRST_PASS" link="gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-FIRST-PASS:CAPS"/>
     <keyword type="constant" name="MULTIPASS_MODE_SECOND_PASS" link="gst-plugins-base-plugins-theoraenc.html#MULTIPASS-MODE-SECOND-PASS:CAPS"/>
     <keyword type="constant" name="GST_TIME_OVERLAY_TIME_LINE_BUFFER_TIME" link="gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-BUFFER-TIME:CAPS"/>
     <keyword type="constant" name="GST_TIME_OVERLAY_TIME_LINE_STREAM_TIME" link="gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-STREAM-TIME:CAPS"/>
     <keyword type="constant" name="GST_TIME_OVERLAY_TIME_LINE_RUNNING_TIME" link="gst-plugins-base-plugins-timeoverlay.html#GST-TIME-OVERLAY-TIME-LINE-RUNNING-TIME:CAPS"/>
-    <keyword type="constant" name="GST_AUTOPLUG_SELECT_TRY" link="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"/>
-    <keyword type="constant" name="GST_AUTOPLUG_SELECT_EXPOSE" link="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-EXPOSE:CAPS"/>
-    <keyword type="constant" name="GST_AUTOPLUG_SELECT_SKIP" link="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-SKIP:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_SCALE_NEAREST" link="gst-plugins-base-plugins-videoscale.html#GST-VIDEO-SCALE-NEAREST:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_SCALE_BILINEAR" link="gst-plugins-base-plugins-videoscale.html#GST-VIDEO-SCALE-BILINEAR:CAPS"/>
     <keyword type="constant" name="GST_VIDEO_SCALE_4TAP" link="gst-plugins-base-plugins-videoscale.html#GST-VIDEO-SCALE-4TAP:CAPS"/>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-alsamidisrc.html b/docs/plugins/html/gst-plugins-base-plugins-alsamidisrc.html
index 6eccbc8..cc67f87 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsamidisrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsamidisrc.html
@@ -75,10 +75,29 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-alsamidisrc.description"></a><h2>Description</h2>
+<p>The alsamidisrc element is an element that fetches ALSA MIDI sequencer
+events and makes them available to elements understanding
+audio/x-midi-events in their sink pads.</p>
+<p>It can be used to generate notes from a MIDI input device.</p>
+<div class="refsect2">
+<a name="id-1.2.3.7.4"></a><h3>Example launch line</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch <span class="gtkdoc opt">-</span>v alsamidisrc ports<span class="gtkdoc opt">=</span><span class="number">129</span><span class="gtkdoc opt">:</span><span class="number">0</span> <span class="gtkdoc opt">!</span> fluiddec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline will listen for events from the sequencer device at port 129:0,
+and generate notes using the fluiddec element.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.3.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.3.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +123,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.3.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.3.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -141,6 +160,7 @@
 <div class="refsect2">
 <a name="GstAlsaMidiSrc-struct"></a><h3>struct GstAlsaMidiSrc</h3>
 <pre class="programlisting">struct GstAlsaMidiSrc;</pre>
+<p>Opaque <a class="link" href="gst-plugins-base-plugins-alsamidisrc.html#GstAlsaMidiSrc"><span class="type">GstAlsaMidiSrc</span></a> data structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -153,6 +173,10 @@
 <p>Default value: NULL</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-alsamidisrc.see-also"></a><h2>See Also</h2>
+<p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstPushSrc.html#GstPushSrc-struct"><span class="type">GstPushSrc</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-alsasink.html b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
index 77d354c..8ac5951 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasink.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
 <link rel="prev" href="gst-plugins-base-plugins-alsamidisrc.html" title="alsamidisrc">
-<link rel="next" href="gst-plugins-base-plugins-alsasrc.html" title="alsasrc">
+<link rel="next" href="gst-plugins-base-plugins-appsink.html" title="appsink">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -22,7 +22,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-base-plugins-alsamidisrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-alsasrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-appsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-alsasink"></a><div class="titlepage"></div>
@@ -90,10 +90,25 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-alsasink.description"></a><h2>Description</h2>
+<p>This element renders audio samples using the ALSA audio API.</p>
+<div class="refsect2">
+<a name="id-1.2.4.7.3"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v uridecodebin uri<span class="gtkdoc opt">=</span>file<span class="gtkdoc opt">:</span><span class="gtkdoc slc">///path/to/audio.ogg ! audioconvert ! audioresample ! autoaudiosink</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Play an Ogg/Vorbis file and output audio via ALSA.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.4.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.4.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -119,7 +134,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.4.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.4.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -172,6 +187,7 @@
 <div class="refsect2">
 <a name="GstAlsaSink-struct"></a><h3>struct GstAlsaSink</h3>
 <pre class="programlisting">struct GstAlsaSink;</pre>
+<p>Opaque data structure</p>
 </div>
 </div>
 <div class="refsect1">
@@ -200,6 +216,10 @@
 <p>Default value: ""</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-alsasink.see-also"></a><h2>See Also</h2>
+<p>alsasrc</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html b/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
index 1ce9fb2..54ea73f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-alsasrc.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-alsasink.html" title="alsasink">
-<link rel="next" href="gst-plugins-base-plugins-appsink.html" title="appsink">
+<link rel="prev" href="gst-plugins-base-plugins-appsink.html" title="appsink">
+<link rel="next" href="gst-plugins-base-plugins-appsrc.html" title="appsrc">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,8 +21,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-alsasink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-appsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-appsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-appsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-alsasrc"></a><div class="titlepage"></div>
@@ -91,10 +91,25 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-alsasrc.description"></a><h2>Description</h2>
+<p>This element reads data from an audio card using the ALSA API.</p>
+<div class="refsect2">
+<a name="id-1.2.6.7.3"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v alsasrc <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> vorbisenc <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>alsasrc<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Record from a sound card using ALSA and encode to Ogg/Vorbis.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.5.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.6.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +135,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.5.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.6.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -157,6 +172,7 @@
 <div class="refsect2">
 <a name="GstAlsaSrc-struct"></a><h3>struct GstAlsaSrc</h3>
 <pre class="programlisting">struct GstAlsaSrc;</pre>
+<p>Opaque data structure</p>
 </div>
 </div>
 <div class="refsect1">
@@ -185,6 +201,10 @@
 <p>Default value: ""</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-alsasrc.see-also"></a><h2>See Also</h2>
+<p>alsasink</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-appsink.html b/docs/plugins/html/gst-plugins-base-plugins-appsink.html
index 5169cdf..2166800 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsink.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-alsasrc.html" title="alsasrc">
-<link rel="next" href="gst-plugins-base-plugins-appsrc.html" title="appsrc">
+<link rel="prev" href="gst-plugins-base-plugins-alsasink.html" title="alsasink">
+<link rel="next" href="gst-plugins-base-plugins-alsasrc.html" title="alsasrc">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -23,8 +23,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-alsasrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-base-plugins-appsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-alsasink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-base-plugins-alsasrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-base-plugins-appsink"></a><div class="titlepage"></div>
@@ -157,7 +157,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.6.9.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.5.9.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -183,7 +183,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.6.9.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.5.9.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-appsrc.html b/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
index 5877cde..aef1122 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-appsrc.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
-<link rel="prev" href="gst-plugins-base-plugins-appsink.html" title="appsink">
+<link rel="prev" href="gst-plugins-base-plugins-alsasrc.html" title="alsasrc">
 <link rel="next" href="gst-plugins-base-plugins-audioconvert.html" title="audioconvert">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -23,7 +23,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-base-plugins-appsink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-base-plugins-alsasrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-base-plugins-audioconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -105,6 +105,11 @@
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc--stream-type" title="The “stream-type” property">stream-type</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-appsrc.html#GstAppSrc--duration" title="The “duration” property">duration</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -355,6 +360,14 @@
 <p>Flags: Read / Write</p>
 <p>Default value: GST_APP_STREAM_TYPE_STREAM</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstAppSrc--duration"></a><h3>The <code class="literal">“duration”</code> property</h3>
+<pre class="programlisting">  “duration”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
+<p>The duration of the data stream in nanoseconds (GST_CLOCK_TIME_NONE if unknown).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 18446744073709551615</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-appsrc.signal-details"></a><h2>Signal Details</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-audioresample.html b/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
index feab78d..9106cfa 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-audioresample.html
@@ -53,10 +53,20 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><span class="type">SpeexResamplerSincFilterMode</span></td>
+<td class="property_type"><span class="type">GstAudioResamplerFilterMode</span></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-audioresample.html#GstAudioResample--sinc-filter-mode" title="The “sinc-filter-mode” property">sinc-filter-mode</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
+<tr>
+<td class="property_type"><span class="type">GstAudioResamplerMethod</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-audioresample.html#GstAudioResample--resample-method" title="The “resample-method” property">resample-method</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstAudioResamplerFilterInterpolation</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-base-plugins-audioresample.html#GstAudioResample--sinc-filter-interpolation" title="The “sinc-filter-interpolation” property">sinc-filter-interpolation</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -160,7 +170,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</td>
+<td>audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</td>
 </tr>
 </tbody>
 </table></div>
@@ -184,7 +194,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</td>
+<td>audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</td>
 </tr>
 </tbody>
 </table></div>
@@ -224,10 +234,26 @@
 <hr>
 <div class="refsect2">
 <a name="GstAudioResample--sinc-filter-mode"></a><h3>The <code class="literal">“sinc-filter-mode”</code> property</h3>
-<pre class="programlisting">  “sinc-filter-mode”         <span class="type">SpeexResamplerSincFilterMode</span></pre>
+<pre class="programlisting">  “sinc-filter-mode”         <span class="type">GstAudioResamplerFilterMode</span></pre>
 <p>What sinc filter table mode to use.</p>
 <p>Flags: Read / Write</p>
-<p>Default value: Use full table if table size below threshold</p>
+<p>Default value: GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioResample--resample-method"></a><h3>The <code class="literal">“resample-method”</code> property</h3>
+<pre class="programlisting">  “resample-method”          <span class="type">GstAudioResamplerMethod</span></pre>
+<p>What resample method to use.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_AUDIO_RESAMPLER_METHOD_KAISER</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioResample--sinc-filter-interpolation"></a><h3>The <code class="literal">“sinc-filter-interpolation”</code> property</h3>
+<pre class="programlisting">  “sinc-filter-interpolation” <span class="type">GstAudioResamplerFilterInterpolation</span></pre>
+<p>How to interpolate the sinc filter table.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC</p>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html b/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
index d1abe49..e057f5b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-cdparanoiasrc.html
@@ -194,6 +194,7 @@
 <div class="refsect2">
 <a name="GstCdParanoiaSrc-struct"></a><h3>struct GstCdParanoiaSrc</h3>
 <pre class="programlisting">struct GstCdParanoiaSrc;</pre>
+<p>The cdparanoia object structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -201,7 +202,7 @@
 <div class="refsect2">
 <a name="GstCdParanoiaSrc--cache-size"></a><h3>The <code class="literal">“cache-size”</code> property</h3>
 <pre class="programlisting">  “cache-size”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
-<p>Set CD cache size to n sectors (-1 = auto).</p>
+<p>Set CD cache size to n sectors (-1 = auto)</p>
 <p>Flags: Read / Write</p>
 <p>Allowed values: &gt;= G_MAXULONG</p>
 <p>Default value: -1</p>
@@ -246,18 +247,76 @@
 <div class="refsect2">
 <a name="GstCdParanoiaSrc-transport-error"></a><h3>The <code class="literal">“transport-error”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc"><span class="type">GstCdParanoiaSrc</span></a> *gstcdparanoiasrc,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>              arg1,
+user_function (<a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc"><span class="type">GstCdParanoiaSrc</span></a> *cdparanoia,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>              sector,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>          user_data)</pre>
+<p>This signal is emitted whenever an error occurs while reading.
+CdParanoia will attempt to recover the data.</p>
+<div class="refsect3">
+<a name="GstCdParanoiaSrc-transport-error.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" 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>cdparanoia</p></td>
+<td class="parameter_description"><p>The CdParanoia instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sector</p></td>
+<td class="parameter_description"><p>The sector number at which the error was encountered.</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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstCdParanoiaSrc-uncorrected-error"></a><h3>The <code class="literal">“uncorrected-error”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc"><span class="type">GstCdParanoiaSrc</span></a> *gstcdparanoiasrc,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>              arg1,
+user_function (<a class="link" href="gst-plugins-base-plugins-cdparanoiasrc.html#GstCdParanoiaSrc"><span class="type">GstCdParanoiaSrc</span></a> *cdparanoia,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>              sector,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>          user_data)</pre>
+<p>This signal is emitted whenever an uncorrectable error occurs while
+reading. The data could not be read.</p>
+<div class="refsect3">
+<a name="GstCdParanoiaSrc-uncorrected-error.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" 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>cdparanoia</p></td>
+<td class="parameter_description"><p>The CdParanoia instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sector</p></td>
+<td class="parameter_description"><p>The sector number at which the error was encountered.</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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </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 7a7d8dd..d7c0dbc 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-clockoverlay.html
@@ -74,10 +74,43 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-clockoverlay.description"></a><h2>Description</h2>
+<p>This element overlays the current clock time on top of a video
+stream. You can position the text and configure the font details
+using the properties of the <span class="type">GstBaseTextOverlay</span> class. By default, the
+time is displayed in the top left corner of the picture, with some
+padding to the left and to the top.</p>
+<div class="refsect2">
+<a name="id-1.2.13.7.3"></a><h3>Example launch lines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> clockoverlay <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Display the current wall clock time in the top left corner of the video picture
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> clockoverlay halignment<span class="gtkdoc opt">=</span>right valignment<span class="gtkdoc opt">=</span>bottom text<span class="gtkdoc opt">=</span><span class="string">&quot;Edge City&quot;</span> shaded<span class="gtkdoc opt">-</span>background<span class="gtkdoc opt">=</span><span class="keyword">true</span> font<span class="gtkdoc opt">-</span>desc<span class="gtkdoc opt">=</span><span class="string">&quot;Sans, 36&quot;</span> <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Another pipeline that displays the current time with some leading
+text in the bottom right corner of the video picture, with the background
+of the text being shaded in order to make it more legible on top of a
+bright video background.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.13.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.13.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -103,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.13.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.13.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -128,7 +161,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -156,7 +189,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -172,6 +205,7 @@
 <div class="refsect2">
 <a name="GstClockOverlay-struct"></a><h3>struct GstClockOverlay</h3>
 <pre class="programlisting">struct GstClockOverlay;</pre>
+<p>Opaque clockoverlay data structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -184,6 +218,10 @@
 <p>Default value: "%H:%M:%S"</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-clockoverlay.see-also"></a><h2>See Also</h2>
+<p><span class="type">GstBaseTextOverlay</span>, <a class="link" href="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay"><span class="type">GstTimeOverlay</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-decodebin.html b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
index c8a154c..d934a88 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-decodebin.html
@@ -136,7 +136,7 @@
 <td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobjectgobject-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_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#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"><a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
@@ -566,7 +566,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstDecodeBin-autoplug-select"></a><h3>The <code class="literal">“autoplug-select”</code> signal</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult" title="enum GstAutoplugSelectResult"><span class="returnvalue">GstAutoplugSelectResult</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult"><span class="returnvalue">GstAutoplugSelectResult</span></a>
 user_function (<a class="link" href="gst-plugins-base-plugins-decodebin.html#GstDecodeBin"><span class="type">GstDecodeBin</span></a>      *bin,
                <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a>            *pad,
                <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>           *caps,
@@ -578,13 +578,13 @@
 those factories, this signal is emitted.</p>
 <p>The signal handler should return a <span class="type">GST_TYPE_AUTOPLUG_SELECT_RESULT</span> enum
 value indicating what decodebin should do next.</p>
-<p>A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a> will try to autoplug an element from
+<p>A value of <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a> will try to autoplug an element from
 <em class="parameter"><code>factory</code></em>
 .</p>
-<p>A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-EXPOSE:CAPS"><span class="type">GST_AUTOPLUG_SELECT_EXPOSE</span></a> will expose <em class="parameter"><code>pad</code></em>
+<p>A value of <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-EXPOSE:CAPS"><span class="type">GST_AUTOPLUG_SELECT_EXPOSE</span></a> will expose <em class="parameter"><code>pad</code></em>
  without plugging
 any element to it.</p>
-<p>A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-SKIP:CAPS"><span class="type">GST_AUTOPLUG_SELECT_SKIP</span></a> will skip <em class="parameter"><code>factory</code></em>
+<p>A value of <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-SKIP:CAPS"><span class="type">GST_AUTOPLUG_SELECT_SKIP</span></a> will skip <em class="parameter"><code>factory</code></em>
  and move to the
 next factory.</p>
 <div class="note">
@@ -635,7 +635,7 @@
 <a name="GstDecodeBin-autoplug-select.returns"></a><h4>Returns</h4>
 <p> a <span class="type">GST_TYPE_AUTOPLUG_SELECT_RESULT</span> that indicates the required
 operation. the default handler will always return
-<a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</p>
+<a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</p>
 </div>
 <p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html b/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
index 417635d..747143d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multifdsink.html
@@ -109,24 +109,10 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstMultiFdSink-struct" title="struct GstMultiFdSink">GstMultiFdSink</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstRecoverPolicy" title="enum GstRecoverPolicy">GstRecoverPolicy</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstSyncMethod" title="enum GstSyncMethod">GstSyncMethod</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstClientStatus" title="enum GstClientStatus">GstClientStatus</a></td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -274,182 +260,6 @@
 <pre class="programlisting">struct GstMultiFdSink;</pre>
 <p>The multifdsink object structure.</p>
 </div>
-<hr>
-<div class="refsect2">
-<a name="GstRecoverPolicy"></a><h3>enum GstRecoverPolicy</h3>
-<p>Possible values for the recovery procedure to use when a client consumes
-data too slow and has a backlag of more that soft-limit buffers.</p>
-<div class="refsect3">
-<a name="GstRecoverPolicy.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-RECOVER-POLICY-NONE:CAPS"></a>GST_RECOVER_POLICY_NONE</p></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">
-<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">
-<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">
-<p>client is moved to latest keyframe</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstSyncMethod"></a><h3>enum GstSyncMethod</h3>
-<p>This enum defines the selection of the first buffer that is sent
-to a new client.</p>
-<div class="refsect3">
-<a name="GstSyncMethod.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-SYNC-METHOD-LATEST:CAPS"></a>GST_SYNC_METHOD_LATEST</p></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">
-<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">
-<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">
-<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">
-<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">
-<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>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstClientStatus"></a><h3>enum GstClientStatus</h3>
-<p>This specifies the reason why a client was removed from
-multisocketsink and is received in the "client-removed" signal.</p>
-<div class="refsect3">
-<a name="GstClientStatus.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-CLIENT-STATUS-OK:CAPS"></a>GST_CLIENT_STATUS_OK</p></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">
-<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">
-<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">
-<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">
-<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">
-<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">
-<p>client is flushing out the remaining buffers.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-multifdsink.property-details"></a><h2>Property Details</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
index a531d65..147ea7e 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-multisocketsink.html
@@ -116,24 +116,10 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-multisocketsink.html#GstMultiSocketSink-struct" title="struct GstMultiSocketSink">GstMultiSocketSink</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstRecoverPolicy" title="enum GstRecoverPolicy">GstRecoverPolicy</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstSyncMethod" title="enum GstSyncMethod">GstSyncMethod</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-multifdsink.html#GstClientStatus" title="enum GstClientStatus">GstClientStatus</a></td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -280,182 +266,6 @@
 <pre class="programlisting">struct GstMultiSocketSink;</pre>
 <p>The multisocketsink object structure.</p>
 </div>
-<hr>
-<div class="refsect2">
-<a name="GstRecoverPolicy"></a><h3>enum GstRecoverPolicy</h3>
-<p>Possible values for the recovery procedure to use when a client consumes
-data too slow and has a backlag of more that soft-limit buffers.</p>
-<div class="refsect3">
-<a name="GstRecoverPolicy.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-RECOVER-POLICY-NONE:CAPS"></a>GST_RECOVER_POLICY_NONE</p></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">
-<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">
-<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">
-<p>client is moved to latest keyframe</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstSyncMethod"></a><h3>enum GstSyncMethod</h3>
-<p>This enum defines the selection of the first buffer that is sent
-to a new client.</p>
-<div class="refsect3">
-<a name="GstSyncMethod.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-SYNC-METHOD-LATEST:CAPS"></a>GST_SYNC_METHOD_LATEST</p></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">
-<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">
-<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">
-<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">
-<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">
-<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>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstClientStatus"></a><h3>enum GstClientStatus</h3>
-<p>This specifies the reason why a client was removed from
-multisocketsink and is received in the "client-removed" signal.</p>
-<div class="refsect3">
-<a name="GstClientStatus.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-CLIENT-STATUS-OK:CAPS"></a>GST_CLIENT_STATUS_OK</p></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">
-<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">
-<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">
-<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">
-<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">
-<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">
-<p>client is flushing out the remaining buffers.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-multisocketsink.property-details"></a><h2>Property Details</h2>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
index 8fa9023..16fc605 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggdemux.html
@@ -56,10 +56,25 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-oggdemux.description"></a><h2>Description</h2>
+<p>This element demuxes ogg files into their encoded audio and video components.</p>
+<div class="refsect2">
+<a name="id-1.2.23.6.3"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>test<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> vorbisdec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Decodes a vorbis audio stream stored inside an ogg container and plays it.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.23.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.23.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -85,7 +100,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.23.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.23.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -158,8 +173,13 @@
 <div class="refsect2">
 <a name="GstOggDemux-struct"></a><h3>struct GstOggDemux</h3>
 <pre class="programlisting">struct GstOggDemux;</pre>
+<p>The ogg demuxer object structure.</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggdemux.see-also"></a><h2>See Also</h2>
+<a class="link" href="gst-plugins-base-plugins-oggmux.html" title="oggmux">oggmux</a>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-oggmux.html b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
index c8d2b57..1b35fb6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-oggmux.html
@@ -96,10 +96,26 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-oggmux.description"></a><h2>Description</h2>
+<p>This element merges streams (audio and video) into ogg files.</p>
+<div class="refsect2">
+<a name="id-1.2.24.8.3"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> v4l2src num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">500</span> <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> videorate <span class="gtkdoc opt">!</span> theoraenc <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>video<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Encodes a video stream captured from a v4l2-compatible camera to Ogg/Theora
+(the encoding will stop automatically after 500 frames)
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.24.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.24.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -125,7 +141,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.24.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -290,6 +306,7 @@
 <div class="refsect2">
 <a name="GstOggMux-struct"></a><h3>struct GstOggMux</h3>
 <pre class="programlisting">struct GstOggMux;</pre>
+<p>The ogg muxer object structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -326,6 +343,10 @@
 <p>Default value: FALSE</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-oggmux.see-also"></a><h2>See Also</h2>
+<a class="link" href="gst-plugins-base-plugins-oggdemux.html" title="oggdemux">oggdemux</a>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-opusdec.html b/docs/plugins/html/gst-plugins-base-plugins-opusdec.html
index eebfa19..321d803 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-opusdec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-opusdec.html
@@ -80,10 +80,25 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-opusdec.description"></a><h2>Description</h2>
+<p>This element decodes a OPUS stream to raw integer audio.</p>
+<div class="refsect2">
+<a name="id-1.2.29.7.3"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>opus<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> opusdec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> alsasink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Decode an Ogg/Opus file. To create an Ogg/Opus file refer to the documentation of opusenc.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.29.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.29.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -109,7 +124,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.29.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.29.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -194,6 +209,10 @@
 <p>Default value: FALSE</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-opusdec.see-also"></a><h2>See Also</h2>
+<p>opusenc, oggdemux</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-opusenc.html b/docs/plugins/html/gst-plugins-base-plugins-opusenc.html
index 877f44d..3d90508 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-opusenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-opusenc.html
@@ -16,7 +16,8 @@
 <td width="100%" align="left" class="shortcuts">
 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                   <a href="#gst-plugins-base-plugins-opusenc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-base-plugins-opusenc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-opusenc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-base-plugins-opusenc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-base-plugins-opusenc.properties" class="shortcut">Properties</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
@@ -63,7 +64,7 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><span class="type">GstOpusEncBitrateType</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-base-plugins-opusenc.html#GstOpusEncBitrateType" title="enum GstOpusEncBitrateType"><span class="type">GstOpusEncBitrateType</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-opusenc.html#GstOpusEnc--bitrate-type" title="The “bitrate-type” property">bitrate-type</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -110,17 +111,23 @@
 </tbody>
 </table></div>
 </div>
-<a name="GstOpusDec"></a><a name="GstOpusEnc"></a><div class="refsect1">
+<a name="GstOpusEnc"></a><div class="refsect1">
 <a name="gst-plugins-base-plugins-opusenc.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-opusenc.html#GstOpusEnc-struct" title="struct GstOpusEnc">GstOpusEnc</a></td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-opusenc.html#GstOpusEncBitrateType" title="enum GstOpusEncBitrateType">GstOpusEncBitrateType</a></td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -134,11 +141,32 @@
 </pre>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-base-plugins-opusenc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstOpusEnc implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPreset.html#GstPreset-struct">GstPreset</a> and  <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagSetter.html#GstTagSetter-struct">GstTagSetter</a>.</p>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-base-plugins-opusenc.description"></a><h2>Description</h2>
+<p>This element encodes raw audio to OPUS.</p>
+<div class="refsect2">
+<a name="id-1.2.30.8.3"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v audiotestsrc wave<span class="gtkdoc opt">=</span>sine num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> opusenc <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Encode a test sine signal to Ogg/OPUS.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.30.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.30.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -164,7 +192,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.30.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.30.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -230,6 +258,37 @@
 <a name="GstOpusEnc-struct"></a><h3>struct GstOpusEnc</h3>
 <pre class="programlisting">struct GstOpusEnc;</pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstOpusEncBitrateType"></a><h3>enum GstOpusEncBitrateType</h3>
+<div class="refsect3">
+<a name="GstOpusEncBitrateType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" 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="BITRATE-TYPE-CBR:CAPS"></a>BITRATE_TYPE_CBR</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BITRATE-TYPE-VBR:CAPS"></a>BITRATE_TYPE_VBR</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BITRATE-TYPE-CONSTRAINED-VBR:CAPS"></a>BITRATE_TYPE_CONSTRAINED_VBR</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-opusenc.property-details"></a><h2>Property Details</h2>
@@ -268,7 +327,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstOpusEnc--bitrate-type"></a><h3>The <code class="literal">“bitrate-type”</code> property</h3>
-<pre class="programlisting">  “bitrate-type”             <span class="type">GstOpusEncBitrateType</span></pre>
+<pre class="programlisting">  “bitrate-type”             <a class="link" href="gst-plugins-base-plugins-opusenc.html#GstOpusEncBitrateType" title="enum GstOpusEncBitrateType"><span class="type">GstOpusEncBitrateType</span></a></pre>
 <p>Bitrate type.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: CBR</p>
@@ -341,6 +400,10 @@
 <p>Default value: 0</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-opusenc.see-also"></a><h2>See Also</h2>
+<p>opusdec, oggmux</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-playbin.html b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
index 2406333..f685c41 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-playbin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-playbin.html
@@ -104,7 +104,7 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a></td>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-playbin.html#GstPlayFlags"><span class="type">GstPlayFlags</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--flags" title="The “flags” property">flags</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -325,6 +325,11 @@
 <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"><a href="/usr/share/gtk-doc/html/gobjectgobject-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-element-setup" title="The “element-setup” signal">element-setup</a></td>
+<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -335,16 +340,10 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-struct" title="struct GstPlayBin">GstPlayBin</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags">GstPlayFlags</a></td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -646,112 +645,6 @@
 <pre class="programlisting">struct GstPlayBin;</pre>
 <p>playbin element structure</p>
 </div>
-<hr>
-<div class="refsect2">
-<a name="GstPlayFlags"></a><h3>enum GstPlayFlags</h3>
-<p>Extra flags to configure the behaviour of the sinks.</p>
-<div class="refsect3">
-<a name="GstPlayFlags.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-PLAY-FLAG-VIDEO:CAPS"></a>GST_PLAY_FLAG_VIDEO</p></td>
-<td class="enum_member_description">
-<p>Enable rendering of the video stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-AUDIO:CAPS"></a>GST_PLAY_FLAG_AUDIO</p></td>
-<td class="enum_member_description">
-<p>Enable rendering of the audio stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-TEXT:CAPS"></a>GST_PLAY_FLAG_TEXT</p></td>
-<td class="enum_member_description">
-<p>Enable rendering of subtitles</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-VIS:CAPS"></a>GST_PLAY_FLAG_VIS</p></td>
-<td class="enum_member_description">
-<p>Enable rendering of visualisations when there is
-      no video stream.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-SOFT-VOLUME:CAPS"></a>GST_PLAY_FLAG_SOFT_VOLUME</p></td>
-<td class="enum_member_description">
-<p>Use software volume</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-NATIVE-AUDIO:CAPS"></a>GST_PLAY_FLAG_NATIVE_AUDIO</p></td>
-<td class="enum_member_description">
-<p>only allow native audio formats, this omits
-  configuration of audioconvert and audioresample.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-NATIVE-VIDEO:CAPS"></a>GST_PLAY_FLAG_NATIVE_VIDEO</p></td>
-<td class="enum_member_description">
-<p>only allow native video formats, this omits
-  configuration of videoconvert and videoscale.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-DOWNLOAD:CAPS"></a>GST_PLAY_FLAG_DOWNLOAD</p></td>
-<td class="enum_member_description">
-<p>enable progressice download buffering for selected
-  formats.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-BUFFERING:CAPS"></a>GST_PLAY_FLAG_BUFFERING</p></td>
-<td class="enum_member_description">
-<p>enable buffering of the demuxed or parsed data.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-DEINTERLACE:CAPS"></a>GST_PLAY_FLAG_DEINTERLACE</p></td>
-<td class="enum_member_description">
-<p>deinterlace raw video (if native not forced).</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-SOFT-COLORBALANCE:CAPS"></a>GST_PLAY_FLAG_SOFT_COLORBALANCE</p></td>
-<td class="enum_member_description">
-<p>Use a software filter for colour balance</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-PLAY-FLAG-FORCE-FILTERS:CAPS"></a>GST_PLAY_FLAG_FORCE_FILTERS</p></td>
-<td class="enum_member_description">
-<p>force audio/video filters to be applied if
-  set.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-playbin.property-details"></a><h2>Property Details</h2>
@@ -855,7 +748,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstPlayBin--flags"></a><h3>The <code class="literal">“flags”</code> property</h3>
-<pre class="programlisting">  “flags”                    <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a></pre>
+<pre class="programlisting">  “flags”                    <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-playbin.html#GstPlayFlags"><span class="type">GstPlayFlags</span></a></pre>
 <p>Control the behaviour of playbin.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Render the video stream|Render the audio stream|Render subtitles|Use software volume|Deinterlace video if necessary|Use software color balance</p>
@@ -1657,6 +1550,50 @@
 </div>
 <p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstPlayBin-element-setup"></a><h3>The <code class="literal">“element-setup”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *element,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
+<p>This signal is emitted when a new element is added to playbin or any of
+its sub-bins. This signal can be used to configure elements, e.g. to set
+properties on decoders. This is functionally equivalent to connecting to
+the deep-element-added signal, but more convenient.</p>
+<p>This signal is usually emitted from the context of a GStreamer streaming
+thread, so might be called at the same time as code running in the main
+application thread.</p>
+<div class="refsect3">
+<a name="GstPlayBin-element-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" 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>playbin</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>an element that was added to the playbin hierarchy</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: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+<p class="since">Since: 1.10</p>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-playsink.html b/docs/plugins/html/gst-plugins-base-plugins-playsink.html
index b3fc5ae..eb106ea 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-playsink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-playsink.html
@@ -56,7 +56,7 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a></td>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-playbin.html#GstPlayFlags"><span class="type">GstPlayFlags</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-playsink.html#GstPlaySink--flags" title="The “flags” property">flags</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -371,7 +371,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstPlaySink--flags"></a><h3>The <code class="literal">“flags”</code> property</h3>
-<pre class="programlisting">  “flags”                    <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a></pre>
+<pre class="programlisting">  “flags”                    <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-playbin.html#GstPlayFlags"><span class="type">GstPlayFlags</span></a></pre>
 <p>Control the behaviour of playsink.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Render the video stream|Render the audio stream|Render subtitles|Use software volume|Use software color balance</p>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
index e679e74..1595d8d 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.8.2</td>
+<td>1.9.1</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 88d2a69..cf072fa 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.8.2</td>
+<td>1.9.1</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 31a2a04..0152f02 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.8.2</td>
+<td>1.9.1</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 293e441..7784e29 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.8.2</td>
+<td>1.9.1</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 0f8c569..bb36fd9 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.8.2</td>
+<td>1.9.1</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 3960cb2..2a71487 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.8.2</td>
+<td>1.9.1</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 b2fbeb6..69eae90 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.8.2</td>
+<td>1.9.1</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 4c04796..18cb922 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.8.2</td>
+<td>1.9.1</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 34a68bd..90bfc7e 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.8.2</td>
+<td>1.9.1</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 fb9c493..91184b8 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.8.2</td>
+<td>1.9.1</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 eff6768..61a0fd4 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.8.2</td>
+<td>1.9.1</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 1471ceb..6cb2a20 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.8.2</td>
+<td>1.9.1</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-opus.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-opus.html
index bfcea78..cddf25b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-opus.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-opus.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.9.1</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 b7f9974..02f3d71 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.8.2</td>
+<td>1.9.1</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 bd0ae43..a9a52be 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -72,10 +72,22 @@
 <td>Autoplug and decode to raw media</td>
 </tr>
 <tr>
+<td><p><span class="term">decodebin3</span></p></td>
+<td>Autoplug and decode to raw media</td>
+</tr>
+<tr>
+<td><p><span class="term">parsebin</span></p></td>
+<td>Parse and de-multiplex to elementary stream</td>
+</tr>
+<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-playbin.html" title="playbin">playbin</a></span></p></td>
 <td>Autoplug and play media from an uri</td>
 </tr>
 <tr>
+<td><p><span class="term">playbin3</span></p></td>
+<td>Autoplug and play media from an uri</td>
+</tr>
+<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-playsink.html" title="playsink">playsink</a></span></p></td>
 <td>Convenience sink for multiple streams</td>
 </tr>
@@ -91,6 +103,10 @@
 <td><p><span class="term"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html" title="uridecodebin">uridecodebin</a></span></p></td>
 <td>Autoplug and decode an URI to raw media</td>
 </tr>
+<tr>
+<td><p><span class="term">urisourcebin</span></p></td>
+<td>Download and buffer a URI as needed</td>
+</tr>
 </tbody>
 </table></div>
 </div>
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 5cc5780..6ba29ef 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.8.2</td>
+<td>1.9.1</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 a20e35d..fc5d5c0 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.8.2</td>
+<td>1.9.1</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 78ef059..9dc867b 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.8.2</td>
+<td>1.9.1</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 689f98d..fa93cb7 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.8.2</td>
+<td>1.9.1</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 60e8e0a..fbe7731 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.8.2</td>
+<td>1.9.1</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 63bd6a2..d16d01e 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.8.2</td>
+<td>1.9.1</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 68969ca..d395a0b 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.8.2</td>
+<td>1.9.1</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 b4f6b45..4dda9c4 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.8.2</td>
+<td>1.9.1</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 648e71f..78478aa 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.8.2</td>
+<td>1.9.1</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 6b4db95..de71dfb 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.8.2</td>
+<td>1.9.1</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 2cdbe2e..fb5e75c 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.8.2</td>
+<td>1.9.1</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 9c394f4..b05f7a9 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.8.2</td>
+<td>1.9.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-subparse.html b/docs/plugins/html/gst-plugins-base-plugins-subparse.html
index e897d85..35cbcb6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-subparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-subparse.html
@@ -156,6 +156,10 @@
 <td><p><span class="term"></span></p></td>
 <td> application/x-subtitle-lrc</td>
 </tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> application/x-subtitle-vtt</td>
+</tr>
 </tbody>
 </table></div>
 <div class="variablelist"><table border="0" class="variablelist">
diff --git a/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
index 04e0475..b2c3624 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textoverlay.html
@@ -57,10 +57,87 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-textoverlay.description"></a><h2>Description</h2>
+<p>This plugin renders text on top of a video stream. This can be either
+static text or text from buffers received on the text sink pad, e.g.
+as produced by the subparse element. If the text sink pad is not linked,
+the text set via the "text" property will be rendered. If the text sink
+pad is linked, text will be rendered as it is received on that pad,
+honouring and matching the buffer timestamps of both input streams.</p>
+<p>The text can contain newline characters and text wrapping is enabled by
+default.</p>
+<div class="refsect2">
+<a name="id-1.2.42.6.4"></a><h3>Example launch lines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> videotestsrc <span class="gtkdoc opt">!</span> textoverlay text<span class="gtkdoc opt">=</span><span class="string">&quot;Room A&quot;</span> valignment<span class="gtkdoc opt">=</span>top halignment<span class="gtkdoc opt">=</span>left font<span class="gtkdoc opt">-</span>desc<span class="gtkdoc opt">=</span><span class="string">&quot;Sans, 72&quot;</span> <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Here is a simple pipeline that displays a static text in the top left
+corner of the video picture
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>subtitles<span class="gtkdoc opt">.</span>srt <span class="gtkdoc opt">!</span> subparse <span class="gtkdoc opt">!</span> txt<span class="gtkdoc opt">.</span>   videotestsrc <span class="gtkdoc opt">!</span> timeoverlay <span class="gtkdoc opt">!</span> textoverlay name<span class="gtkdoc opt">=</span>txt shaded<span class="gtkdoc opt">-</span>background<span class="gtkdoc opt">=</span>yes <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Here is another pipeline that displays subtitles from an .srt subtitle
+file, centered at the bottom of the picture and with a rectangular shading
+around the text in the background:
+<p>
+If you do not have such a subtitle file, create one looking like this
+in a text editor:
+</p>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13</pre></td>
+        <td class="listing_code"><pre class="programlisting"><span class="number">1</span>
+<span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">03</span><span class="gtkdoc opt">,</span><span class="number">000</span> <span class="gtkdoc opt">--&gt;</span> <span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">05</span><span class="gtkdoc opt">,</span><span class="number">000</span>
+Hello? <span class="gtkdoc opt">(</span><span class="number">3</span><span class="gtkdoc opt">-</span><span class="number">5</span>s<span class="gtkdoc opt">)</span>
+
+<span class="number">2</span>
+<span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">08</span><span class="gtkdoc opt">,</span><span class="number">000</span> <span class="gtkdoc opt">--&gt;</span> <span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">00</span><span class="gtkdoc opt">:</span><span class="number">13</span><span class="gtkdoc opt">,</span><span class="number">000</span>
+Yes<span class="gtkdoc opt">,</span> <span class="keyword">this</span> is a subtitle<span class="gtkdoc opt">.</span> Don<span class="string">'t</span>
+<span class="string">you like it? (8-13s)</span>
+<span class="string"></span>
+<span class="string">3</span>
+<span class="string">00:00:18,826 --&gt; 00:01:02,886</span>
+<span class="string">Uh? What are you talking about?</span>
+<span class="string">I don'</span>t <span class="function">understand</span>  <span class="gtkdoc opt">(</span><span class="number">18</span><span class="gtkdoc opt">-</span><span class="number">62</span>s<span class="gtkdoc opt">)</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+<p>
+</p>
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.42.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.42.6.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +163,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.42.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.42.6.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -135,7 +212,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -163,7 +240,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -179,8 +256,13 @@
 <div class="refsect2">
 <a name="GstTextOverlay-struct"></a><h3>struct GstTextOverlay</h3>
 <pre class="programlisting">struct GstTextOverlay;</pre>
+<p>Opaque textoverlay data structure.</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-textoverlay.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRender"><span class="type">GstTextRender</span></a>, <a class="link" href="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay"><span class="type">GstTextOverlay</span></a>, <a class="link" href="gst-plugins-base-plugins-timeoverlay.html#GstTimeOverlay"><span class="type">GstTimeOverlay</span></a>, <a class="link" href="gst-plugins-base-plugins-subparse.html#GstSubParse"><span class="type">GstSubParse</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-textrender.html b/docs/plugins/html/gst-plugins-base-plugins-textrender.html
index 376ad46..8c83671 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-textrender.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-textrender.html
@@ -49,17 +49,17 @@
 <td class="property_flags">Write</td>
 </tr>
 <tr>
-<td class="property_type"><span class="type">GstTextRenderHAlign</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderHAlign" title="enum GstTextRenderHAlign"><span class="type">GstTextRenderHAlign</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRender--halignment" title="The “halignment” property">halignment</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><span class="type">GstTextRenderLineAlign</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderLineAlign" title="enum GstTextRenderLineAlign"><span class="type">GstTextRenderLineAlign</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRender--line-alignment" title="The “line-alignment” property">line-alignment</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><span class="type">GstTextRenderVAlign</span></td>
+<td class="property_type"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderVAlign" title="enum GstTextRenderVAlign"><span class="type">GstTextRenderVAlign</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRender--valignment" title="The “valignment” property">valignment</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -83,10 +83,24 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody><tr>
+<tbody>
+<tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRender-struct" title="struct GstTextRender">GstTextRender</a></td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderHAlign" title="enum GstTextRenderHAlign">GstTextRenderHAlign</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderLineAlign" title="enum GstTextRenderLineAlign">GstTextRenderLineAlign</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderVAlign" title="enum GstTextRenderVAlign">GstTextRenderVAlign</a></td>
+</tr>
+</tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -100,10 +114,29 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-textrender.description"></a><h2>Description</h2>
+<p>This plugin renders text received on the text sink pad to a video
+buffer (retaining the alpha channel), so it can later be overlayed
+on top of video streams using other elements.</p>
+<p>The text can contain newline characters. (FIXME: What about text 
+wrapping? It does not make sense in this context)</p>
+<div class="refsect2">
+<a name="id-1.2.43.7.4"></a><h3>Example launch lines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>subtitles<span class="gtkdoc opt">.</span>srt <span class="gtkdoc opt">!</span> subparse <span class="gtkdoc opt">!</span> textrender <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.43.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.43.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -129,7 +162,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.43.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.43.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -190,6 +223,121 @@
 <div class="refsect2">
 <a name="GstTextRender-struct"></a><h3>struct GstTextRender</h3>
 <pre class="programlisting">struct GstTextRender;</pre>
+<p>Opaque textrender data structure.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstTextRenderHAlign"></a><h3>enum GstTextRenderHAlign</h3>
+<p>Horizontal alignment of the text.</p>
+<div class="refsect3">
+<a name="GstTextRenderHAlign.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" 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-TEXT-RENDER-HALIGN-LEFT:CAPS"></a>GST_TEXT_RENDER_HALIGN_LEFT</p></td>
+<td class="enum_member_description">
+<p>align text left</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TEXT-RENDER-HALIGN-CENTER:CAPS"></a>GST_TEXT_RENDER_HALIGN_CENTER</p></td>
+<td class="enum_member_description">
+<p>align text center</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TEXT-RENDER-HALIGN-RIGHT:CAPS"></a>GST_TEXT_RENDER_HALIGN_RIGHT</p></td>
+<td class="enum_member_description">
+<p>align text right</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstTextRenderLineAlign"></a><h3>enum GstTextRenderLineAlign</h3>
+<p>Alignment of text lines relative to each other</p>
+<div class="refsect3">
+<a name="GstTextRenderLineAlign.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" 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-TEXT-RENDER-LINE-ALIGN-LEFT:CAPS"></a>GST_TEXT_RENDER_LINE_ALIGN_LEFT</p></td>
+<td class="enum_member_description">
+<p>lines are left-aligned</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TEXT-RENDER-LINE-ALIGN-CENTER:CAPS"></a>GST_TEXT_RENDER_LINE_ALIGN_CENTER</p></td>
+<td class="enum_member_description">
+<p>lines are center-aligned</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TEXT-RENDER-LINE-ALIGN-RIGHT:CAPS"></a>GST_TEXT_RENDER_LINE_ALIGN_RIGHT</p></td>
+<td class="enum_member_description">
+<p>lines are right-aligned</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstTextRenderVAlign"></a><h3>enum GstTextRenderVAlign</h3>
+<p>Vertical alignment of the text.</p>
+<div class="refsect3">
+<a name="GstTextRenderVAlign.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" 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-TEXT-RENDER-VALIGN-BASELINE:CAPS"></a>GST_TEXT_RENDER_VALIGN_BASELINE</p></td>
+<td class="enum_member_description">
+<p>draw text on the baseline</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TEXT-RENDER-VALIGN-BOTTOM:CAPS"></a>GST_TEXT_RENDER_VALIGN_BOTTOM</p></td>
+<td class="enum_member_description">
+<p>draw text on the bottom</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-TEXT-RENDER-VALIGN-TOP:CAPS"></a>GST_TEXT_RENDER_VALIGN_TOP</p></td>
+<td class="enum_member_description">
+<p>draw test on top</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -204,7 +352,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTextRender--halignment"></a><h3>The <code class="literal">“halignment”</code> property</h3>
-<pre class="programlisting">  “halignment”               <span class="type">GstTextRenderHAlign</span></pre>
+<pre class="programlisting">  “halignment”               <a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderHAlign" title="enum GstTextRenderHAlign"><span class="type">GstTextRenderHAlign</span></a></pre>
 <p>Horizontal alignment of the text.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: center</p>
@@ -212,7 +360,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTextRender--line-alignment"></a><h3>The <code class="literal">“line-alignment”</code> property</h3>
-<pre class="programlisting">  “line-alignment”           <span class="type">GstTextRenderLineAlign</span></pre>
+<pre class="programlisting">  “line-alignment”           <a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderLineAlign" title="enum GstTextRenderLineAlign"><span class="type">GstTextRenderLineAlign</span></a></pre>
 <p>Alignment of text lines relative to each other.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: center</p>
@@ -220,7 +368,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstTextRender--valignment"></a><h3>The <code class="literal">“valignment”</code> property</h3>
-<pre class="programlisting">  “valignment”               <span class="type">GstTextRenderVAlign</span></pre>
+<pre class="programlisting">  “valignment”               <a class="link" href="gst-plugins-base-plugins-textrender.html#GstTextRenderVAlign" title="enum GstTextRenderVAlign"><span class="type">GstTextRenderVAlign</span></a></pre>
 <p>Vertical alignment of the text.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: baseline</p>
@@ -244,6 +392,10 @@
 <p>Default value: 25</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-textrender.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="gst-plugins-base-plugins-textoverlay.html#GstTextOverlay"><span class="type">GstTextOverlay</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoradec.html b/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
index db4df33..f9a015b 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoradec.html
@@ -90,10 +90,29 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-theoradec.description"></a><h2>Description</h2>
+<p>This element decodes theora streams into raw video</p>
+<a class="ulink" href="http://www.theora.org/" target="_top">Theora</a> is a royalty-free
+<p>video codec maintained by the <a class="ulink" href="http://www.xiph.org/" target="_top">Xiph.org
+Foundation</a>, based on the VP3 codec.</p>
+<div class="refsect2">
+<a name="id-1.2.44.7.5"></a><h3>Example pipeline</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> theoradec <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> videoscale <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This example pipeline will decode an ogg stream and decodes the theora video in it.
+Refer to the theoraenc example to create the ogg file.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.44.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.44.7.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -119,7 +138,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.44.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.44.7.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -180,6 +199,7 @@
 <div class="refsect2">
 <a name="GstTheoraDec-struct"></a><h3>struct GstTheoraDec</h3>
 <pre class="programlisting">struct GstTheoraDec;</pre>
+<p>Opaque object data structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -220,6 +240,10 @@
 <p>Default value: 0</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-theoradec.see-also"></a><h2>See Also</h2>
+<p>theoraenc, oggdemux</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html b/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
index 2efd264..e6e80f4 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraenc.html
@@ -149,10 +149,43 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-theoraenc.description"></a><h2>Description</h2>
+<p>This element encodes raw video into a Theora stream.</p>
+<a class="ulink" href="http://www.theora.org/" target="_top">Theora</a> is a royalty-free
+<p>video codec maintained by the <a class="ulink" href="http://www.xiph.org/" target="_top">Xiph.org
+Foundation</a>, based on the VP3 codec.</p>
+<p>The theora codec internally only supports encoding of images that are a
+multiple of 16 pixels in both X and Y direction. It is however perfectly
+possible to encode images with other dimensions because an arbitrary
+rectangular cropping region can be set up. This element will automatically
+set up a correct cropping region if the dimensions are not multiples of 16
+pixels.</p>
+<p>To control the quality of the encoding, the <span class="type">“bitrate”</span> and
+<span class="type">“quality”</span> properties can be used. These two properties are
+mutualy exclusive. Setting the bitrate property will produce a constant
+bitrate (CBR) stream while setting the quality property will produce a
+variable bitrate (VBR) stream.</p>
+<p>A videorate element is often required in front of theoraenc, especially
+when transcoding and when putting Theora into the Ogg container.</p>
+<div class="refsect2">
+<a name="id-1.2.45.8.8"></a><h3>Example pipeline</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">500</span> <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">1280</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">720</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> progressreport <span class="gtkdoc opt">!</span> theoraenc <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This example pipeline will encode a test video source to theora muxed in an
+ogg container. Refer to the theoradec documentation to decode the create
+stream.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.45.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.45.8.9.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -178,7 +211,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.45.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.45.8.9.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -239,6 +272,7 @@
 <div class="refsect2">
 <a name="GstTheoraEnc-struct"></a><h3>struct GstTheoraEnc</h3>
 <pre class="programlisting">struct GstTheoraEnc;</pre>
+<p>Opaque data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -254,18 +288,24 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="MULTIPASS-MODE-SINGLE-PASS:CAPS"></a>MULTIPASS_MODE_SINGLE_PASS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Single pass encoding</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="MULTIPASS-MODE-FIRST-PASS:CAPS"></a>MULTIPASS_MODE_FIRST_PASS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>First pass of two pass encoding</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="MULTIPASS-MODE-SECOND-PASS:CAPS"></a>MULTIPASS_MODE_SECOND_PASS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Second pass of two pass encoding</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -384,6 +424,10 @@
 <p>Default value: FALSE</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-theoraenc.see-also"></a><h2>See Also</h2>
+<p>theoradec, oggmux</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
index fe6fb30..8c9d64f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-theoraparse.html
@@ -56,10 +56,54 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-theoraparse.description"></a><h2>Description</h2>
+<p>The theoraparse element will parse the header packets of the Theora
+stream and put them as the streamheader in the caps. This is used in the
+multifdsink case where you want to stream live theora streams to multiple
+clients, each client has to receive the streamheaders first before they can
+consume the theora packets.</p>
+<p>This element also makes sure that the buffers that it pushes out are properly
+timestamped and that their offset and offset_end are set. The buffers that
+theoraparse outputs have all of the metadata that oggmux expects to receive,
+which allows you to (for example) remux an ogg/theora file.</p>
+<p>In addition, this element allows you to fix badly synchronized streams. You
+pass in an array of (granule time, buffer time) synchronization points via
+the synchronization-points GValueArray property, and this element will adjust
+the granulepos values that it outputs. The adjustment will be made by
+offsetting all buffers that it outputs by a specified amount, and updating
+that offset from the value array whenever a keyframe is processed.</p>
+<div class="refsect2">
+<a name="id-1.2.46.6.5"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>video<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> theoraparse <span class="gtkdoc opt">!</span> fakesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline shows that the streamheader is set in the caps, and that each
+buffer has the timestamp, duration, offset, and offset_end set.
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>video<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> theoraparse \
+           <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>video<span class="gtkdoc opt">-</span>remuxed<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline shows remuxing. video-remuxed.ogg might not be exactly the same
+as video.ogg, but they should produce exactly the same decoded data.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.46.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.46.6.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -85,7 +129,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.46.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.46.6.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -146,8 +190,13 @@
 <div class="refsect2">
 <a name="GstTheoraParse-struct"></a><h3>struct GstTheoraParse</h3>
 <pre class="programlisting">struct GstTheoraParse;</pre>
+<p>Opaque data structure.</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-theoraparse.see-also"></a><h2>See Also</h2>
+<p>theoradec, oggdemux, vorbisparse</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html b/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
index b3b7148..4fb88ce 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-timeoverlay.html
@@ -79,10 +79,42 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-timeoverlay.description"></a><h2>Description</h2>
+<p>This element overlays the buffer time stamps of a video stream on
+top of itself. You can position the text and configure the font details
+using the properties of the <span class="type">GstBaseTextOverlay</span> class. By default, the
+time stamp is displayed in the top left corner of the picture, with some
+padding to the left and to the top.</p>
+<div class="refsect2">
+<a name="id-1.2.47.7.3"></a><div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> timeoverlay <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Display the time stamps in the top left corner of the video picture.
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> timeoverlay halignment<span class="gtkdoc opt">=</span>right valignment<span class="gtkdoc opt">=</span>bottom text<span class="gtkdoc opt">=</span><span class="string">&quot;Stream time:&quot;</span> shaded<span class="gtkdoc opt">-</span>background<span class="gtkdoc opt">=</span><span class="keyword">true</span> font<span class="gtkdoc opt">-</span>desc<span class="gtkdoc opt">=</span><span class="string">&quot;Sans, 24&quot;</span> <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Another pipeline that displays the time stamps with some leading
+text in the bottom right corner of the video picture, with the background
+of the text being shaded in order to make it more legible on top of a
+bright video background.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.47.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.47.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -108,7 +140,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.47.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.47.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -133,7 +165,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -161,7 +193,7 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -177,6 +209,7 @@
 <div class="refsect2">
 <a name="GstTimeOverlay-struct"></a><h3>struct GstTimeOverlay</h3>
 <pre class="programlisting">struct GstTimeOverlay;</pre>
+<p>Opaque timeoverlay data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -220,6 +253,10 @@
 <p>Default value: buffer-time</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-timeoverlay.see-also"></a><h2>See Also</h2>
+<p><span class="type">GstBaseTextOverlay</span>, <a class="link" href="gst-plugins-base-plugins-clockoverlay.html#GstClockOverlay"><span class="type">GstClockOverlay</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
index 734e6f3..81b7e95 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-uridecodebin.html
@@ -132,7 +132,7 @@
 <td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobjectgobject-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_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#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"><a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
 </tr>
@@ -167,16 +167,10 @@
 <col width="150px" class="name">
 <col class="description">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="datatype_keyword">struct</td>
 <td class="function_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-struct" title="struct GstURIDecodeBin">GstURIDecodeBin</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult" title="enum GstAutoplugSelectResult">GstAutoplugSelectResult</a></td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -267,44 +261,6 @@
 <pre class="programlisting">struct GstURIDecodeBin;</pre>
 <p>uridecodebin element struct</p>
 </div>
-<hr>
-<div class="refsect2">
-<a name="GstAutoplugSelectResult"></a><h3>enum GstAutoplugSelectResult</h3>
-<p>return values for the autoplug-select signal.</p>
-<div class="refsect3">
-<a name="GstAutoplugSelectResult.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" 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-AUTOPLUG-SELECT-TRY:CAPS"></a>GST_AUTOPLUG_SELECT_TRY</p></td>
-<td class="enum_member_description">
-<p>try to autoplug the current factory</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-AUTOPLUG-SELECT-EXPOSE:CAPS"></a>GST_AUTOPLUG_SELECT_EXPOSE</p></td>
-<td class="enum_member_description">
-<p>expose the pad as a raw stream</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-AUTOPLUG-SELECT-SKIP:CAPS"></a>GST_AUTOPLUG_SELECT_SKIP</p></td>
-<td class="enum_member_description">
-<p>skip the current factory</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-uridecodebin.property-details"></a><h2>Property Details</h2>
@@ -532,7 +488,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstURIDecodeBin-autoplug-select"></a><h3>The <code class="literal">“autoplug-select”</code> signal</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult" title="enum GstAutoplugSelectResult"><span class="returnvalue">GstAutoplugSelectResult</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult"><span class="returnvalue">GstAutoplugSelectResult</span></a>
 user_function (<a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin"><span class="type">GstURIDecodeBin</span></a>   *bin,
                <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a>            *pad,
                <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>           *caps,
@@ -544,13 +500,13 @@
 those factories, this signal is emitted.</p>
 <p>The signal handler should return a <span class="type">GST_TYPE_AUTOPLUG_SELECT_RESULT</span> enum
 value indicating what decodebin should do next.</p>
-<p>A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a> will try to autoplug an element from
+<p>A value of <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a> will try to autoplug an element from
 <em class="parameter"><code>factory</code></em>
 .</p>
-<p>A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-EXPOSE:CAPS"><span class="type">GST_AUTOPLUG_SELECT_EXPOSE</span></a> will expose <em class="parameter"><code>pad</code></em>
+<p>A value of <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-EXPOSE:CAPS"><span class="type">GST_AUTOPLUG_SELECT_EXPOSE</span></a> will expose <em class="parameter"><code>pad</code></em>
  without plugging
 any element to it.</p>
-<p>A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-SKIP:CAPS"><span class="type">GST_AUTOPLUG_SELECT_SKIP</span></a> will skip <em class="parameter"><code>factory</code></em>
+<p>A value of <a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-SKIP:CAPS"><span class="type">GST_AUTOPLUG_SELECT_SKIP</span></a> will skip <em class="parameter"><code>factory</code></em>
  and move to the
 next factory.</p>
 <div class="note">
@@ -601,7 +557,7 @@
 <a name="GstURIDecodeBin-autoplug-select.returns"></a><h4>Returns</h4>
 <p> a <span class="type">GST_TYPE_AUTOPLUG_SELECT_RESULT</span> that indicates the required
 operation. The default handler will always return
-<a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</p>
+<a href="/usr/share/gtk-doc/html/gst-plugins-base-plugins-1.0gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</p>
 </div>
 <p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
index 5071237..cd2bbd7 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoconvert.html
@@ -183,11 +183,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -211,11 +211,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videoscale.html b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
index 66bbea3..492bb7a 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videoscale.html
@@ -197,11 +197,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
@@ -225,11 +225,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td> video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
index b546a7d..02b1cd2 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-videotestsrc.html
@@ -234,7 +234,7 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
index 9ed03f1..3196ea4 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisdec.html
@@ -57,10 +57,29 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbisdec.description"></a><h2>Description</h2>
+<p>This element decodes a Vorbis stream to raw float audio.</p>
+<a class="ulink" href="http://www.vorbis.com/" target="_top">Vorbis</a> is a royalty-free
+<p>audio codec maintained by the <a class="ulink" href="http://www.xiph.org/" target="_top">Xiph.org
+Foundation</a>. As it outputs raw float audio you will often need to
+put an audioconvert element after it.</p>
+<div class="refsect2">
+<a name="id-1.2.54.6.5"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> vorbisdec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Decode an Ogg/Vorbis. To create an Ogg/Vorbis file refer to the documentation of vorbisenc.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.54.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.54.6.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +105,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.54.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.54.6.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -147,8 +166,13 @@
 <div class="refsect2">
 <a name="GstVorbisDec-struct"></a><h3>struct GstVorbisDec</h3>
 <pre class="programlisting">struct GstVorbisDec;</pre>
+<p>Opaque data structure.</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-vorbisdec.see-also"></a><h2>See Also</h2>
+<p>vorbisenc, oggdemux</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
index c8ad1e6..037ab06 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisenc.html
@@ -108,10 +108,40 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbisenc.description"></a><h2>Description</h2>
+<p>This element encodes raw float audio into a Vorbis stream.</p>
+<a class="ulink" href="http://www.vorbis.com/" target="_top">Vorbis</a> is a royalty-free
+<p>audio codec maintained by the <a class="ulink" href="http://www.xiph.org/" target="_top">Xiph.org
+Foundation</a>.</p>
+<div class="refsect2">
+<a name="id-1.2.55.8.5"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v audiotestsrc wave<span class="gtkdoc opt">=</span>sine num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> vorbisenc <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Encode a test sine signal to Ogg/Vorbis.  Note that the resulting file
+will be really small because a sine signal compresses very well.
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v autoaudiosrc <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> vorbisenc <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>alsasrc<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Record from a sound card and encode to Ogg/Vorbis.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.55.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.55.8.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -137,7 +167,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.55.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.55.8.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -230,6 +260,7 @@
 <div class="refsect2">
 <a name="GstVorbisEnc-struct"></a><h3>struct GstVorbisEnc</h3>
 <pre class="programlisting">struct GstVorbisEnc;</pre>
+<p>Opaque data structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -286,6 +317,10 @@
 <p>Default value: 0.3</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-vorbisenc.see-also"></a><h2>See Also</h2>
+<p>vorbisdec, oggmux</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
index d6257b8..bf68e24 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbisparse.html
@@ -57,10 +57,48 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbisparse.description"></a><h2>Description</h2>
+<p>The vorbisparse element will parse the header packets of the Vorbis
+stream and put them as the streamheader in the caps. This is used in the
+multifdsink case where you want to stream live vorbis streams to multiple
+clients, each client has to receive the streamheaders first before they can
+consume the vorbis packets.</p>
+<p>This element also makes sure that the buffers that it pushes out are properly
+timestamped and that their offset and offset_end are set. The buffers that
+vorbisparse outputs have all of the metadata that oggmux expects to receive,
+which allows you to (for example) remux an ogg/vorbis file.</p>
+<div class="refsect2">
+<a name="id-1.2.56.6.4"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> vorbisparse <span class="gtkdoc opt">!</span> fakesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline shows that the streamheader is set in the caps, and that each
+buffer has the timestamp, duration, offset, and offset_end set.
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> filesrc location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> vorbisparse \
+           <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">-</span>remuxed<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline shows remuxing. sine-remuxed.ogg might not be exactly the same
+as sine.ogg, but they should produce exactly the same decoded data.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.56.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.56.6.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -86,7 +124,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.56.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.56.6.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -147,8 +185,13 @@
 <div class="refsect2">
 <a name="GstVorbisParse-struct"></a><h3>struct GstVorbisParse</h3>
 <pre class="programlisting">struct GstVorbisParse;</pre>
+<p>Opaque data structure.</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-vorbisparse.see-also"></a><h2>See Also</h2>
+<p>vorbisdec, oggdemux, theoraparse</p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html b/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
index 91854ce..aae6763 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-vorbistag.html
@@ -64,10 +64,36 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-vorbistag.description"></a><h2>Description</h2>
+<p>The vorbistags element can change the tag contained within a raw
+vorbis stream. Specifically, it modifies the comments header packet
+of the vorbis stream.</p>
+<p>The element will also process the stream as the <span class="type">vorbisparse</span> element does
+so it can be used when remuxing an Ogg Vorbis stream, without additional
+elements.</p>
+<p>Applications can set the tags to write using the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagSetter.html#GstTagSetter-struct"><span class="type">GstTagSetter</span></a> interface.
+Tags contained withing the vorbis bitstream will be picked up
+automatically (and merged according to the merge mode set via the tag
+setter interface).</p>
+<div class="refsect2">
+<a name="id-1.2.57.7.5"></a><h3>Example pipelines</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>foo<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> vorbistag <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>bar<span class="gtkdoc opt">.</span>ogg</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This element is not useful with gst-launch-1.0, because it does not support
+setting the tags on a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagSetter.html#GstTagSetter-struct"><span class="type">GstTagSetter</span></a> interface. Conceptually, the element
+will usually be used in this order though.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.57.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.57.7.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -93,7 +119,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.57.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.57.7.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -154,8 +180,13 @@
 <div class="refsect2">
 <a name="GstVorbisTag-struct"></a><h3>struct GstVorbisTag</h3>
 <pre class="programlisting">struct GstVorbisTag;</pre>
+<p>Opaque data structure.</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-base-plugins-vorbistag.see-also"></a><h2>See Also</h2>
+<p><span class="type">oggdemux</span>, <span class="type">oggmux</span>, <span class="type">vorbisparse</span>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagSetter.html#GstTagSetter-struct"><span class="type">GstTagSetter</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html b/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
index 1651579..b2f4e25 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-ximagesink.html
@@ -120,10 +120,113 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-ximagesink.description"></a><h2>Description</h2>
+<p>XImageSink renders video frames to a drawable (XWindow) on a local or remote
+display. This element can receive a Window ID from the application through
+the <a href="../html/gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay-struct"><span class="type">GstVideoOverlay</span></a> interface and will then render video frames in this
+drawable. If no Window ID was provided by the application, the element will
+create its own internal window and render into it.</p>
+<div class="refsect2">
+<a name="id-1.2.58.8.3"></a><h3>Scaling</h3>
+<p>
+As standard XImage rendering to a drawable is not scaled, XImageSink will use
+reverse caps negotiation to try to get scaled video frames for the drawable.
+This is accomplished by asking the peer pad if it accepts some different caps
+which in most cases implies that there is a scaling element in the pipeline,
+or that an element generating the video frames can generate them with a 
+different geometry. This mechanism is handled during buffer allocations, for
+each allocation request the video sink will check the drawable geometry, look
+at the <a class="link" href="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--force-aspect-ratio" title="The “force-aspect-ratio” property"><span class="type">“force-aspect-ratio”</span></a> property, calculate the geometry of
+desired video frames and then check that the peer pad accept those new caps.
+If it does it will then allocate a buffer in video memory with this new
+geometry and return it with the new caps.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.58.8.4"></a><h3>Events</h3>
+<p>
+XImageSink creates a thread to handle events coming from the drawable. There
+are several kind of events that can be grouped in 2 big categories: input 
+events and window state related events. Input events will be translated to
+navigation events and pushed upstream for other elements to react on them.
+This includes events such as pointer moves, key press/release, clicks etc...
+Other events are used to handle the drawable appearance even when the data
+is not flowing (GST_STATE_PAUSED). That means that even when the element is
+paused, it will receive expose events from the drawable and draw the latest
+frame with correct borders/aspect-ratio.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.58.8.5"></a><h3>Pixel aspect ratio</h3>
+<p>
+When changing state to GST_STATE_READY, XImageSink will open a connection to
+the display specified in the <a class="link" href="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--display" title="The “display” property"><span class="type">“display”</span></a> property or the default
+display if nothing specified. Once this connection is open it will inspect 
+the display configuration including the physical display geometry and 
+then calculate the pixel aspect ratio. When caps negotiation will occur, the
+video sink will set the calculated pixel aspect ratio on the caps to make 
+sure that incoming video frames will have the correct pixel aspect ratio for
+this display. Sometimes the calculated pixel aspect ratio can be wrong, it is
+then possible to enforce a specific pixel aspect ratio using the
+<a class="link" href="gst-plugins-base-plugins-ximagesink.html#GstXImageSink--pixel-aspect-ratio" title="The “pixel-aspect-ratio” property"><span class="type">“pixel-aspect-ratio”</span></a> property.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.58.8.6"></a><h3>Examples</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> ximagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test reverse negotiation. When the test video signal appears
+you can resize the window and see that scaled buffers of the desired size are
+going to arrive with a short delay. This illustrates how buffers of desired
+size are allocated along the way. If you take away the queue, scaling will
+happen almost immediately.
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> navigationtest <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> ximagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test navigation events.
+While moving the mouse pointer over the test signal you will see a black box
+following the mouse pointer. If you press the mouse button somewhere on the 
+video and release it somewhere else a green box will appear where you pressed
+the button and a red one where you released it. (The navigationtest element
+is part of gst-plugins-good.)
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span> pixel<span class="gtkdoc opt">-</span>aspect<span class="gtkdoc opt">-</span>ratio<span class="gtkdoc opt">=(</span>fraction<span class="gtkdoc opt">)</span><span class="number">4</span><span class="gtkdoc opt">/</span><span class="number">3</span> <span class="gtkdoc opt">!</span> videoscale <span class="gtkdoc opt">!</span> ximagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This is faking a 4/3 pixel aspect ratio caps on video frames produced by
+videotestsrc, in most cases the pixel aspect ratio of the display will be
+1/1. This means that videoscale will have to do the scaling to convert 
+incoming frames to a size that will match the display pixel aspect ratio
+(from 320x240 to 320x180 in this case). Note that you might have to escape 
+some characters for your shell like '\(fraction\)'.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.58.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.58.8.7.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -149,7 +252,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.58.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.58.8.7.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -186,6 +289,18 @@
 <div class="refsect2">
 <a name="GstXImageSink-struct"></a><h3>struct GstXImageSink</h3>
 <pre class="programlisting">struct GstXImageSink;</pre>
+<p>The <a class="link" href="gst-plugins-base-plugins-ximagesink.html#GstXImageSink"><span class="type">GstXImageSink</span></a> data structure.</p>
+<div class="refsect3">
+<a name="GstXImageSink.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody></tbody>
+</table></div>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -241,7 +356,7 @@
 <div class="refsect2">
 <a name="GstXImageSink--window-height"></a><h3>The <code class="literal">“window-height”</code> property</h3>
 <pre class="programlisting">  “window-height”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
-<p>Height of the window.</p>
+<p>Actual height of the video window.</p>
 <p>Flags: Read</p>
 <p>Default value: 0</p>
 </div>
@@ -249,7 +364,7 @@
 <div class="refsect2">
 <a name="GstXImageSink--window-width"></a><h3>The <code class="literal">“window-width”</code> property</h3>
 <pre class="programlisting">  “window-width”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
-<p>Width of the window.</p>
+<p>Actual width of the video window.</p>
 <p>Flags: Read</p>
 <p>Default value: 0</p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html b/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
index 4c1f986..a613dd6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-xvimagesink.html
@@ -172,10 +172,139 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-base-plugins-xvimagesink.description"></a><h2>Description</h2>
+<p>XvImageSink renders video frames to a drawable (XWindow) on a local display
+using the XVideo extension. Rendering to a remote display is theoretically
+possible but i doubt that the XVideo extension is actually available when
+connecting to a remote display. This element can receive a Window ID from the
+application through the <a href="../html/gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay-struct"><span class="type">GstVideoOverlay</span></a> interface and will then render
+video frames in this drawable. If no Window ID was provided by the
+application, the element will create its own internal window and render
+into it.</p>
+<div class="refsect2">
+<a name="id-1.2.59.8.3"></a><h3>Scaling</h3>
+<p>
+The XVideo extension, when it's available, handles hardware accelerated
+scaling of video frames. This means that the element will just accept
+incoming video frames no matter their geometry and will then put them to the
+drawable scaling them on the fly. Using the <a class="link" href="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink--force-aspect-ratio" title="The “force-aspect-ratio” property"><span class="type">“force-aspect-ratio”</span></a>
+property it is possible to enforce scaling with a constant aspect ratio,
+which means drawing black borders around the video frame.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.59.8.4"></a><h3>Events</h3>
+<p>
+XvImageSink creates a thread to handle events coming from the drawable. There
+are several kind of events that can be grouped in 2 big categories: input
+events and window state related events. Input events will be translated to
+navigation events and pushed upstream for other elements to react on them.
+This includes events such as pointer moves, key press/release, clicks etc...
+Other events are used to handle the drawable appearance even when the data
+is not flowing (GST_STATE_PAUSED). That means that even when the element is
+paused, it will receive expose events from the drawable and draw the latest
+frame with correct borders/aspect-ratio.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.59.8.5"></a><h3>Pixel aspect ratio</h3>
+<p>
+When changing state to GST_STATE_READY, XvImageSink will open a connection to
+the display specified in the <a class="link" href="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink--display" title="The “display” property"><span class="type">“display”</span></a> property or the
+default display if nothing specified. Once this connection is open it will
+inspect the display configuration including the physical display geometry and
+then calculate the pixel aspect ratio. When receiving video frames with a
+different pixel aspect ratio, XvImageSink will use hardware scaling to
+display the video frames correctly on display's pixel aspect ratio.
+Sometimes the calculated pixel aspect ratio can be wrong, it is
+then possible to enforce a specific pixel aspect ratio using the
+<a class="link" href="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink--pixel-aspect-ratio" title="The “pixel-aspect-ratio” property"><span class="type">“pixel-aspect-ratio”</span></a> property.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.59.8.6"></a><h3>Examples</h3>
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test hardware scaling.
+When the test video signal appears you can resize the window and see that
+video frames are scaled through hardware (no extra CPU cost). By default
+the image will never be distorted when scaled, instead black borders will
+be added if needed.
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> xvimagesink force<span class="gtkdoc opt">-</span>aspect<span class="gtkdoc opt">-</span>ratio<span class="gtkdoc opt">=</span><span class="keyword">false</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Same pipeline with <a class="link" href="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink--force-aspect-ratio" title="The “force-aspect-ratio” property"><span class="type">“force-aspect-ratio”</span></a> property set to
+false. You can observe that no borders are drawn around the scaled image
+now and it will be distorted to fill the entire frame instead of respecting
+the aspect ratio.
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> navigationtest <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test navigation events.
+While moving the mouse pointer over the test signal you will see a black box
+following the mouse pointer. If you press the mouse button somewhere on the
+video and release it somewhere else a green box will appear where you pressed
+the button and a red one where you released it. (The navigationtest element
+is part of gst-plugins-good.) You can observe here that even if the images
+are scaled through hardware the pointer coordinates are converted back to the
+original video frame geometry so that the box can be drawn to the correct
+position. This also handles borders correctly, limiting coordinates to the
+image area
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span> pixel<span class="gtkdoc opt">-</span>aspect<span class="gtkdoc opt">-</span>ratio<span class="gtkdoc opt">=</span><span class="number">4</span><span class="gtkdoc opt">/</span><span class="number">3</span> <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This is faking a 4/3 pixel aspect ratio caps on video frames produced by
+videotestsrc, in most cases the pixel aspect ratio of the display will be
+1/1. This means that XvImageSink will have to do the scaling to convert
+incoming frames to a size that will match the display pixel aspect ratio
+(from 320x240 to 320x180 in this case).
+<div class="informalexample">
+  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+      <tr>
+        <td class="listing_lines" align="right"><pre>1</pre></td>
+        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc <span class="gtkdoc opt">!</span> xvimagesink hue<span class="gtkdoc opt">=</span><span class="number">100</span> saturation<span class="gtkdoc opt">=-</span><span class="number">100</span> brightness<span class="gtkdoc opt">=</span><span class="number">100</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Demonstrates how to use the colorbalance interface.
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.59.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.59.8.7.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -201,7 +330,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.59.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.59.8.7.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -238,6 +367,18 @@
 <div class="refsect2">
 <a name="GstXvImageSink-struct"></a><h3>struct GstXvImageSink</h3>
 <pre class="programlisting">struct GstXvImageSink;</pre>
+<p>The <a class="link" href="gst-plugins-base-plugins-xvimagesink.html#GstXvImageSink"><span class="type">GstXvImageSink</span></a> data structure.</p>
+<div class="refsect3">
+<a name="GstXvImageSink.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody></tbody>
+</table></div>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -245,7 +386,7 @@
 <div class="refsect2">
 <a name="GstXvImageSink--autopaint-colorkey"></a><h3>The <code class="literal">“autopaint-colorkey”</code> property</h3>
 <pre class="programlisting">  “autopaint-colorkey”       <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Whether to autofill overlay with colorkey.</p>
+<p>Whether to autofill overlay with colorkey</p>
 <p>Flags: Read / Write</p>
 <p>Default value: TRUE</p>
 </div>
@@ -311,7 +452,8 @@
 <div class="refsect2">
 <a name="GstXvImageSink--draw-borders"></a><h3>The <code class="literal">“draw-borders”</code> property</h3>
 <pre class="programlisting">  “draw-borders”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Draw black borders to fill unused area in force-aspect-ratio mode.</p>
+<p>Draw black borders when using GstXvImageSink:force-aspect-ratio to fill
+unused parts of the video area.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: TRUE</p>
 </div>
@@ -335,7 +477,8 @@
 <div class="refsect2">
 <a name="GstXvImageSink--handle-expose"></a><h3>The <code class="literal">“handle-expose”</code> property</h3>
 <pre class="programlisting">  “handle-expose”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>When enabled, the current frame will always be drawn in response to X Expose events.</p>
+<p>When enabled, the current frame will always be drawn in response to X
+Expose.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: TRUE</p>
 </div>
@@ -377,7 +520,7 @@
 <div class="refsect2">
 <a name="GstXvImageSink--window-height"></a><h3>The <code class="literal">“window-height”</code> property</h3>
 <pre class="programlisting">  “window-height”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
-<p>Height of the window.</p>
+<p>Actual height of the video window.</p>
 <p>Flags: Read</p>
 <p>Default value: 0</p>
 </div>
@@ -385,7 +528,7 @@
 <div class="refsect2">
 <a name="GstXvImageSink--window-width"></a><h3>The <code class="literal">“window-width”</code> property</h3>
 <pre class="programlisting">  “window-width”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
-<p>Width of the window.</p>
+<p>Actual width of the video window.</p>
 <p>Flags: Read</p>
 <p>Default value: 0</p>
 </div>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 6f5f463..e704abc 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.8.2)
+      for GStreamer Base Plugins 1.0 (1.9.1)
       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>
@@ -35,10 +35,10 @@
 <span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasink.html">alsasink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-alsasrc.html">alsasrc</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-base-plugins-appsink.html">appsink</a></span><span class="refpurpose"></span>
+<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-appsrc.html">appsrc</a></span><span class="refpurpose"></span>
diff --git a/docs/plugins/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml
index 2bd5af5..f74a13c 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.8.2</version>
+  <version>1.9.1</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 c54f9d9..ae34d0d 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.8.2</version>
+  <version>1.9.1</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 8aef377..0a875cf 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.8.2</version>
+  <version>1.9.1</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 19ef71c..c29f3c9 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.8.2</version>
+  <version>1.9.1</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 37aefed..9ed49e1 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.8.2</version>
+  <version>1.9.1</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 a2254b8..e27ec17 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -20,13 +20,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</details>
+          <details>audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</details>
+          <details>audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-audiotestsrc.xml b/docs/plugins/inspect/plugin-audiotestsrc.xml
index d3dff29..b558685 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.8.2</version>
+  <version>1.9.1</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 b9ae828..fb00cf1 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.8.2</version>
+  <version>1.9.1</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 e6671d7..f27cd10 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.8.2</version>
+  <version>1.9.1</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 66b7cb7..252dbf9 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.8.2</version>
+  <version>1.9.1</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 3474b87..ab0f09b 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.8.2</version>
+  <version>1.9.1</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 856a3a6..f2fb7fd 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opus.xml b/docs/plugins/inspect/plugin-opus.xml
index 216f55d..f56439d 100644
--- a/docs/plugins/inspect/plugin-opus.xml
+++ b/docs/plugins/inspect/plugin-opus.xml
@@ -3,7 +3,7 @@
   <description>OPUS plugin library</description>
   <filename>../../ext/opus/.libs/libgstopus.so</filename>
   <basename>libgstopus.so</basename>
-  <version>1.8.2</version>
+  <version>1.9.1</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 1f32298..58f17f2 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -20,13 +20,13 @@
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -47,13 +47,13 @@
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -89,13 +89,13 @@
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-playback.xml b/docs/plugins/inspect/plugin-playback.xml
index 80d2354..59af86e 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -31,6 +31,72 @@
       </pads>
     </element>
     <element>
+      <name>decodebin3</name>
+      <longname>Decoder Bin 3</longname>
+      <class>Generic/Bin/Decoder</class>
+      <description>Autoplug and decode to raw media</description>
+      <author>Edward Hervey &lt;edward@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>audio_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>src_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>text_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>video_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>parsebin</name>
+      <longname>Parse Bin</longname>
+      <class>Generic/Bin/Parser</class>
+      <description>Parse and de-multiplex to elementary stream</description>
+      <author>Jan Schmidt &lt;jan@centricular.com&gt;, Edward Hervey &lt;edward@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>src_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>playbin</name>
       <longname>Player Bin 2</longname>
       <class>Generic/Bin/Player</class>
@@ -40,6 +106,15 @@
       </pads>
     </element>
     <element>
+      <name>playbin3</name>
+      <longname>Player Bin 3</longname>
+      <class>Generic/Bin/Player</class>
+      <description>Autoplug and play media from an uri</description>
+      <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
+      <pads>
+      </pads>
+    </element>
+    <element>
       <name>playsink</name>
       <longname>Player Sink</longname>
       <class>Generic/Bin/Sink</class>
@@ -141,5 +216,20 @@
         </caps>
       </pads>
     </element>
+    <element>
+      <name>urisourcebin</name>
+      <longname>URI reader</longname>
+      <class>Generic/Bin/Source</class>
+      <description>Download and buffer a URI as needed</description>
+      <author>Jan Schmidt &lt;jan@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src_%u</name>
+          <direction>source</direction>
+          <presence>sometimes</presence>
+          <details>ANY</details>
+        </caps>
+      </pads>
+    </element>
   </elements>
 </plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-subparse.xml b/docs/plugins/inspect/plugin-subparse.xml
index ac3e111..82dd469 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -41,7 +41,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>application/x-subtitle; application/x-subtitle-sami; application/x-subtitle-tmplayer; application/x-subtitle-mpl2; application/x-subtitle-dks; application/x-subtitle-qttext; application/x-subtitle-lrc</details>
+          <details>application/x-subtitle; application/x-subtitle-sami; application/x-subtitle-tmplayer; application/x-subtitle-mpl2; application/x-subtitle-dks; application/x-subtitle-qttext; application/x-subtitle-lrc; application/x-subtitle-vtt</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-tcp.xml b/docs/plugins/inspect/plugin-tcp.xml
index 6df7525..9bf9c6d 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.8.2</version>
+  <version>1.9.1</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 2370ac4..6f4d43a 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.8.2</version>
+  <version>1.9.1</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 501cb6a..96d974d 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.8.2</version>
+  <version>1.9.1</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 bb5da91..adbdb26 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -20,13 +20,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videorate.xml b/docs/plugins/inspect/plugin-videorate.xml
index 58f20e0..96c62bc 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.8.2</version>
+  <version>1.9.1</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 3fca73b..0bdc5a0 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -20,13 +20,13 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-videotestsrc.xml b/docs/plugins/inspect/plugin-videotestsrc.xml
index 4097a1e..0cfb87a 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
@@ -20,7 +20,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-volume.xml b/docs/plugins/inspect/plugin-volume.xml
index df5b4ed..6c3aa58 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.8.2</version>
+  <version>1.9.1</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 dd20760..c17fcd3 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.8.2</version>
+  <version>1.9.1</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 a4bf148..3703e28 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.8.2</version>
+  <version>1.9.1</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 52541fc..eb4fdf8 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.8.2</version>
+  <version>1.9.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/ext/alsa/gstalsa.c b/ext/alsa/gstalsa.c
index 9d2a973..a44e6e1 100644
--- a/ext/alsa/gstalsa.c
+++ b/ext/alsa/gstalsa.c
@@ -750,6 +750,7 @@
     GstAudioChannelPosition * pos)
 {
   int c;
+  gboolean all_mono = TRUE;
 
   for (c = 0; c < chmap->channels; c++) {
     if (chmap->pos[c] > SND_CHMAP_LAST)
@@ -758,7 +759,64 @@
     if (!pos[c])
       return FALSE;
     pos[c]--;
+
+    if (pos[c] != GST_AUDIO_CHANNEL_POSITION_MONO)
+      all_mono = FALSE;
   }
+
+  if (all_mono && chmap->channels > 1) {
+    /* GST_AUDIO_CHANNEL_POSITION_MONO can only be used with 1 channel and
+     * GST_AUDIO_CHANNEL_POSITION_NONE is meant to be used for position-less
+     * multi channels.
+     * Converting as ALSA can only express such configuration by using an array
+     * full of SND_CHMAP_MONO.
+     */
+    for (c = 0; c < chmap->channels; c++)
+      pos[c] = GST_AUDIO_CHANNEL_POSITION_NONE;
+  }
+
   return TRUE;
 }
+
+void
+alsa_detect_channels_mapping (GstObject * obj, snd_pcm_t * handle,
+    GstAudioRingBufferSpec * spec, guint channels, GstAudioRingBuffer * buf)
+{
+  snd_pcm_chmap_t *chmap;
+  GstAudioChannelPosition pos[8];
+
+  if (spec->type != GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW || channels >= 9)
+    return;
+
+  chmap = snd_pcm_get_chmap (handle);
+  if (!chmap) {
+    GST_LOG_OBJECT (obj, "ALSA driver does not implement channels mapping API");
+    return;
+  }
+
+  if (chmap->channels != channels) {
+    GST_LOG_OBJECT (obj,
+        "got channels mapping for %u channels but stream has %u channels; ignoring",
+        chmap->channels, channels);
+    goto out;
+  }
+
+  if (alsa_chmap_to_channel_positions (chmap, pos)) {
+#ifndef GST_DISABLE_GST_DEBUG
+    {
+      gchar *tmp = gst_audio_channel_positions_to_string (pos, channels);
+
+      GST_LOG_OBJECT (obj, "got channels mapping %s", tmp);
+      g_free (tmp);
+    }
+#endif /* GST_DISABLE_GST_DEBUG */
+
+    gst_audio_ring_buffer_set_channel_positions (buf, pos);
+  } else {
+    GST_LOG_OBJECT (obj, "failed to convert ALSA channels mapping");
+  }
+
+out:
+  free (chmap);
+}
 #endif /* SND_CHMAP_API_VERSION */
diff --git a/ext/alsa/gstalsa.h b/ext/alsa/gstalsa.h
index 8026619..56fa075 100644
--- a/ext/alsa/gstalsa.h
+++ b/ext/alsa/gstalsa.h
@@ -73,7 +73,13 @@
 extern const GstAudioChannelPosition alsa_position[][8];
 #ifdef SND_CHMAP_API_VERSION
 gboolean alsa_chmap_to_channel_positions (const snd_pcm_chmap_t *chmap,
-					  GstAudioChannelPosition *pos);
+                                          GstAudioChannelPosition *pos);
+
+void alsa_detect_channels_mapping (GstObject * obj,
+                                   snd_pcm_t * handle,
+                                   GstAudioRingBufferSpec * spec,
+                                   guint channels,
+                                   GstAudioRingBuffer * buf);
 #endif
 
 #endif /* __GST_ALSA_H__ */
diff --git a/ext/alsa/gstalsamidisrc.c b/ext/alsa/gstalsamidisrc.c
index 645d0b0..edf7624 100644
--- a/ext/alsa/gstalsamidisrc.c
+++ b/ext/alsa/gstalsamidisrc.c
@@ -247,8 +247,7 @@
       "AlsaMidi Source",
       "Source",
       "Push ALSA MIDI sequencer events around", "Antonio Ospite <ao2@ao2.it>");
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
 
   gstbase_src_class->start = GST_DEBUG_FUNCPTR (gst_alsa_midi_src_start);
   gstbase_src_class->stop = GST_DEBUG_FUNCPTR (gst_alsa_midi_src_stop);
diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c
index 28f328e..86606f7 100644
--- a/ext/alsa/gstalsasink.c
+++ b/ext/alsa/gstalsasink.c
@@ -166,8 +166,8 @@
       "Audio sink (ALSA)", "Sink/Audio",
       "Output to a sound card via ALSA", "Wim Taymans <wim@fluendo.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&alsasink_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &alsasink_sink_factory);
 
   gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_alsasink_getcaps);
   gstbasesink_class->query = GST_DEBUG_FUNCPTR (gst_alsasink_query);
@@ -909,16 +909,8 @@
   }
 
 #ifdef SND_CHMAP_API_VERSION
-  if (spec->type == GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW && alsa->channels < 9) {
-    snd_pcm_chmap_t *chmap = snd_pcm_get_chmap (alsa->handle);
-    if (chmap && chmap->channels == alsa->channels) {
-      GstAudioChannelPosition pos[8];
-      if (alsa_chmap_to_channel_positions (chmap, pos))
-        gst_audio_ring_buffer_set_channel_positions (GST_AUDIO_BASE_SINK
-            (alsa)->ringbuffer, pos);
-    }
-    free (chmap);
-  }
+  alsa_detect_channels_mapping (GST_OBJECT (alsa), alsa->handle, spec,
+      alsa->channels, GST_AUDIO_BASE_SINK (alsa)->ringbuffer);
 #endif /* SND_CHMAP_API_VERSION */
 
   return TRUE;
diff --git a/ext/alsa/gstalsasrc.c b/ext/alsa/gstalsasrc.c
index a359cc3..74b8bf9 100644
--- a/ext/alsa/gstalsasrc.c
+++ b/ext/alsa/gstalsasrc.c
@@ -142,8 +142,8 @@
       "Audio source (ALSA)", "Source/Audio",
       "Read from a sound card via ALSA", "Wim Taymans <wim@fluendo.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&alsasrc_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &alsasrc_src_factory);
 
   gstbasesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_alsasrc_getcaps);
 
@@ -785,16 +785,8 @@
   }
 
 #ifdef SND_CHMAP_API_VERSION
-  if (spec->type == GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW && alsa->channels < 9) {
-    snd_pcm_chmap_t *chmap = snd_pcm_get_chmap (alsa->handle);
-    if (chmap && chmap->channels == alsa->channels) {
-      GstAudioChannelPosition pos[8];
-      if (alsa_chmap_to_channel_positions (chmap, pos))
-        gst_audio_ring_buffer_set_channel_positions (GST_AUDIO_BASE_SRC
-            (alsa)->ringbuffer, pos);
-    }
-    free (chmap);
-  }
+  alsa_detect_channels_mapping (GST_OBJECT (alsa), alsa->handle, spec,
+      alsa->channels, GST_AUDIO_BASE_SRC (alsa)->ringbuffer);
 #endif /* SND_CHMAP_API_VERSION */
 
   return TRUE;
diff --git a/ext/libvisual/visual.c b/ext/libvisual/visual.c
index 460c106..2ed94f0 100644
--- a/ext/libvisual/visual.c
+++ b/ext/libvisual/visual.c
@@ -30,16 +30,16 @@
 /* amounf of samples before we can feed libvisual */
 #define VISUAL_SAMPLES  512
 
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+#define RGB_ORDER_CAPS "xRGB, RGB"
+#else
+#define RGB_ORDER_CAPS "BGRx, BGR"
+#endif
+
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (" { "
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-            "\"xRGB\", " "\"RGB\", "
-#else
-            "\"BGRx\", " "\"BGR\", "
-#endif
-            "\"RGB16\" } "))
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (" { " RGB_ORDER_CAPS ", RGB16 } "))
     );
 
 static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
@@ -103,10 +103,8 @@
         klass->plugin->info->name, klass->plugin->info->version);
 
     /* FIXME: improve to only register what plugin supports? */
-    gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&src_template));
-    gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&sink_template));
+    gst_element_class_add_static_pad_template (element_class, &src_template);
+    gst_element_class_add_static_pad_template (element_class, &sink_template);
 
     gst_element_class_set_static_metadata (element_class,
         longname, "Visualization",
diff --git a/ext/ogg/gstoggaviparse.c b/ext/ogg/gstoggaviparse.c
index c96a2df..7a12a32 100644
--- a/ext/ogg/gstoggaviparse.c
+++ b/ext/ogg/gstoggaviparse.c
@@ -140,10 +140,10 @@
       "parse an ogg avi stream into pages (info about ogg: http://xiph.org)",
       "Wim Taymans <wim@fluendo.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&ogg_avi_parse_sink_template_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&ogg_avi_parse_src_template_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &ogg_avi_parse_sink_template_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &ogg_avi_parse_src_template_factory);
 }
 
 static void
diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c
index bd129ab..f84d0e0 100644
--- a/ext/ogg/gstoggdemux.c
+++ b/ext/ogg/gstoggdemux.c
@@ -808,8 +808,6 @@
           pad->discont = FALSE;
   }
 
-  pad->position = ogg->segment.position;
-
   /* don't push the header packets when we are asked to skip them */
   if (!packet->b_o_s || push_headers) {
     if (pad->last_ret == GST_FLOW_OK) {
@@ -854,6 +852,8 @@
   GST_DEBUG_OBJECT (ogg, "ogg current time %" GST_TIME_FORMAT
       " (%" G_GINT64_FORMAT ")", GST_TIME_ARGS (current_time), current_time);
 
+  pad->position = ogg->segment.position;
+
   /* check stream eos */
   if (!pad->is_eos && !delta_unit &&
       ((ogg->segment.rate > 0.0 &&
@@ -2238,10 +2238,10 @@
       "demux ogg streams (info about ogg: http://xiph.org)",
       "Wim Taymans <wim@fluendo.com>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&ogg_demux_sink_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&ogg_demux_src_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &ogg_demux_sink_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &ogg_demux_src_template_factory);
 
   gstelement_class->change_state = gst_ogg_demux_change_state;
   gstelement_class->send_event = gst_ogg_demux_receive_event;
@@ -2319,6 +2319,7 @@
     stream->start_time = -1;
     stream->map.accumulated_granule = 0;
     stream->current_granule = -1;
+    stream->keyframe_granule = -1;
   }
   ogg->building_chain = chain;
   GST_DEBUG_OBJECT (ogg, "Resetting current chain");
@@ -4562,7 +4563,7 @@
   drop = (ogg->seek_event_drop_till > 0);
   GST_PUSH_UNLOCK (ogg);
   if (drop) {
-    GST_ERROR_OBJECT (ogg, "Dropping buffer because we have a pending seek");
+    GST_DEBUG_OBJECT (ogg, "Dropping buffer because we have a pending seek");
     gst_buffer_unref (buffer);
     return GST_FLOW_OK;
   }
diff --git a/ext/ogg/gstoggmux.c b/ext/ogg/gstoggmux.c
index 4e1ce94..d2adb3b 100644
--- a/ext/ogg/gstoggmux.c
+++ b/ext/ogg/gstoggmux.c
@@ -150,14 +150,13 @@
   gobject_class->get_property = gst_ogg_mux_get_property;
   gobject_class->set_property = gst_ogg_mux_set_property;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&audio_sink_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&subtitle_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &audio_sink_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &subtitle_sink_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Ogg muxer", "Codec/Muxer",
diff --git a/ext/ogg/gstoggparse.c b/ext/ogg/gstoggparse.c
index 76f53ab..1d7107b 100644
--- a/ext/ogg/gstoggparse.c
+++ b/ext/ogg/gstoggparse.c
@@ -225,10 +225,10 @@
       "parse ogg streams into pages (info about ogg: http://xiph.org)",
       "Michael Smith <msmith@fluendo.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&ogg_parse_sink_template_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&ogg_parse_src_template_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &ogg_parse_sink_template_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &ogg_parse_src_template_factory);
 }
 
 static void
diff --git a/ext/ogg/gstogmparse.c b/ext/ogg/gstogmparse.c
index c85c064..00632ea 100644
--- a/ext/ogg/gstogmparse.c
+++ b/ext/ogg/gstogmparse.c
@@ -281,10 +281,10 @@
       "parse an OGM audio header and stream",
       "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory_audio));
-  audio_src_templ = gst_pad_template_new ("src",
-      GST_PAD_SRC, GST_PAD_SOMETIMES, caps);
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_factory_audio);
+  audio_src_templ =
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_SOMETIMES, caps);
   gst_element_class_add_pad_template (element_class, audio_src_templ);
   gst_caps_unref (caps);
 }
@@ -300,10 +300,10 @@
       "parse an OGM video header and stream",
       "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory_video));
-  video_src_templ = gst_pad_template_new ("src",
-      GST_PAD_SRC, GST_PAD_SOMETIMES, caps);
+  gst_element_class_add_static_pad_template (element_class,
+      &sink_factory_video);
+  video_src_templ =
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_SOMETIMES, caps);
   gst_element_class_add_pad_template (element_class, video_src_templ);
   gst_caps_unref (caps);
 }
@@ -320,8 +320,7 @@
       "parse an OGM text header and stream",
       "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_factory_text));
+  gst_element_class_add_static_pad_template (element_class, &sink_factory_text);
   text_src_templ = gst_pad_template_new ("src",
       GST_PAD_SRC, GST_PAD_SOMETIMES, caps);
   gst_element_class_add_pad_template (element_class, text_src_templ);
diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c
index 501a379..7e99478 100644
--- a/ext/opus/gstopusdec.c
+++ b/ext/opus/gstopusdec.c
@@ -126,13 +126,12 @@
   adclass->set_format = GST_DEBUG_FUNCPTR (gst_opus_dec_set_format);
   adclass->getcaps = GST_DEBUG_FUNCPTR (gst_opus_dec_getcaps);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&opus_dec_src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&opus_dec_sink_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &opus_dec_src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &opus_dec_sink_factory);
   gst_element_class_set_static_metadata (element_class, "Opus audio decoder",
-      "Codec/Decoder/Audio",
-      "decode opus streams to audio",
+      "Codec/Decoder/Audio", "decode opus streams to audio",
       "Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>");
   g_object_class_install_property (gobject_class, PROP_USE_INBAND_FEC,
       g_param_spec_boolean ("use-inband-fec", "Use in-band FEC",
@@ -167,6 +166,7 @@
   dec->sample_rate = 0;
   dec->n_channels = 0;
   dec->leftover_plc_duration = 0;
+  dec->last_known_buffer_duration = GST_CLOCK_TIME_NONE;
 }
 
 static void
@@ -317,7 +317,8 @@
   const GstAudioChannelPosition *posn = NULL;
 
   if (!gst_opus_header_is_id_header (buf)) {
-    GST_ERROR_OBJECT (dec, "Header is not an Opus ID header");
+    GST_ELEMENT_ERROR (dec, STREAM, FORMAT, (NULL),
+        ("Header is not an Opus ID header"));
     return GST_FLOW_ERROR;
   }
 
@@ -328,7 +329,8 @@
           &dec->n_streams,
           &dec->n_stereo_streams,
           dec->channel_mapping, &dec->pre_skip, &dec->r128_gain)) {
-    GST_ERROR_OBJECT (dec, "Failed to parse Opus ID header");
+    GST_ELEMENT_ERROR (dec, STREAM, DECODE, (NULL),
+        ("Failed to parse Opus ID header"));
     return GST_FLOW_ERROR;
   }
   dec->r128_gain_volume = gst_opus_dec_get_r128_volume (dec->r128_gain);
@@ -382,6 +384,66 @@
   return GST_FLOW_OK;
 }
 
+/* adapted from ext/ogg/gstoggstream.c */
+static gint64
+packet_duration_opus (const unsigned char *data, size_t bytes)
+{
+  static const guint64 durations[32] = {
+    480, 960, 1920, 2880,       /* Silk NB */
+    480, 960, 1920, 2880,       /* Silk MB */
+    480, 960, 1920, 2880,       /* Silk WB */
+    480, 960,                   /* Hybrid SWB */
+    480, 960,                   /* Hybrid FB */
+    120, 240, 480, 960,         /* CELT NB */
+    120, 240, 480, 960,         /* CELT NB */
+    120, 240, 480, 960,         /* CELT NB */
+    120, 240, 480, 960,         /* CELT NB */
+  };
+
+  gint64 duration;
+  gint64 frame_duration;
+  gint nframes = 0;
+  guint8 toc;
+
+  if (bytes < 1)
+    return 0;
+
+  /* headers */
+  if (bytes >= 8 && !memcmp (data, "Opus", 4))
+    return 0;
+
+  toc = data[0];
+
+  frame_duration = durations[toc >> 3];
+  switch (toc & 3) {
+    case 0:
+      nframes = 1;
+      break;
+    case 1:
+      nframes = 2;
+      break;
+    case 2:
+      nframes = 2;
+      break;
+    case 3:
+      if (bytes < 2) {
+        GST_WARNING ("Code 3 Opus packet has less than 2 bytes");
+        return 0;
+      }
+      nframes = data[1] & 63;
+      break;
+  }
+
+  duration = nframes * frame_duration;
+  if (duration > 5760) {
+    GST_WARNING ("Opus packet duration > 120 ms, invalid");
+    return 0;
+  }
+  GST_LOG ("Opus packet: frame size %.1f ms, %d frames, duration %.1f ms",
+      frame_duration / 48.f, nframes, duration / 48.f);
+  return duration / 48.f * 1000000;
+}
+
 static GstFlowReturn
 opus_dec_chain_parse_data (GstOpusDec * dec, GstBuffer * buffer)
 {
@@ -478,6 +540,19 @@
     GstClockTime aligned_missing_duration;
     GstClockTime missing_duration = GST_BUFFER_DURATION (bufd);
 
+    if (!GST_CLOCK_TIME_IS_VALID (missing_duration)) {
+      if (GST_CLOCK_TIME_IS_VALID (dec->last_known_buffer_duration)) {
+        missing_duration = dec->last_known_buffer_duration;
+        GST_WARNING_OBJECT (dec,
+            "Missing duration, using last duration %" GST_TIME_FORMAT,
+            GST_TIME_ARGS (missing_duration));
+      } else {
+        GST_WARNING_OBJECT (dec,
+            "Missing buffer, but unknown duration, and no previously known duration, assuming 20 ms");
+        missing_duration = 20 * GST_MSECOND;
+      }
+    }
+
     GST_DEBUG_OBJECT (dec,
         "missing buffer, doing PLC duration %" GST_TIME_FORMAT
         " plus leftover %" GST_TIME_FORMAT, GST_TIME_ARGS (missing_duration),
@@ -530,6 +605,9 @@
     goto buffer_failed;
   }
 
+  if (size > 0)
+    dec->last_known_buffer_duration = packet_duration_opus (data, size);
+
   gst_buffer_map (outbuf, &omap, GST_MAP_WRITE);
   out_data = (gint16 *) omap.data;
 
@@ -558,7 +636,7 @@
     GstFlowReturn ret = GST_FLOW_ERROR;
 
     gst_buffer_unref (outbuf);
-    GST_AUDIO_DECODER_ERROR (dec, 1, STREAM, DECODE, ("Error decoding stream"),
+    GST_AUDIO_DECODER_ERROR (dec, 1, STREAM, DECODE, (NULL),
         ("Decoding error (%d): %s", n, opus_strerror (n)), ret);
     return ret;
   }
@@ -647,11 +725,13 @@
   return res;
 
 creation_failed:
-  GST_ERROR_OBJECT (dec, "Failed to create Opus decoder: %d", err);
+  GST_ELEMENT_ERROR (dec, LIBRARY, INIT, ("Failed to create Opus decoder"),
+      ("Failed to create Opus decoder (%d): %s", err, opus_strerror (err)));
   return GST_FLOW_ERROR;
 
 buffer_failed:
-  GST_ERROR_OBJECT (dec, "Failed to create %u byte buffer", packet_size);
+  GST_ELEMENT_ERROR (dec, STREAM, DECODE, (NULL),
+      ("Failed to create %u byte buffer", packet_size));
   return GST_FLOW_ERROR;
 }
 
diff --git a/ext/opus/gstopusdec.h b/ext/opus/gstopusdec.h
index df52cfb..de0dd17 100644
--- a/ext/opus/gstopusdec.h
+++ b/ext/opus/gstopusdec.h
@@ -73,6 +73,8 @@
   gboolean primed;
 
   guint64 leftover_plc_duration;
+
+  GstClockTime last_known_buffer_duration;
 };
 
 struct _GstOpusDecClass {
diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c
index 604974e..e06b75c 100644
--- a/ext/opus/gstopusenc.c
+++ b/ext/opus/gstopusenc.c
@@ -271,10 +271,8 @@
   gobject_class->set_property = gst_opus_enc_set_property;
   gobject_class->get_property = gst_opus_enc_get_property;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
   gst_element_class_set_static_metadata (gstelement_class, "Opus audio encoder",
       "Codec/Encoder/Audio",
       "Encodes audio in Opus format",
@@ -814,6 +812,9 @@
 
     caps = gst_caps_new_empty ();
 
+    /* The caps is cached */
+    GST_MINI_OBJECT_FLAG_SET (caps, GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED);
+
     /* Generate our two template structures */
     g_value_init (&rate_array, GST_TYPE_LIST);
     g_value_init (&v, G_TYPE_INT);
@@ -1046,13 +1047,14 @@
   gst_buffer_unmap (outbuf, &omap);
 
   if (outsize < 0) {
-    GST_ERROR_OBJECT (enc, "Encoding failed: %d", outsize);
+    GST_ELEMENT_ERROR (enc, STREAM, ENCODE, (NULL),
+        ("Encoding failed (%d): %s", outsize, opus_strerror (outsize)));
     ret = GST_FLOW_ERROR;
     goto done;
   } else if (outsize > max_payload_size) {
-    GST_WARNING_OBJECT (enc,
-        "Encoded size %d is higher than max payload size (%d bytes)",
-        outsize, max_payload_size);
+    GST_ELEMENT_ERROR (enc, STREAM, ENCODE, (NULL),
+        ("Encoded size %d is higher than max payload size (%d bytes)",
+            outsize, max_payload_size));
     ret = GST_FLOW_ERROR;
     goto done;
   }
diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c
index e0bb169..d2cdc23 100644
--- a/ext/pango/gstbasetextoverlay.c
+++ b/ext/pango/gstbasetextoverlay.c
@@ -351,10 +351,10 @@
   gobject_class->set_property = gst_base_text_overlay_set_property;
   gobject_class->get_property = gst_base_text_overlay_get_property;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&video_sink_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_sink_template_factory);
 
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_base_text_overlay_change_state);
@@ -2160,6 +2160,7 @@
     case GST_VIDEO_FORMAT_UYVY:
     case GST_VIDEO_FORMAT_YUY2:
     case GST_VIDEO_FORMAT_v308:
+    case GST_VIDEO_FORMAT_IYU2:
       gst_base_text_overlay_shade_packed_Y (overlay, frame, x0, x1, y0, y1);
       break;
     case GST_VIDEO_FORMAT_xRGB:
diff --git a/ext/pango/gsttextoverlay.c b/ext/pango/gsttextoverlay.c
index d036579..453e51e 100644
--- a/ext/pango/gsttextoverlay.c
+++ b/ext/pango/gsttextoverlay.c
@@ -90,8 +90,8 @@
 {
   GstElementClass *element_class = (GstElementClass *) klass;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&text_sink_template_factory));
+  gst_element_class_add_static_pad_template (element_class,
+      &text_sink_template_factory);
 
   gst_element_class_set_static_metadata (element_class, "Text overlay",
       "Filter/Editor/Video",
diff --git a/ext/pango/gsttextrender.c b/ext/pango/gsttextrender.c
index c16dce4..8d59a1b 100644
--- a/ext/pango/gsttextrender.c
+++ b/ext/pango/gsttextrender.c
@@ -188,10 +188,10 @@
   gobject_class->set_property = gst_text_render_set_property;
   gobject_class->get_property = gst_text_render_get_property;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_template_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &src_template_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &sink_template_factory);
 
   gst_element_class_set_static_metadata (gstelement_class, "Text renderer",
       "Filter/Editor/Video",
diff --git a/ext/theora/gsttheoradec.c b/ext/theora/gsttheoradec.c
index e9e70e1..45c777e 100644
--- a/ext/theora/gsttheoradec.c
+++ b/ext/theora/gsttheoradec.c
@@ -172,13 +172,12 @@
             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   }
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&theora_dec_src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&theora_dec_sink_factory));
-  gst_element_class_set_static_metadata (element_class,
-      "Theora video decoder", "Codec/Decoder/Video",
-      "decode raw theora streams to raw YUV video",
+  gst_element_class_add_static_pad_template (element_class,
+      &theora_dec_src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &theora_dec_sink_factory);
+  gst_element_class_set_static_metadata (element_class, "Theora video decoder",
+      "Codec/Decoder/Video", "decode raw theora streams to raw YUV video",
       "Benjamin Otte <otte@gnome.org>, Wim Taymans <wim@fluendo.com>");
 
   video_decoder_class->start = GST_DEBUG_FUNCPTR (theora_dec_start);
diff --git a/ext/theora/gsttheoraenc.c b/ext/theora/gsttheoraenc.c
index ce692f2..d291221 100644
--- a/ext/theora/gsttheoraenc.c
+++ b/ext/theora/gsttheoraenc.c
@@ -212,13 +212,12 @@
   gobject_class->get_property = theora_enc_get_property;
   gobject_class->finalize = theora_enc_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&theora_enc_src_factory));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&theora_enc_sink_factory));
-  gst_element_class_set_static_metadata (element_class,
-      "Theora video encoder", "Codec/Encoder/Video",
-      "encode raw YUV video to a theora stream",
+  gst_element_class_add_static_pad_template (element_class,
+      &theora_enc_src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &theora_enc_sink_factory);
+  gst_element_class_set_static_metadata (element_class, "Theora video encoder",
+      "Codec/Encoder/Video", "encode raw YUV video to a theora stream",
       "Wim Taymans <wim@fluendo.com>");
 
   gstvideo_encoder_class->start = GST_DEBUG_FUNCPTR (theora_enc_start);
diff --git a/ext/theora/gsttheoraparse.c b/ext/theora/gsttheoraparse.c
index 5c58644..12a5fb1 100644
--- a/ext/theora/gsttheoraparse.c
+++ b/ext/theora/gsttheoraparse.c
@@ -135,13 +135,13 @@
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 #endif
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&theora_parse_src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&theora_parse_sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &theora_parse_src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &theora_parse_sink_factory);
   gst_element_class_set_static_metadata (gstelement_class,
-      "Theora video parser", "Codec/Parser/Video",
-      "parse raw theora streams", "Andy Wingo <wingo@pobox.com>");
+      "Theora video parser", "Codec/Parser/Video", "parse raw theora streams",
+      "Andy Wingo <wingo@pobox.com>");
 
   gstelement_class->change_state = theora_parse_change_state;
 
diff --git a/ext/vorbis/gstvorbisdec.c b/ext/vorbis/gstvorbisdec.c
index bc0a20f..afe32ca 100644
--- a/ext/vorbis/gstvorbisdec.c
+++ b/ext/vorbis/gstvorbisdec.c
@@ -83,18 +83,16 @@
 static void
 gst_vorbis_dec_class_init (GstVorbisDecClass * klass)
 {
-  GstPadTemplate *src_template, *sink_template;
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass);
 
   gobject_class->finalize = vorbis_dec_finalize;
 
-  src_template = gst_static_pad_template_get (&vorbis_dec_src_factory);
-  gst_element_class_add_pad_template (element_class, src_template);
-
-  sink_template = gst_static_pad_template_get (&vorbis_dec_sink_factory);
-  gst_element_class_add_pad_template (element_class, sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &vorbis_dec_src_factory);
+  gst_element_class_add_static_pad_template (element_class,
+      &vorbis_dec_sink_factory);
 
   gst_element_class_set_static_metadata (element_class,
       "Vorbis audio decoder", "Codec/Decoder/Audio",
diff --git a/ext/vorbis/gstvorbisenc.c b/ext/vorbis/gstvorbisenc.c
index 818a010..1ac9d83 100644
--- a/ext/vorbis/gstvorbisenc.c
+++ b/ext/vorbis/gstvorbisenc.c
@@ -162,8 +162,8 @@
   gst_element_class_add_pad_template (gstelement_class, sink_templ);
   gst_caps_unref (sink_caps);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vorbis_enc_src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vorbis_enc_src_factory);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Vorbis audio encoder", "Codec/Encoder/Audio",
diff --git a/ext/vorbis/gstvorbisparse.c b/ext/vorbis/gstvorbisparse.c
index f9f9198..dd357a1 100644
--- a/ext/vorbis/gstvorbisparse.c
+++ b/ext/vorbis/gstvorbisparse.c
@@ -93,13 +93,12 @@
 
   gstelement_class->change_state = vorbis_parse_change_state;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vorbis_parse_src_factory));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&vorbis_parse_sink_factory));
-  gst_element_class_set_static_metadata (gstelement_class,
-      "VorbisParse", "Codec/Parser/Audio",
-      "parse raw vorbis streams",
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vorbis_parse_src_factory);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &vorbis_parse_sink_factory);
+  gst_element_class_set_static_metadata (gstelement_class, "VorbisParse",
+      "Codec/Parser/Audio", "parse raw vorbis streams",
       "Thomas Vander Stichele <thomas at apestaart dot org>");
 
   klass->parse_packet = GST_DEBUG_FUNCPTR (vorbis_parse_parse_packet);
diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
index 5c11b8a..bccfdb3 100644
--- a/gst-libs/gst/allocators/Makefile.am
+++ b/gst-libs/gst/allocators/Makefile.am
@@ -27,6 +27,7 @@
 GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstAllocators \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/allocators/Makefile.in b/gst-libs/gst/allocators/Makefile.in
index 1d1c999..140b71b 100644
--- a/gst-libs/gst/allocators/Makefile.in
+++ b/gst-libs/gst/allocators/Makefile.in
@@ -913,6 +913,7 @@
 @HAVE_INTROSPECTION_TRUE@GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstAllocators \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/allocators/gstfdmemory.c b/gst-libs/gst/allocators/gstfdmemory.c
index 7a7f05b..312a3d4 100644
--- a/gst-libs/gst/allocators/gstfdmemory.c
+++ b/gst-libs/gst/allocators/gstfdmemory.c
@@ -201,7 +201,7 @@
   allocator_class->free = gst_fd_mem_free;
 
   GST_DEBUG_CATEGORY_INIT (gst_fdmemory_debug, "fdmemory", 0,
-    "GstFdMemory and GstFdAllocator");
+      "GstFdMemory and GstFdAllocator");
 }
 
 static void
diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
index 1555841..0033371 100644
--- a/gst-libs/gst/app/Makefile.am
+++ b/gst-libs/gst/app/Makefile.am
@@ -6,14 +6,6 @@
 
 include $(top_srcdir)/common/gst-glib-gen.mak
 
-built_sources = gstapp-marshal.c
-built_headers = gstapp-marshal.h
-
-BUILT_SOURCES = $(built_sources) $(built_headers)
-
-nodist_libgstapp_@GST_API_VERSION@_la_SOURCES = \
-             $(built_sources)
-
 libgstapp_@GST_API_VERSION@_la_SOURCES = gstappsrc.c gstappsink.c 
 libgstapp_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS)
@@ -26,10 +18,6 @@
 	gstappsrc.h \
 	gstappsink.h
 
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = gstapp-marshal.list
-
 if HAVE_INTROSPECTION
 BUILT_GIRSOURCES = GstApp-@GST_API_VERSION@.gir
 
@@ -40,6 +28,7 @@
 GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstApp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
@@ -80,5 +69,5 @@
 		--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)
+CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 endif
diff --git a/gst-libs/gst/app/Makefile.in b/gst-libs/gst/app/Makefile.in
index ba3f898..7c918b4 100644
--- a/gst-libs/gst/app/Makefile.in
+++ b/gst-libs/gst/app/Makefile.in
@@ -99,7 +99,6 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-@HAVE_INTROSPECTION_TRUE@am__append_1 = $(BUILT_GIRSOURCES) $(typelibs_DATA)
 subdir = gst-libs/gst/app
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -179,11 +178,8 @@
 am_libgstapp_@GST_API_VERSION@_la_OBJECTS =  \
 	libgstapp_@GST_API_VERSION@_la-gstappsrc.lo \
 	libgstapp_@GST_API_VERSION@_la-gstappsink.lo
-am__objects_1 = libgstapp_@GST_API_VERSION@_la-gstapp-marshal.lo
-nodist_libgstapp_@GST_API_VERSION@_la_OBJECTS = $(am__objects_1)
 libgstapp_@GST_API_VERSION@_la_OBJECTS =  \
-	$(am_libgstapp_@GST_API_VERSION@_la_OBJECTS) \
-	$(nodist_libgstapp_@GST_API_VERSION@_la_OBJECTS)
+	$(am_libgstapp_@GST_API_VERSION@_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
@@ -226,8 +222,7 @@
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(libgstapp_@GST_API_VERSION@_la_SOURCES) \
-	$(nodist_libgstapp_@GST_API_VERSION@_la_SOURCES)
+SOURCES = $(libgstapp_@GST_API_VERSION@_la_SOURCES)
 DIST_SOURCES = $(libgstapp_@GST_API_VERSION@_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
@@ -539,12 +534,6 @@
 glib_gen_prefix = __gst_app
 glib_gen_basename = gstapp
 enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
-built_sources = gstapp-marshal.c
-built_headers = gstapp-marshal.h
-BUILT_SOURCES = $(built_sources) $(built_headers)
-nodist_libgstapp_@GST_API_VERSION@_la_SOURCES = \
-             $(built_sources)
-
 libgstapp_@GST_API_VERSION@_la_SOURCES = gstappsrc.c gstappsink.c 
 libgstapp_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS)
@@ -557,8 +546,6 @@
 	gstappsrc.h \
 	gstappsink.h
 
-CLEANFILES = $(BUILT_SOURCES) $(am__append_1)
-EXTRA_DIST = gstapp-marshal.list
 @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstApp-@GST_API_VERSION@.gir
 @HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, $(libgstapp_@GST_API_VERSION@include_HEADERS))
 @HAVE_INTROSPECTION_TRUE@gir_sources = $(patsubst %,$(srcdir)/%, \
@@ -572,8 +559,8 @@
 @HAVE_INTROSPECTION_TRUE@gir_DATA = $(BUILT_GIRSOURCES)
 @HAVE_INTROSPECTION_TRUE@typelibsdir = $(libdir)/girepository-1.0/
 @HAVE_INTROSPECTION_TRUE@typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
-all: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) all-am
+@HAVE_INTROSPECTION_TRUE@CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .lo .o .obj
@@ -652,7 +639,6 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapp_@GST_API_VERSION@_la-gstapp-marshal.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapp_@GST_API_VERSION@_la-gstappsink.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapp_@GST_API_VERSION@_la-gstappsrc.Plo@am__quote@
 
@@ -694,13 +680,6 @@
 @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) $(libgstapp_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstapp_@GST_API_VERSION@_la-gstappsink.lo `test -f 'gstappsink.c' || echo '$(srcdir)/'`gstappsink.c
 
-libgstapp_@GST_API_VERSION@_la-gstapp-marshal.lo: gstapp-marshal.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) $(libgstapp_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstapp_@GST_API_VERSION@_la-gstapp-marshal.lo -MD -MP -MF $(DEPDIR)/libgstapp_@GST_API_VERSION@_la-gstapp-marshal.Tpo -c -o libgstapp_@GST_API_VERSION@_la-gstapp-marshal.lo `test -f 'gstapp-marshal.c' || echo '$(srcdir)/'`gstapp-marshal.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapp_@GST_API_VERSION@_la-gstapp-marshal.Tpo $(DEPDIR)/libgstapp_@GST_API_VERSION@_la-gstapp-marshal.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstapp-marshal.c' object='libgstapp_@GST_API_VERSION@_la-gstapp-marshal.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) $(libgstapp_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstapp_@GST_API_VERSION@_la-gstapp-marshal.lo `test -f 'gstapp-marshal.c' || echo '$(srcdir)/'`gstapp-marshal.c
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -807,15 +786,13 @@
 	  fi; \
 	done
 check-am: all-am
-check: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) check-am
+check: check-am
 all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
 installdirs:
 	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(typelibsdir)" "$(DESTDIR)$(libgstapp_@GST_API_VERSION@includedir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
-install: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) install-am
+install: install-am
 install-exec: install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
@@ -846,7 +823,6 @@
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
-	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-am
 
 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
@@ -921,7 +897,7 @@
 	uninstall-libgstapp_@GST_API_VERSION@includeHEADERS \
 	uninstall-typelibsDATA
 
-.MAKE: all check install install-am install-strip
+.MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic \
 	clean-libLTLIBRARIES clean-libtool cscopelist-am ctags-am \
@@ -984,6 +960,7 @@
 @HAVE_INTROSPECTION_TRUE@GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@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@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstApp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/app/gstapp-marshal.list b/gst-libs/gst/app/gstapp-marshal.list
deleted file mode 100644
index d5fefd8..0000000
--- a/gst-libs/gst/app/gstapp-marshal.list
+++ /dev/null
@@ -1,6 +0,0 @@
-BOOLEAN:UINT64
-ENUM:BOXED
-ENUM:VOID
-BOXED:VOID
-VOID:UINT
-
diff --git a/gst-libs/gst/app/gstappsink.c b/gst-libs/gst/app/gstappsink.c
index e5293ee..eca5008 100644
--- a/gst-libs/gst/app/gstappsink.c
+++ b/gst-libs/gst/app/gstappsink.c
@@ -69,7 +69,6 @@
 
 #include <string.h>
 
-#include "gstapp-marshal.h"
 #include "gstappsink.h"
 
 struct _GstAppSinkPrivate
@@ -259,8 +258,7 @@
   gst_app_sink_signals[SIGNAL_NEW_PREROLL] =
       g_signal_new ("new-preroll", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET (GstAppSinkClass, new_preroll),
-      NULL, NULL, __gst_app_marshal_ENUM__VOID, GST_TYPE_FLOW_RETURN, 0,
-      G_TYPE_NONE);
+      NULL, NULL, NULL, GST_TYPE_FLOW_RETURN, 0, G_TYPE_NONE);
   /**
    * GstAppSink::new-sample:
    * @appsink: the appsink element that emited the signal
@@ -280,8 +278,7 @@
   gst_app_sink_signals[SIGNAL_NEW_SAMPLE] =
       g_signal_new ("new-sample", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET (GstAppSinkClass, new_sample),
-      NULL, NULL, __gst_app_marshal_ENUM__VOID, GST_TYPE_FLOW_RETURN, 0,
-      G_TYPE_NONE);
+      NULL, NULL, NULL, GST_TYPE_FLOW_RETURN, 0, G_TYPE_NONE);
 
   /**
    * GstAppSink::pull-preroll:
@@ -309,8 +306,7 @@
   gst_app_sink_signals[SIGNAL_PULL_PREROLL] =
       g_signal_new ("pull-preroll", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSinkClass,
-          pull_preroll), NULL, NULL, __gst_app_marshal_BOXED__VOID,
-      GST_TYPE_SAMPLE, 0, G_TYPE_NONE);
+          pull_preroll), NULL, NULL, NULL, GST_TYPE_SAMPLE, 0, G_TYPE_NONE);
   /**
    * GstAppSink::pull-sample:
    * @appsink: the appsink element to emit this signal on
@@ -335,15 +331,14 @@
   gst_app_sink_signals[SIGNAL_PULL_SAMPLE] =
       g_signal_new ("pull-sample", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSinkClass,
-          pull_sample), NULL, NULL, __gst_app_marshal_BOXED__VOID,
-      GST_TYPE_SAMPLE, 0, G_TYPE_NONE);
+          pull_sample), NULL, NULL, NULL, GST_TYPE_SAMPLE, 0, G_TYPE_NONE);
 
   gst_element_class_set_static_metadata (element_class, "AppSink",
       "Generic/Sink", "Allow the application to get access to raw buffer",
       "David Schleef <ds@schleef.org>, Wim Taymans <wim.taymans@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_app_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_app_sink_template);
 
   basesink_class->unlock = gst_app_sink_unlock_start;
   basesink_class->unlock_stop = gst_app_sink_unlock_stop;
diff --git a/gst-libs/gst/app/gstappsrc.c b/gst-libs/gst/app/gstappsrc.c
index d06fca1..dcbed51 100644
--- a/gst-libs/gst/app/gstappsrc.c
+++ b/gst-libs/gst/app/gstappsrc.c
@@ -98,7 +98,6 @@
 
 #include <string.h>
 
-#include "gstapp-marshal.h"
 #include "gstappsrc.h"
 
 struct _GstAppSrcPrivate
@@ -111,6 +110,7 @@
   GstCaps *current_caps;
 
   gint64 size;
+  GstClockTime duration;
   GstAppStreamType stream_type;
   guint64 max_bytes;
   GstFormat format;
@@ -163,6 +163,7 @@
 #define DEFAULT_PROP_EMIT_SIGNALS  TRUE
 #define DEFAULT_PROP_MIN_PERCENT   0
 #define DEFAULT_PROP_CURRENT_LEVEL_BYTES   0
+#define DEFAULT_PROP_DURATION      GST_CLOCK_TIME_NONE
 
 enum
 {
@@ -179,6 +180,7 @@
   PROP_EMIT_SIGNALS,
   PROP_MIN_PERCENT,
   PROP_CURRENT_LEVEL_BYTES,
+  PROP_DURATION,
   PROP_LAST
 };
 
@@ -402,6 +404,19 @@
           0, G_MAXUINT64, DEFAULT_PROP_CURRENT_LEVEL_BYTES,
           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
+  /**
+   * GstAppSrc::duration:
+   *
+   * The total duration in nanoseconds of the data stream. If the total duration is known, it
+   * is recommended to configure it with this property.
+   *
+   * Since: 1.10
+   */
+  g_object_class_install_property (gobject_class, PROP_DURATION,
+      g_param_spec_uint64 ("duration", "Duration",
+          "The duration of the data stream in nanoseconds (GST_CLOCK_TIME_NONE if unknown)",
+          0, G_MAXUINT64, DEFAULT_PROP_DURATION,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
    * GstAppSrc::need-data:
@@ -420,7 +435,7 @@
   gst_app_src_signals[SIGNAL_NEED_DATA] =
       g_signal_new ("need-data", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET (GstAppSrcClass, need_data),
-      NULL, NULL, __gst_app_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT);
+      NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_UINT);
 
   /**
    * GstAppSrc::enough-data:
@@ -449,8 +464,7 @@
   gst_app_src_signals[SIGNAL_SEEK_DATA] =
       g_signal_new ("seek-data", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET (GstAppSrcClass, seek_data),
-      NULL, NULL, __gst_app_marshal_BOOLEAN__UINT64, G_TYPE_BOOLEAN, 1,
-      G_TYPE_UINT64);
+      NULL, NULL, NULL, G_TYPE_BOOLEAN, 1, G_TYPE_UINT64);
 
    /**
     * GstAppSrc::push-buffer:
@@ -467,7 +481,7 @@
   gst_app_src_signals[SIGNAL_PUSH_BUFFER] =
       g_signal_new ("push-buffer", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSrcClass,
-          push_buffer), NULL, NULL, __gst_app_marshal_ENUM__BOXED,
+          push_buffer), NULL, NULL, NULL,
       GST_TYPE_FLOW_RETURN, 1, GST_TYPE_BUFFER);
 
   /**
@@ -493,7 +507,7 @@
   gst_app_src_signals[SIGNAL_PUSH_SAMPLE] =
       g_signal_new ("push-sample", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSrcClass,
-          push_sample), NULL, NULL, __gst_app_marshal_ENUM__BOXED,
+          push_sample), NULL, NULL, NULL,
       GST_TYPE_FLOW_RETURN, 1, GST_TYPE_SAMPLE);
 
 
@@ -506,15 +520,15 @@
   gst_app_src_signals[SIGNAL_END_OF_STREAM] =
       g_signal_new ("end-of-stream", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GstAppSrcClass,
-          end_of_stream), NULL, NULL, __gst_app_marshal_ENUM__VOID,
+          end_of_stream), NULL, NULL, NULL,
       GST_TYPE_FLOW_RETURN, 0, G_TYPE_NONE);
 
   gst_element_class_set_static_metadata (element_class, "AppSrc",
       "Generic/Source", "Allow the application to feed buffers to a pipeline",
       "David Schleef <ds@schleef.org>, Wim Taymans <wim.taymans@gmail.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_app_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_app_src_template);
 
   element_class->send_event = gst_app_src_send_event;
 
@@ -551,6 +565,7 @@
   priv->queue = g_queue_new ();
 
   priv->size = DEFAULT_PROP_SIZE;
+  priv->duration = DEFAULT_PROP_DURATION;
   priv->stream_type = DEFAULT_PROP_STREAM_TYPE;
   priv->max_bytes = DEFAULT_PROP_MAX_BYTES;
   priv->format = DEFAULT_PROP_FORMAT;
@@ -703,6 +718,9 @@
     case PROP_MIN_PERCENT:
       priv->min_percent = g_value_get_uint (value);
       break;
+    case PROP_DURATION:
+      gst_app_src_set_duration (appsrc, g_value_get_uint64 (value));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -763,6 +781,9 @@
     case PROP_CURRENT_LEVEL_BYTES:
       g_value_set_uint64 (value, gst_app_src_get_current_level_bytes (appsrc));
       break;
+    case PROP_DURATION:
+      g_value_set_uint64 (value, gst_app_src_get_duration (appsrc));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -935,6 +956,9 @@
       if (format == GST_FORMAT_BYTES) {
         gst_query_set_duration (query, format, priv->size);
         res = TRUE;
+      } else if (format == GST_FORMAT_TIME) {
+        gst_query_set_duration (query, format, priv->duration);
+        res = TRUE;
       } else {
         res = FALSE;
       }
@@ -1100,6 +1124,16 @@
 
     gst_element_post_message (GST_ELEMENT (appsrc),
         gst_message_new_duration_changed (GST_OBJECT (appsrc)));
+  } else if (G_UNLIKELY (priv->duration != bsrc->segment.duration &&
+          bsrc->segment.format == GST_FORMAT_TIME)) {
+    GST_DEBUG_OBJECT (appsrc,
+        "Duration changed from %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT,
+        GST_TIME_ARGS (bsrc->segment.duration), GST_TIME_ARGS (priv->duration));
+    bsrc->segment.duration = priv->duration;
+    GST_OBJECT_UNLOCK (appsrc);
+
+    gst_element_post_message (GST_ELEMENT (appsrc),
+        gst_message_new_duration_changed (GST_OBJECT (appsrc)));
   } else {
     GST_OBJECT_UNLOCK (appsrc);
   }
@@ -1357,6 +1391,62 @@
 }
 
 /**
+ * gst_app_src_set_duration:
+ * @appsrc: a #GstAppSrc
+ * @duration: the duration to set
+ *
+ * Set the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is
+ * not known.
+ *
+ * Since: 1.10
+ */
+void
+gst_app_src_set_duration (GstAppSrc * appsrc, GstClockTime duration)
+{
+  GstAppSrcPrivate *priv;
+
+  g_return_if_fail (GST_IS_APP_SRC (appsrc));
+
+  priv = appsrc->priv;
+
+  GST_OBJECT_LOCK (appsrc);
+  GST_DEBUG_OBJECT (appsrc, "setting duration of %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (duration));
+  priv->duration = duration;
+  GST_OBJECT_UNLOCK (appsrc);
+}
+
+/**
+ * gst_app_src_get_duration:
+ * @appsrc: a #GstAppSrc
+ *
+ * Get the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is
+ * not known.
+ *
+ * Returns: the duration of the stream previously set with gst_app_src_set_duration();
+ *
+ * Since: 1.10
+ */
+GstClockTime
+gst_app_src_get_duration (GstAppSrc * appsrc)
+{
+  GstClockTime duration;
+  GstAppSrcPrivate *priv;
+
+  g_return_val_if_fail (GST_IS_APP_SRC (appsrc), GST_CLOCK_TIME_NONE);
+
+  priv = appsrc->priv;
+
+  GST_OBJECT_LOCK (appsrc);
+  duration = priv->duration;
+  GST_DEBUG_OBJECT (appsrc, "getting duration of %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (duration));
+  GST_OBJECT_UNLOCK (appsrc);
+
+  return duration;
+}
+
+/**
  * gst_app_src_set_stream_type:
  * @appsrc: a #GstAppSrc
  * @type: the new state
@@ -1617,6 +1707,40 @@
 
   priv = appsrc->priv;
 
+  if (GST_BUFFER_DTS (buffer) == GST_CLOCK_TIME_NONE &&
+      GST_BUFFER_PTS (buffer) == GST_CLOCK_TIME_NONE &&
+      gst_base_src_get_do_timestamp (GST_BASE_SRC_CAST (appsrc))) {
+    GstClock *clock;
+
+    clock = gst_element_get_clock (GST_ELEMENT_CAST (appsrc));
+    if (clock) {
+      GstClockTime now;
+      GstClockTime base_time =
+          gst_element_get_base_time (GST_ELEMENT_CAST (appsrc));
+
+      now = gst_clock_get_time (clock);
+      if (now > base_time)
+        now -= base_time;
+      else
+        now = 0;
+      gst_object_unref (clock);
+
+      if (!steal_ref)
+        buffer = gst_buffer_copy (buffer);
+      else
+        buffer = gst_buffer_make_writable (buffer);
+
+      GST_BUFFER_PTS (buffer) = now;
+      GST_BUFFER_DTS (buffer) = now;
+      steal_ref = TRUE;
+    } else {
+      GST_WARNING_OBJECT (appsrc,
+          "do-timestamp=TRUE but buffers are provided before "
+          "reaching the PLAYING state and having a clock. Timestamps will "
+          "not be accurate!");
+    }
+  }
+
   g_mutex_lock (&priv->mutex);
 
   while (TRUE) {
diff --git a/gst-libs/gst/app/gstappsrc.h b/gst-libs/gst/app/gstappsrc.h
index d37edae..c9d1738 100644
--- a/gst-libs/gst/app/gstappsrc.h
+++ b/gst-libs/gst/app/gstappsrc.h
@@ -127,6 +127,9 @@
 void             gst_app_src_set_size                (GstAppSrc *appsrc, gint64 size);
 gint64           gst_app_src_get_size                (GstAppSrc *appsrc);
 
+void             gst_app_src_set_duration            (GstAppSrc *appsrc, GstClockTime duration);
+GstClockTime     gst_app_src_get_duration            (GstAppSrc *appsrc);
+
 void             gst_app_src_set_stream_type         (GstAppSrc *appsrc, GstAppStreamType type);
 GstAppStreamType gst_app_src_get_stream_type         (GstAppSrc *appsrc);
 
diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
index e707d1d..202cb66 100644
--- a/gst-libs/gst/audio/Makefile.am
+++ b/gst-libs/gst/audio/Makefile.am
@@ -10,6 +10,7 @@
 	audio-converter.h 	\
 	audio-info.h			\
 	audio-quantize.h			\
+	audio-resampler.h			\
 	gstaudioringbuffer.h
 
 glib_enum_define = GST_AUDIO
@@ -25,6 +26,8 @@
 
 CLEANFILES = $(BUILT_SOURCES)
 
+EXTRA_DIST += dbesi0.c
+
 libgstaudio_@GST_API_VERSION@_la_SOURCES = \
 	audio.c \
 	audio-format.c \
@@ -33,6 +36,7 @@
 	audio-converter.c \
 	audio-info.c \
 	audio-quantize.c \
+	audio-resampler.c \
 	gstaudioringbuffer.c \
 	gstaudioclock.c \
 	gstaudiocdsrc.c \
@@ -59,6 +63,7 @@
 	audio-converter.h \
 	audio-info.h \
 	audio-quantize.h \
+	audio-resampler.h \
 	gstaudioringbuffer.h \
 	gstaudioclock.h \
 	gstaudiofilter.h \
@@ -76,7 +81,9 @@
 nodist_libgstaudio_@GST_API_VERSION@include_HEADERS = \
 	audio-enumtypes.h
 
-noinst_HEADERS = gstaudioutilsprivate.h
+noinst_HEADERS = \
+	gstaudioutilsprivate.h \
+	audio-resampler-x86.h
 
 libgstaudio_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) \
 		$(ORC_CFLAGS)
@@ -98,6 +105,7 @@
 GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstAudio \
 		--nsversion=@GST_API_VERSION@ \
 		--warn-all \
diff --git a/gst-libs/gst/audio/Makefile.in b/gst-libs/gst/audio/Makefile.in
index 1a54a8f..ef1f312 100644
--- a/gst-libs/gst/audio/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -209,6 +209,7 @@
 	libgstaudio_@GST_API_VERSION@_la-audio-converter.lo \
 	libgstaudio_@GST_API_VERSION@_la-audio-info.lo \
 	libgstaudio_@GST_API_VERSION@_la-audio-quantize.lo \
+	libgstaudio_@GST_API_VERSION@_la-audio-resampler.lo \
 	libgstaudio_@GST_API_VERSION@_la-gstaudioringbuffer.lo \
 	libgstaudio_@GST_API_VERSION@_la-gstaudioclock.lo \
 	libgstaudio_@GST_API_VERSION@_la-gstaudiocdsrc.lo \
@@ -605,7 +606,7 @@
 
 # variables used for enum/marshal generation
 ORC_SOURCE = gstaudiopack
-EXTRA_DIST = $(ORC_SOURCE).orc
+EXTRA_DIST = $(ORC_SOURCE).orc dbesi0.c
 ORC_NODIST_SOURCES = tmp-orc.c $(ORC_SOURCE).h
 BUILT_SOURCES = tmp-orc.c $(ORC_SOURCE).h $(built_sources) \
 	$(built_headers)
@@ -623,6 +624,7 @@
 	audio-converter.h 	\
 	audio-info.h			\
 	audio-quantize.h			\
+	audio-resampler.h			\
 	gstaudioringbuffer.h
 
 glib_enum_define = GST_AUDIO
@@ -642,6 +644,7 @@
 	audio-converter.c \
 	audio-info.c \
 	audio-quantize.c \
+	audio-resampler.c \
 	gstaudioringbuffer.c \
 	gstaudioclock.c \
 	gstaudiocdsrc.c \
@@ -667,6 +670,7 @@
 	audio-converter.h \
 	audio-info.h \
 	audio-quantize.h \
+	audio-resampler.h \
 	gstaudioringbuffer.h \
 	gstaudioclock.h \
 	gstaudiofilter.h \
@@ -684,7 +688,10 @@
 nodist_libgstaudio_@GST_API_VERSION@include_HEADERS = \
 	audio-enumtypes.h
 
-noinst_HEADERS = gstaudioutilsprivate.h
+noinst_HEADERS = \
+	gstaudioutilsprivate.h \
+	audio-resampler-x86.h
+
 libgstaudio_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) \
 		$(ORC_CFLAGS)
 
@@ -797,6 +804,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio-format.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio-info.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio-quantize.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio-resampler.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-gstaudiobasesink.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-gstaudiobasesrc.Plo@am__quote@
@@ -887,6 +895,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) $(libgstaudio_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstaudio_@GST_API_VERSION@_la-audio-quantize.lo `test -f 'audio-quantize.c' || echo '$(srcdir)/'`audio-quantize.c
 
+libgstaudio_@GST_API_VERSION@_la-audio-resampler.lo: audio-resampler.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) $(libgstaudio_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstaudio_@GST_API_VERSION@_la-audio-resampler.lo -MD -MP -MF $(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio-resampler.Tpo -c -o libgstaudio_@GST_API_VERSION@_la-audio-resampler.lo `test -f 'audio-resampler.c' || echo '$(srcdir)/'`audio-resampler.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio-resampler.Tpo $(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-audio-resampler.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='audio-resampler.c' object='libgstaudio_@GST_API_VERSION@_la-audio-resampler.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) $(libgstaudio_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstaudio_@GST_API_VERSION@_la-audio-resampler.lo `test -f 'audio-resampler.c' || echo '$(srcdir)/'`audio-resampler.c
+
 libgstaudio_@GST_API_VERSION@_la-gstaudioringbuffer.lo: gstaudioringbuffer.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) $(libgstaudio_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstaudio_@GST_API_VERSION@_la-gstaudioringbuffer.lo -MD -MP -MF $(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-gstaudioringbuffer.Tpo -c -o libgstaudio_@GST_API_VERSION@_la-gstaudioringbuffer.lo `test -f 'gstaudioringbuffer.c' || echo '$(srcdir)/'`gstaudioringbuffer.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-gstaudioringbuffer.Tpo $(DEPDIR)/libgstaudio_@GST_API_VERSION@_la-gstaudioringbuffer.Plo
@@ -1395,6 +1410,7 @@
 @HAVE_INTROSPECTION_TRUE@GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@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@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstAudio \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--warn-all \
diff --git a/gst-libs/gst/audio/audio-channels.c b/gst-libs/gst/audio/audio-channels.c
index b358cc2..5ce2f5c 100644
--- a/gst-libs/gst/audio/audio-channels.c
+++ b/gst-libs/gst/audio/audio-channels.c
@@ -524,7 +524,7 @@
  * called as a last resort when the specific channel map is unknown.
  *
  * Returns: a fallback channel-mask for @channels or 0 when there is no
- * mask.
+ * mask and mono.
  *
  * Since: 1.8
  */
@@ -538,3 +538,108 @@
 
   return default_masks[channels - 1];
 }
+
+static const gchar *
+position_to_string (GstAudioChannelPosition pos)
+{
+  switch (pos) {
+    case GST_AUDIO_CHANNEL_POSITION_NONE:
+      return "NONE";
+    case GST_AUDIO_CHANNEL_POSITION_MONO:
+      return "MONO";
+    case GST_AUDIO_CHANNEL_POSITION_INVALID:
+      return "INVALID";
+    case GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT:
+      return "FL";
+    case GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT:
+      return "FR";
+    case GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER:
+      return "FC";
+    case GST_AUDIO_CHANNEL_POSITION_LFE1:
+      return "LFE1";
+    case GST_AUDIO_CHANNEL_POSITION_REAR_LEFT:
+      return "RL";
+    case GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT:
+      return "RR";
+    case GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER:
+      return "FLoC";
+    case GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER:
+      return "FRoC";
+    case GST_AUDIO_CHANNEL_POSITION_REAR_CENTER:
+      return "RC";
+    case GST_AUDIO_CHANNEL_POSITION_LFE2:
+      return "LF2";
+    case GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT:
+      return "SL";
+    case GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT:
+      return "SR";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_LEFT:
+      return "TFL";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_RIGHT:
+      return "TFR";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_CENTER:
+      return "TFC";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_CENTER:
+      return "TFC";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_REAR_LEFT:
+      return "TRL";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_REAR_RIGHT:
+      return "TRR";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_LEFT:
+      return "TSL";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_RIGHT:
+      return "TSR";
+    case GST_AUDIO_CHANNEL_POSITION_TOP_REAR_CENTER:
+      return "TRC";
+    case GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_CENTER:
+      return "BFC";
+    case GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_LEFT:
+      return "BFL";
+    case GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_RIGHT:
+      return "BFR";
+    case GST_AUDIO_CHANNEL_POSITION_WIDE_LEFT:
+      return "WL";
+    case GST_AUDIO_CHANNEL_POSITION_WIDE_RIGHT:
+      return "WR";
+    case GST_AUDIO_CHANNEL_POSITION_SURROUND_LEFT:
+      return "SL";
+    case GST_AUDIO_CHANNEL_POSITION_SURROUND_RIGHT:
+      return "SR";
+    default:
+      break;
+  }
+
+  return "UNKNOWN";
+}
+
+/**
+ * gst_audio_channel_positions_to_string:
+ * @position: (array length=channels): The %GstAudioChannelPositions
+ *   to convert.
+ * @channels: The number of channels.
+ *
+ * Converts @position to a human-readable string representation for
+ * debugging purposes.
+ *
+ * Returns: (transfer full): a newly allocated string representing
+ * @position
+ *
+ * Since 1.10
+ */
+gchar *
+gst_audio_channel_positions_to_string (const GstAudioChannelPosition * position,
+    gint channels)
+{
+  guint i;
+  GString *tmp;
+
+  g_return_val_if_fail (channels > 0, FALSE);
+  g_return_val_if_fail (position != NULL, FALSE);
+
+  tmp = g_string_new ("[");
+  for (i = 0; i < channels; i++)
+    g_string_append_printf (tmp, " %s", position_to_string (position[i]));
+  g_string_append (tmp, " ]");
+
+  return g_string_free (tmp, FALSE);
+}
diff --git a/gst-libs/gst/audio/audio-channels.h b/gst-libs/gst/audio/audio-channels.h
index 4aa00de..cd57898 100644
--- a/gst-libs/gst/audio/audio-channels.h
+++ b/gst-libs/gst/audio/audio-channels.h
@@ -162,6 +162,9 @@
                                                   gint *reorder_map);
 guint64        gst_audio_channel_get_fallback_mask (gint channels);
 
+gchar*         gst_audio_channel_positions_to_string (const GstAudioChannelPosition * position,
+                                                      gint channels);
+
 G_END_DECLS
 
 #endif /* __GST_AUDIO_CHANNELS_H__ */
diff --git a/gst-libs/gst/audio/audio-converter.c b/gst-libs/gst/audio/audio-converter.c
index 31f2a0e..1f0b450 100644
--- a/gst-libs/gst/audio/audio-converter.c
+++ b/gst-libs/gst/audio/audio-converter.c
@@ -127,6 +127,10 @@
   GstAudioChannelMixer *mix;
   AudioChain *mix_chain;
 
+  /* resample */
+  GstAudioResampler *resampler;
+  AudioChain *resample_chain;
+
   /* convert out */
   AudioConvertFunc convert_out;
   AudioChain *convert_out_chain;
@@ -264,10 +268,14 @@
   return res;
 }
 
+#define DEFAULT_OPT_RESAMPLER_METHOD GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL
 #define DEFAULT_OPT_DITHER_METHOD GST_AUDIO_DITHER_NONE
 #define DEFAULT_OPT_NOISE_SHAPING_METHOD GST_AUDIO_NOISE_SHAPING_NONE
 #define DEFAULT_OPT_QUANTIZATION 1
 
+#define GET_OPT_RESAMPLER_METHOD(c) get_opt_enum(c, \
+    GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD, GST_TYPE_AUDIO_RESAMPLER_METHOD, \
+    DEFAULT_OPT_RESAMPLER_METHOD)
 #define GET_OPT_DITHER_METHOD(c) get_opt_enum(c, \
     GST_AUDIO_CONVERTER_OPT_DITHER_METHOD, GST_TYPE_AUDIO_DITHER_METHOD, \
     DEFAULT_OPT_DITHER_METHOD)
@@ -296,7 +304,7 @@
  *
  * Set @in_rate, @out_rate and @config as extra configuration for @convert.
  *
- * in_rate and @out_rate specify the new sample rates of input and output
+ * @in_rate and @out_rate specify the new sample rates of input and output
  * formats. A value of 0 leaves the sample rate unchanged.
  *
  * @config can be %NULL, in which case, the current configuration is not
@@ -329,6 +337,9 @@
   convert->in.rate = in_rate;
   convert->out.rate = out_rate;
 
+  if (convert->resampler)
+    gst_audio_resampler_update (convert->resampler, in_rate, out_rate, config);
+
   if (config) {
     gst_structure_foreach (config, copy_config, convert);
     gst_structure_free (config);
@@ -385,7 +396,7 @@
     gsize stride = GST_ROUND_UP_N (num_samples * chain->stride, ALIGN);
     /* first part contains the pointers, second part the data, add some extra bytes
      * for alignement */
-    gsize needed = (stride + sizeof (gpointer)) * chain->blocks + ALIGN;
+    gsize needed = (stride + sizeof (gpointer)) * chain->blocks + ALIGN - 1;
 
     GST_DEBUG ("alloc samples %d %" G_GSIZE_FORMAT " %" G_GSIZE_FORMAT,
         chain->stride, num_samples, needed);
@@ -458,8 +469,8 @@
 static gboolean
 do_convert_in (AudioChain * chain, gpointer user_data)
 {
-  GstAudioConverter *convert = user_data;
   gsize num_samples;
+  GstAudioConverter *convert = user_data;
   gpointer *in, *out;
   gint i;
 
@@ -478,8 +489,8 @@
 static gboolean
 do_mix (AudioChain * chain, gpointer user_data)
 {
-  GstAudioConverter *convert = user_data;
   gsize num_samples;
+  GstAudioConverter *convert = user_data;
   gpointer *in, *out;
 
   in = audio_chain_get_samples (chain->prev, &num_samples);
@@ -494,6 +505,28 @@
 }
 
 static gboolean
+do_resample (AudioChain * chain, gpointer user_data)
+{
+  GstAudioConverter *convert = user_data;
+  gpointer *in, *out;
+  gsize in_frames, out_frames;
+
+  in = audio_chain_get_samples (chain->prev, &in_frames);
+  out_frames = convert->out_frames;
+  out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, out_frames));
+
+  GST_LOG ("resample %p %p,%" G_GSIZE_FORMAT " %" G_GSIZE_FORMAT, in,
+      out, in_frames, out_frames);
+
+  gst_audio_resampler_resample (convert->resampler, in, in_frames, out,
+      out_frames);
+
+  audio_chain_set_samples (chain, out, out_frames);
+
+  return TRUE;
+}
+
+static gboolean
 do_convert_out (AudioChain * chain, gpointer user_data)
 {
   GstAudioConverter *convert = user_data;
@@ -503,7 +536,7 @@
 
   in = audio_chain_get_samples (chain->prev, &num_samples);
   out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, num_samples));
-  GST_LOG ("convert out %p, %p, %" G_GSIZE_FORMAT, in, out, num_samples);
+  GST_LOG ("convert out %p, %p %" G_GSIZE_FORMAT, in, out, num_samples);
 
   for (i = 0; i < chain->blocks; i++)
     convert->convert_out (out[i], in[i], num_samples * chain->inc);
@@ -522,7 +555,7 @@
 
   in = audio_chain_get_samples (chain->prev, &num_samples);
   out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, num_samples));
-  GST_LOG ("quantize %p, %p, %" G_GSIZE_FORMAT, in, out, num_samples);
+  GST_LOG ("quantize %p, %p %" G_GSIZE_FORMAT, in, out, num_samples);
 
   gst_audio_quantize_samples (convert->quant, in, out, num_samples);
 
@@ -632,6 +665,42 @@
 }
 
 static AudioChain *
+chain_resample (GstAudioConverter * convert, AudioChain * prev)
+{
+  GstAudioInfo *in = &convert->in;
+  GstAudioInfo *out = &convert->out;
+  GstAudioResamplerMethod method;
+  GstAudioResamplerFlags flags;
+  GstAudioFormat format = convert->current_format;
+  gint channels = convert->current_channels;
+  gboolean variable_rate;
+
+  variable_rate = convert->flags & GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE;
+
+  if (in->rate != out->rate || variable_rate) {
+    method = GET_OPT_RESAMPLER_METHOD (convert);
+
+    flags = 0;
+    if (convert->current_layout == GST_AUDIO_LAYOUT_NON_INTERLEAVED) {
+      flags |= GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN;
+      flags |= GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT;
+    }
+    if (variable_rate)
+      flags |= GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE;
+
+    convert->resampler =
+        gst_audio_resampler_new (method, flags, format, channels, in->rate,
+        out->rate, convert->config);
+
+    prev = convert->resample_chain = audio_chain_new (prev, convert);
+    prev->allow_ip = FALSE;
+    prev->pass_alloc = FALSE;
+    audio_chain_set_make_func (prev, do_resample, convert, NULL);
+  }
+  return prev;
+}
+
+static AudioChain *
 chain_convert_out (GstAudioConverter * convert, AudioChain * prev)
 {
   gboolean in_int, out_int;
@@ -781,7 +850,6 @@
     for (i = 0; i < chain->blocks; i++)
       gst_audio_format_fill_silence (convert->in.finfo, out[i], samples);
   }
-
   return TRUE;
 }
 
@@ -816,9 +884,20 @@
   return TRUE;
 }
 
+static gboolean
+converter_resample (GstAudioConverter * convert,
+    GstAudioConverterFlags flags, gpointer in[], gsize in_frames,
+    gpointer out[], gsize out_frames)
+{
+  gst_audio_resampler_resample (convert->resampler, in, in_frames, out,
+      out_frames);
+
+  return TRUE;
+}
+
 /**
  * gst_audio_converter_new: (skip)
- * @flags: #GstAudioConverterFlags
+ * @flags: extra #GstAudioConverterFlags
  * @in_info: a source #GstAudioInfo
  * @out_info: a destination #GstAudioInfo
  * @config: (transfer full): a #GstStructure with configuration options
@@ -840,7 +919,6 @@
 
   g_return_val_if_fail (in_info != NULL, FALSE);
   g_return_val_if_fail (out_info != NULL, FALSE);
-  g_return_val_if_fail (in_info->rate == out_info->rate, FALSE);
   g_return_val_if_fail (in_info->layout == GST_AUDIO_LAYOUT_INTERLEAVED, FALSE);
   g_return_val_if_fail (in_info->layout == out_info->layout, FALSE);
 
@@ -868,21 +946,30 @@
   prev = chain_convert_in (convert, prev);
   /* step 3, channel mix */
   prev = chain_mix (convert, prev);
-  /* step 4, optional convert for quantize */
+  /* step 4, resample */
+  prev = chain_resample (convert, prev);
+  /* step 5, optional convert for quantize */
   prev = chain_convert_out (convert, prev);
-  /* step 5, optional quantize */
+  /* step 6, optional quantize */
   prev = chain_quantize (convert, prev);
-  /* step 6, pack */
+  /* step 7, pack */
   convert->pack_chain = chain_pack (convert, prev);
 
+  convert->convert = converter_generic;
+
   /* optimize */
   if (out_info->finfo->format == in_info->finfo->format
       && convert->mix_passthrough) {
-    GST_INFO ("same formats and passthrough mixing -> passthrough");
-    convert->convert = converter_passthrough;
-  } else {
-    GST_INFO ("do full conversion");
-    convert->convert = converter_generic;
+    if (convert->resampler == NULL) {
+      GST_INFO
+          ("same formats, no resampler and passthrough mixing -> passthrough");
+      convert->convert = converter_passthrough;
+    } else {
+      if (is_intermediate_format (in_info->finfo->format)) {
+        GST_INFO ("same formats, and passthrough mixing -> only resampling");
+        convert->convert = converter_resample;
+      }
+    }
   }
 
   setup_allocators (convert);
@@ -914,15 +1001,18 @@
     audio_chain_free (convert->convert_in_chain);
   if (convert->mix_chain)
     audio_chain_free (convert->mix_chain);
+  if (convert->resample_chain)
+    audio_chain_free (convert->resample_chain);
   if (convert->convert_out_chain)
     audio_chain_free (convert->convert_out_chain);
   if (convert->quant_chain)
     audio_chain_free (convert->quant_chain);
-
   if (convert->quant)
     gst_audio_quantize_free (convert->quant);
   if (convert->mix)
     gst_audio_channel_mixer_free (convert->mix);
+  if (convert->resampler)
+    gst_audio_resampler_free (convert->resampler);
   gst_audio_info_init (&convert->in);
   gst_audio_info_init (&convert->out);
 
@@ -945,7 +1035,10 @@
 gst_audio_converter_get_out_frames (GstAudioConverter * convert,
     gsize in_frames)
 {
-  return in_frames;
+  if (convert->resampler)
+    return gst_audio_resampler_get_out_frames (convert->resampler, in_frames);
+  else
+    return in_frames;
 }
 
 /**
@@ -962,7 +1055,10 @@
 gst_audio_converter_get_in_frames (GstAudioConverter * convert,
     gsize out_frames)
 {
-  return out_frames;
+  if (convert->resampler)
+    return gst_audio_resampler_get_in_frames (convert->resampler, out_frames);
+  else
+    return out_frames;
 }
 
 /**
@@ -978,7 +1074,10 @@
 gsize
 gst_audio_converter_get_max_latency (GstAudioConverter * convert)
 {
-  return 0;
+  if (convert->resampler)
+    return gst_audio_resampler_get_max_latency (convert->resampler);
+  else
+    return 0;
 }
 
 /**
@@ -991,6 +1090,8 @@
 void
 gst_audio_converter_reset (GstAudioConverter * convert)
 {
+  if (convert->resampler)
+    gst_audio_resampler_reset (convert->resampler);
   if (convert->quant)
     gst_audio_quantize_reset (convert->quant);
 }
@@ -1031,8 +1132,6 @@
   g_return_val_if_fail (convert != NULL, FALSE);
   g_return_val_if_fail (out != NULL, FALSE);
 
-  in_frames = MIN (in_frames, out_frames);
-
   if (in_frames == 0) {
     GST_LOG ("skipping empty buffer");
     return TRUE;
diff --git a/gst-libs/gst/audio/audio-converter.h b/gst-libs/gst/audio/audio-converter.h
index 6d037db..1f6ddc5 100644
--- a/gst-libs/gst/audio/audio-converter.h
+++ b/gst-libs/gst/audio/audio-converter.h
@@ -29,6 +29,15 @@
 typedef struct _GstAudioConverter GstAudioConverter;
 
 /**
+ * GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD:
+ *
+ * #GST_TYPE_AUDIO_RESAMPLER_METHOD, The resampler method to use when
+ * changing sample rates.
+ * Default is #GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL.
+ */
+#define GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD   "GstAudioConverter.resampler-method"
+
+/**
  * GST_AUDIO_CONVERTER_OPT_DITHER_METHOD:
  *
  * #GST_TYPE_AUDIO_DITHER_METHOD, The dither method to use when
@@ -94,7 +103,6 @@
 
 gsize                gst_audio_converter_get_max_latency (GstAudioConverter *convert);
 
-
 gboolean             gst_audio_converter_samples         (GstAudioConverter * convert,
                                                           GstAudioConverterFlags flags,
                                                           gpointer in[], gsize in_frames,
diff --git a/gst-libs/gst/audio/audio-resampler-x86.h b/gst-libs/gst/audio/audio-resampler-x86.h
new file mode 100644
index 0000000..c1b73d0
--- /dev/null
+++ b/gst-libs/gst/audio/audio-resampler-x86.h
@@ -0,0 +1,684 @@
+/* GStreamer
+ * Copyright (C) <2016> Wim Taymans <wim.taymans@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#if defined (HAVE_XMMINTRIN_H) && defined(__SSE__)
+#include <xmmintrin.h>
+
+static inline void
+inner_product_gfloat_full_1_sse (gfloat * o, const gfloat * a,
+    const gfloat * b, gint len, const gfloat * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128 sum = _mm_setzero_ps ();
+
+  for (; i < len; i += 8) {
+    sum =
+        _mm_add_ps (sum, _mm_mul_ps (_mm_loadu_ps (a + i + 0),
+            _mm_load_ps (b + i + 0)));
+    sum =
+        _mm_add_ps (sum, _mm_mul_ps (_mm_loadu_ps (a + i + 4),
+            _mm_load_ps (b + i + 4)));
+  }
+  sum = _mm_add_ps (sum, _mm_movehl_ps (sum, sum));
+  sum = _mm_add_ss (sum, _mm_shuffle_ps (sum, sum, 0x55));
+  _mm_store_ss (o, sum);
+}
+
+static inline void
+inner_product_gfloat_linear_1_sse (gfloat * o, const gfloat * a,
+    const gfloat * b, gint len, const gfloat * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128 sum[2], t;
+  const gfloat *c[2] = {(gfloat*)((gint8*)b + 0*bstride),
+                        (gfloat*)((gint8*)b + 1*bstride)};
+
+  sum[0] = sum[1] = _mm_setzero_ps ();
+
+  for (; i < len; i += 8) {
+    t = _mm_loadu_ps (a + i + 0);
+    sum[0] = _mm_add_ps (sum[0], _mm_mul_ps (t, _mm_load_ps (c[0] + i + 0)));
+    sum[1] = _mm_add_ps (sum[1], _mm_mul_ps (t, _mm_load_ps (c[1] + i + 0)));
+    t = _mm_loadu_ps (a + i + 4);
+    sum[0] = _mm_add_ps (sum[0], _mm_mul_ps (t, _mm_load_ps (c[0] + i + 4)));
+    sum[1] = _mm_add_ps (sum[1], _mm_mul_ps (t, _mm_load_ps (c[1] + i + 4)));
+  }
+  sum[0] = _mm_mul_ps (_mm_sub_ps (sum[0], sum[1]), _mm_load1_ps (icoeff));
+  sum[0] = _mm_add_ps (sum[0], sum[1]);
+  sum[0] = _mm_add_ps (sum[0], _mm_movehl_ps (sum[0], sum[0]));
+  sum[0] = _mm_add_ss (sum[0], _mm_shuffle_ps (sum[0], sum[0], 0x55));
+  _mm_store_ss (o, sum[0]);
+}
+
+static inline void
+inner_product_gfloat_cubic_1_sse (gfloat * o, const gfloat * a,
+    const gfloat * b, gint len, const gfloat * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128 sum[4];
+  __m128 t, f = _mm_loadu_ps(icoeff);
+  const gfloat *c[4] = {(gfloat*)((gint8*)b + 0*bstride),
+                        (gfloat*)((gint8*)b + 1*bstride),
+                        (gfloat*)((gint8*)b + 2*bstride),
+                        (gfloat*)((gint8*)b + 3*bstride)};
+
+  sum[0] = sum[1] = sum[2] = sum[3] = _mm_setzero_ps ();
+
+  for (; i < len; i += 4) {
+    t = _mm_loadu_ps (a + i);
+    sum[0] = _mm_add_ps (sum[0], _mm_mul_ps (t, _mm_load_ps (c[0] + i)));
+    sum[1] = _mm_add_ps (sum[1], _mm_mul_ps (t, _mm_load_ps (c[1] + i)));
+    sum[2] = _mm_add_ps (sum[2], _mm_mul_ps (t, _mm_load_ps (c[2] + i)));
+    sum[3] = _mm_add_ps (sum[3], _mm_mul_ps (t, _mm_load_ps (c[3] + i)));
+  }
+  sum[0] = _mm_mul_ps (sum[0], _mm_shuffle_ps (f, f, 0x00));
+  sum[1] = _mm_mul_ps (sum[1], _mm_shuffle_ps (f, f, 0x55));
+  sum[2] = _mm_mul_ps (sum[2], _mm_shuffle_ps (f, f, 0xaa));
+  sum[3] = _mm_mul_ps (sum[3], _mm_shuffle_ps (f, f, 0xff));
+  sum[0] = _mm_add_ps (sum[0], sum[1]);
+  sum[2] = _mm_add_ps (sum[2], sum[3]);
+  sum[0] = _mm_add_ps (sum[0], sum[2]);
+  sum[0] = _mm_add_ps (sum[0], _mm_movehl_ps (sum[0], sum[0]));
+  sum[0] = _mm_add_ss (sum[0], _mm_shuffle_ps (sum[0], sum[0], 0x55));
+  _mm_store_ss (o, sum[0]);
+}
+
+MAKE_RESAMPLE_FUNC (gfloat, full, 1, sse);
+MAKE_RESAMPLE_FUNC (gfloat, linear, 1, sse);
+MAKE_RESAMPLE_FUNC (gfloat, cubic, 1, sse);
+
+static void
+interpolate_gfloat_linear_sse (gpointer op, const gpointer ap,
+    gint len, const gpointer icp, gint astride)
+{
+  gint i;
+  gfloat *o = op, *a = ap, *ic = icp;
+  __m128 f[2], t1, t2;
+  const gfloat *c[2] = {(gfloat*)((gint8*)a + 0*astride),
+                        (gfloat*)((gint8*)a + 1*astride)};
+
+  f[0] = _mm_load1_ps (ic+0);
+  f[1] = _mm_load1_ps (ic+1);
+
+  for (i = 0; i < len; i += 8) {
+    t1 = _mm_mul_ps (_mm_load_ps (c[0] + i + 0), f[0]);
+    t2 = _mm_mul_ps (_mm_load_ps (c[1] + i + 0), f[1]);
+    _mm_store_ps (o + i + 0, _mm_add_ps (t1, t2));
+
+    t1 = _mm_mul_ps (_mm_load_ps (c[0] + i + 4), f[0]);
+    t2 = _mm_mul_ps (_mm_load_ps (c[1] + i + 4), f[1]);
+    _mm_store_ps (o + i + 4, _mm_add_ps (t1, t2));
+  }
+}
+
+static void
+interpolate_gfloat_cubic_sse (gpointer op, const gpointer ap,
+    gint len, const gpointer icp, gint astride)
+{
+  gint i;
+  gfloat *o = op, *a = ap, *ic = icp;
+  __m128 f[4], t[4];
+  const gfloat *c[4] = {(gfloat*)((gint8*)a + 0*astride),
+                        (gfloat*)((gint8*)a + 1*astride),
+                        (gfloat*)((gint8*)a + 2*astride),
+                        (gfloat*)((gint8*)a + 3*astride)};
+
+  f[0] = _mm_load1_ps (ic+0);
+  f[1] = _mm_load1_ps (ic+1);
+  f[2] = _mm_load1_ps (ic+2);
+  f[3] = _mm_load1_ps (ic+3);
+
+  for (i = 0; i < len; i += 4) {
+    t[0] = _mm_mul_ps (_mm_load_ps (c[0] + i + 0), f[0]);
+    t[1] = _mm_mul_ps (_mm_load_ps (c[1] + i + 0), f[1]);
+    t[2] = _mm_mul_ps (_mm_load_ps (c[2] + i + 0), f[2]);
+    t[3] = _mm_mul_ps (_mm_load_ps (c[3] + i + 0), f[3]);
+    t[0] = _mm_add_ps (t[0], t[1]);
+    t[2] = _mm_add_ps (t[2], t[3]);
+    _mm_store_ps (o + i + 0, _mm_add_ps (t[0], t[2]));
+  }
+}
+
+#endif
+
+#if defined (HAVE_EMMINTRIN_H) && defined(__SSE2__)
+#include <emmintrin.h>
+
+static inline void
+inner_product_gint16_full_1_sse2 (gint16 * o, const gint16 * a,
+    const gint16 * b, gint len, const gint16 * icoeff, gint bstride)
+{
+  gint i;
+  __m128i sum, t;
+
+  sum = _mm_setzero_si128 ();
+
+  for (i = 0; i < len; i += 16) {
+    t = _mm_loadu_si128 ((__m128i *) (a + i));
+    sum = _mm_add_epi32 (sum, _mm_madd_epi16 (t, _mm_load_si128 ((__m128i *) (b + i + 0))));
+
+    t = _mm_loadu_si128 ((__m128i *) (a + i + 8));
+    sum = _mm_add_epi32 (sum, _mm_madd_epi16 (t, _mm_load_si128 ((__m128i *) (b + i + 8))));
+  }
+  sum = _mm_add_epi32 (sum, _mm_shuffle_epi32 (sum, _MM_SHUFFLE (2, 3, 2, 3)));
+  sum = _mm_add_epi32 (sum, _mm_shuffle_epi32 (sum, _MM_SHUFFLE (1, 1, 1, 1)));
+
+  sum = _mm_add_epi32 (sum, _mm_set1_epi32 (1 << (PRECISION_S16 - 1)));
+  sum = _mm_srai_epi32 (sum, PRECISION_S16);
+  sum = _mm_packs_epi32 (sum, sum);
+  *o = _mm_extract_epi16 (sum, 0);
+}
+
+static inline void
+inner_product_gint16_linear_1_sse2 (gint16 * o, const gint16 * a,
+    const gint16 * b, gint len, const gint16 * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128i sum[2], t;
+  __m128i f = _mm_set_epi64x (0, *((gint64*)icoeff));
+  const gint16 *c[2] = {(gint16*)((gint8*)b + 0*bstride),
+                        (gint16*)((gint8*)b + 1*bstride)};
+
+  sum[0] = sum[1] = _mm_setzero_si128 ();
+  f = _mm_unpacklo_epi16 (f, sum[0]);
+
+  for (; i < len; i += 16) {
+    t = _mm_loadu_si128 ((__m128i *) (a + i + 0));
+    sum[0] = _mm_add_epi32 (sum[0], _mm_madd_epi16 (t, _mm_load_si128 ((__m128i *) (c[0] + i + 0))));
+    sum[1] = _mm_add_epi32 (sum[1], _mm_madd_epi16 (t, _mm_load_si128 ((__m128i *) (c[1] + i + 0))));
+
+    t = _mm_loadu_si128 ((__m128i *) (a + i + 8));
+    sum[0] = _mm_add_epi32 (sum[0], _mm_madd_epi16 (t, _mm_load_si128 ((__m128i *) (c[0] + i + 8))));
+    sum[1] = _mm_add_epi32 (sum[1], _mm_madd_epi16 (t, _mm_load_si128 ((__m128i *) (c[1] + i + 8))));
+  }
+  sum[0] = _mm_srai_epi32 (sum[0], PRECISION_S16);
+  sum[1] = _mm_srai_epi32 (sum[1], PRECISION_S16);
+
+  sum[0] = _mm_madd_epi16 (sum[0], _mm_shuffle_epi32 (f,  _MM_SHUFFLE (0, 0, 0, 0)));
+  sum[1] = _mm_madd_epi16 (sum[1], _mm_shuffle_epi32 (f,  _MM_SHUFFLE (1, 1, 1, 1)));
+  sum[0] = _mm_add_epi32 (sum[0], sum[1]);
+
+  sum[0] = _mm_add_epi32 (sum[0], _mm_shuffle_epi32 (sum[0], _MM_SHUFFLE (2, 3, 2, 3)));
+  sum[0] = _mm_add_epi32 (sum[0], _mm_shuffle_epi32 (sum[0], _MM_SHUFFLE (1, 1, 1, 1)));
+
+  sum[0] = _mm_add_epi32 (sum[0], _mm_set1_epi32 (1 << (PRECISION_S16 - 1)));
+  sum[0] = _mm_srai_epi32 (sum[0], PRECISION_S16);
+  sum[0] = _mm_packs_epi32 (sum[0], sum[0]);
+  *o = _mm_extract_epi16 (sum[0], 0);
+}
+
+static inline void
+inner_product_gint16_cubic_1_sse2 (gint16 * o, const gint16 * a,
+    const gint16 * b, gint len, const gint16 * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128i sum[4], t[4];
+  __m128i f = _mm_set_epi64x (0, *((long long*)icoeff));
+  const gint16 *c[4] = {(gint16*)((gint8*)b + 0*bstride),
+                        (gint16*)((gint8*)b + 1*bstride),
+                        (gint16*)((gint8*)b + 2*bstride),
+                        (gint16*)((gint8*)b + 3*bstride)};
+
+  sum[0] = sum[1] = sum[2] = sum[3] = _mm_setzero_si128 ();
+  f = _mm_unpacklo_epi16 (f, sum[0]);
+
+  for (; i < len; i += 8) {
+    t[0] = _mm_loadu_si128 ((__m128i *) (a + i));
+    sum[0] = _mm_add_epi32 (sum[0], _mm_madd_epi16 (t[0], _mm_load_si128 ((__m128i *) (c[0] + i))));
+    sum[1] = _mm_add_epi32 (sum[1], _mm_madd_epi16 (t[0], _mm_load_si128 ((__m128i *) (c[1] + i))));
+    sum[2] = _mm_add_epi32 (sum[2], _mm_madd_epi16 (t[0], _mm_load_si128 ((__m128i *) (c[2] + i))));
+    sum[3] = _mm_add_epi32 (sum[3], _mm_madd_epi16 (t[0], _mm_load_si128 ((__m128i *) (c[3] + i))));
+  }
+  t[0] = _mm_unpacklo_epi32 (sum[0], sum[1]);
+  t[1] = _mm_unpacklo_epi32 (sum[2], sum[3]);
+  t[2] = _mm_unpackhi_epi32 (sum[0], sum[1]);
+  t[3] = _mm_unpackhi_epi32 (sum[2], sum[3]);
+
+  sum[0] = _mm_add_epi32 (_mm_unpacklo_epi64(t[0], t[1]), _mm_unpackhi_epi64(t[0], t[1]));
+  sum[2] = _mm_add_epi32 (_mm_unpacklo_epi64(t[2], t[3]), _mm_unpackhi_epi64(t[2], t[3]));
+  sum[0] = _mm_add_epi32 (sum[0], sum[2]);
+
+  sum[0] = _mm_srai_epi32 (sum[0], PRECISION_S16);
+  sum[0] = _mm_madd_epi16 (sum[0], f);
+
+  sum[0] = _mm_add_epi32 (sum[0], _mm_shuffle_epi32 (sum[0], _MM_SHUFFLE (2, 3, 2, 3)));
+  sum[0] = _mm_add_epi32 (sum[0], _mm_shuffle_epi32 (sum[0], _MM_SHUFFLE (1, 1, 1, 1)));
+
+  sum[0] = _mm_add_epi32 (sum[0], _mm_set1_epi32 (1 << (PRECISION_S16 - 1)));
+  sum[0] = _mm_srai_epi32 (sum[0], PRECISION_S16);
+  sum[0] = _mm_packs_epi32 (sum[0], sum[0]);
+  *o = _mm_extract_epi16 (sum[0], 0);
+}
+
+static inline void
+inner_product_gdouble_full_1_sse2 (gdouble * o, const gdouble * a,
+    const gdouble * b, gint len, const gdouble * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128d sum = _mm_setzero_pd ();
+
+  for (; i < len; i += 8) {
+    sum =
+        _mm_add_pd (sum, _mm_mul_pd (_mm_loadu_pd (a + i + 0),
+            _mm_load_pd (b + i + 0)));
+    sum =
+        _mm_add_pd (sum, _mm_mul_pd (_mm_loadu_pd (a + i + 2),
+            _mm_load_pd (b + i + 2)));
+    sum =
+        _mm_add_pd (sum, _mm_mul_pd (_mm_loadu_pd (a + i + 4),
+            _mm_load_pd (b + i + 4)));
+    sum =
+        _mm_add_pd (sum, _mm_mul_pd (_mm_loadu_pd (a + i + 6),
+            _mm_load_pd (b + i + 6)));
+  }
+  sum = _mm_add_sd (sum, _mm_unpackhi_pd (sum, sum));
+  _mm_store_sd (o, sum);
+}
+
+static inline void
+inner_product_gdouble_linear_1_sse2 (gdouble * o, const gdouble * a,
+    const gdouble * b, gint len, const gdouble * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128d sum[2], t;
+  const gdouble *c[2] = {(gdouble*)((gint8*)b + 0*bstride),
+                         (gdouble*)((gint8*)b + 1*bstride)};
+
+  sum[0] = sum[1] = _mm_setzero_pd ();
+
+  for (; i < len; i += 4) {
+    t = _mm_loadu_pd (a + i + 0);
+    sum[0] = _mm_add_pd (sum[0], _mm_mul_pd (t, _mm_load_pd (c[0] + i + 0)));
+    sum[1] = _mm_add_pd (sum[1], _mm_mul_pd (t, _mm_load_pd (c[1] + i + 0)));
+    t = _mm_loadu_pd (a + i + 2);
+    sum[0] = _mm_add_pd (sum[0], _mm_mul_pd (t, _mm_load_pd (c[0] + i + 2)));
+    sum[1] = _mm_add_pd (sum[1], _mm_mul_pd (t, _mm_load_pd (c[1] + i + 2)));
+  }
+  sum[0] = _mm_mul_pd (_mm_sub_pd (sum[0], sum[1]), _mm_load1_pd (icoeff));
+  sum[0] = _mm_add_pd (sum[0], sum[1]);
+  sum[0] = _mm_add_sd (sum[0], _mm_unpackhi_pd (sum[0], sum[0]));
+  _mm_store_sd (o, sum[0]);
+}
+
+static inline void
+inner_product_gdouble_cubic_1_sse2 (gdouble * o, const gdouble * a,
+    const gdouble * b, gint len, const gdouble * icoeff, gint bstride)
+{
+  gint i;
+  __m128d f[2], sum[4], t;
+  const gdouble *c[4] = {(gdouble*)((gint8*)b + 0*bstride),
+                         (gdouble*)((gint8*)b + 1*bstride),
+                         (gdouble*)((gint8*)b + 2*bstride),
+                         (gdouble*)((gint8*)b + 3*bstride)};
+
+  f[0] = _mm_loadu_pd (icoeff + 0);
+  f[1] = _mm_loadu_pd (icoeff + 2);
+  sum[0] = sum[1] = sum[2] = sum[3] = _mm_setzero_pd ();
+
+  for (i = 0; i < len; i += 2) {
+    t = _mm_loadu_pd (a + i + 0);
+    sum[0] = _mm_add_pd (sum[0], _mm_mul_pd (t, _mm_load_pd (c[0] + i)));
+    sum[1] = _mm_add_pd (sum[1], _mm_mul_pd (t, _mm_load_pd (c[1] + i)));
+    sum[2] = _mm_add_pd (sum[2], _mm_mul_pd (t, _mm_load_pd (c[2] + i)));
+    sum[3] = _mm_add_pd (sum[3], _mm_mul_pd (t, _mm_load_pd (c[3] + i)));
+  }
+  sum[0] = _mm_mul_pd (sum[0], _mm_shuffle_pd (f[0], f[0], _MM_SHUFFLE2 (0, 0)));
+  sum[1] = _mm_mul_pd (sum[1], _mm_shuffle_pd (f[0], f[0], _MM_SHUFFLE2 (1, 1)));
+  sum[2] = _mm_mul_pd (sum[2], _mm_shuffle_pd (f[1], f[1], _MM_SHUFFLE2 (0, 0)));
+  sum[3] = _mm_mul_pd (sum[3], _mm_shuffle_pd (f[1], f[1], _MM_SHUFFLE2 (1, 1)));
+  sum[0] = _mm_add_pd (sum[0], sum[1]);
+  sum[2] = _mm_add_pd (sum[2], sum[3]);
+  sum[0] = _mm_add_pd (sum[0], sum[2]);
+  sum[0] = _mm_add_sd (sum[0], _mm_unpackhi_pd (sum[0], sum[0]));
+  _mm_store_sd (o, sum[0]);
+}
+
+MAKE_RESAMPLE_FUNC (gint16, full, 1, sse2);
+MAKE_RESAMPLE_FUNC (gint16, linear, 1, sse2);
+MAKE_RESAMPLE_FUNC (gint16, cubic, 1, sse2);
+
+MAKE_RESAMPLE_FUNC (gdouble, full, 1, sse2);
+MAKE_RESAMPLE_FUNC (gdouble, linear, 1, sse2);
+MAKE_RESAMPLE_FUNC (gdouble, cubic, 1, sse2);
+
+static inline void
+interpolate_gint16_linear_sse2 (gpointer op, const gpointer ap,
+    gint len, const gpointer icp, gint astride)
+{
+  gint i = 0;
+  gint16 *o = op, *a = ap, *ic = icp;
+  __m128i ta, tb, t1, t2;
+  __m128i f = _mm_set_epi64x (0, *((gint64*)ic));
+  const gint16 *c[2] = {(gint16*)((gint8*)a + 0*astride),
+                        (gint16*)((gint8*)a + 1*astride)};
+
+  f = _mm_unpacklo_epi32 (f, f);
+  f = _mm_unpacklo_epi64 (f, f);
+
+  for (; i < len; i += 8) {
+    ta = _mm_load_si128 ((__m128i *) (c[0] + i));
+    tb = _mm_load_si128 ((__m128i *) (c[1] + i));
+
+    t1 = _mm_madd_epi16 (_mm_unpacklo_epi16 (ta, tb), f);
+    t2 = _mm_madd_epi16 (_mm_unpackhi_epi16 (ta, tb), f);
+
+    t1 = _mm_add_epi32 (t1, _mm_set1_epi32 (1 << (PRECISION_S16 - 1)));
+    t2 = _mm_add_epi32 (t2, _mm_set1_epi32 (1 << (PRECISION_S16 - 1)));
+
+    t1 = _mm_srai_epi32 (t1, PRECISION_S16);
+    t2 = _mm_srai_epi32 (t2, PRECISION_S16);
+
+    t1 = _mm_packs_epi32 (t1, t2);
+    _mm_store_si128 ((__m128i *) (o + i), t1);
+  }
+}
+
+static inline void
+interpolate_gint16_cubic_sse2 (gpointer op, const gpointer ap,
+    gint len, const gpointer icp, gint astride)
+{
+  gint i = 0;
+  gint16 *o = op, *a = ap, *ic = icp;
+  __m128i ta, tb, tl1, tl2, th1, th2;
+  __m128i f[2];
+  const gint16 *c[4] = {(gint16*)((gint8*)a + 0*astride),
+                        (gint16*)((gint8*)a + 1*astride),
+                        (gint16*)((gint8*)a + 2*astride),
+                        (gint16*)((gint8*)a + 3*astride)};
+
+  f[0] = _mm_set_epi16 (ic[1], ic[0], ic[1], ic[0], ic[1], ic[0], ic[1], ic[0]);
+  f[1] = _mm_set_epi16 (ic[3], ic[2], ic[3], ic[2], ic[3], ic[2], ic[3], ic[2]);
+
+  for (; i < len; i += 8) {
+    ta = _mm_load_si128 ((__m128i *) (c[0] + i));
+    tb = _mm_load_si128 ((__m128i *) (c[1] + i));
+
+    tl1 = _mm_madd_epi16 (_mm_unpacklo_epi16 (ta, tb), f[0]);
+    th1 = _mm_madd_epi16 (_mm_unpackhi_epi16 (ta, tb), f[0]);
+
+    ta = _mm_load_si128 ((__m128i *) (c[2] + i));
+    tb = _mm_load_si128 ((__m128i *) (c[3] + i));
+
+    tl2 = _mm_madd_epi16 (_mm_unpacklo_epi16 (ta, tb), f[1]);
+    th2 = _mm_madd_epi16 (_mm_unpackhi_epi16 (ta, tb), f[1]);
+
+    tl1 = _mm_add_epi32 (tl1, tl2);
+    th1 = _mm_add_epi32 (th1, th2);
+
+    tl1 = _mm_add_epi32 (tl1, _mm_set1_epi32 (1 << (PRECISION_S16 - 1)));
+    th1 = _mm_add_epi32 (th1, _mm_set1_epi32 (1 << (PRECISION_S16 - 1)));
+
+    tl1 = _mm_srai_epi32 (tl1, PRECISION_S16);
+    th1 = _mm_srai_epi32 (th1, PRECISION_S16);
+
+    tl1 = _mm_packs_epi32 (tl1, th1);
+    _mm_store_si128 ((__m128i *) (o + i), tl1);
+  }
+}
+
+static void
+interpolate_gdouble_linear_sse2 (gpointer op, const gpointer ap,
+    gint len, const gpointer icp, gint astride)
+{
+  gint i;
+  gdouble *o = op, *a = ap, *ic = icp;
+  __m128d f[2], t1, t2;
+  const gdouble *c[2] = {(gdouble*)((gint8*)a + 0*astride),
+                         (gdouble*)((gint8*)a + 1*astride)};
+
+  f[0] = _mm_load1_pd (ic+0);
+  f[1] = _mm_load1_pd (ic+1);
+
+  for (i = 0; i < len; i += 4) {
+    t1 = _mm_mul_pd (_mm_load_pd (c[0] + i + 0), f[0]);
+    t2 = _mm_mul_pd (_mm_load_pd (c[1] + i + 0), f[1]);
+    _mm_store_pd (o + i + 0, _mm_add_pd (t1, t2));
+
+    t1 = _mm_mul_pd (_mm_load_pd (c[0] + i + 2), f[0]);
+    t2 = _mm_mul_pd (_mm_load_pd (c[1] + i + 2), f[1]);
+    _mm_store_pd (o + i + 2, _mm_add_pd (t1, t2));
+  }
+}
+
+static void
+interpolate_gdouble_cubic_sse2 (gpointer op, const gpointer ap,
+    gint len, const gpointer icp, gint astride)
+{
+  gint i;
+  gdouble *o = op, *a = ap, *ic = icp;
+  __m128d f[4], t[4];
+  const gdouble *c[4] = {(gdouble*)((gint8*)a + 0*astride),
+                         (gdouble*)((gint8*)a + 1*astride),
+                         (gdouble*)((gint8*)a + 2*astride),
+                         (gdouble*)((gint8*)a + 3*astride)};
+
+  f[0] = _mm_load1_pd (ic+0);
+  f[1] = _mm_load1_pd (ic+1);
+  f[2] = _mm_load1_pd (ic+2);
+  f[3] = _mm_load1_pd (ic+3);
+
+  for (i = 0; i < len; i += 2) {
+    t[0] = _mm_mul_pd (_mm_load_pd (c[0] + i + 0), f[0]);
+    t[1] = _mm_mul_pd (_mm_load_pd (c[1] + i + 0), f[1]);
+    t[2] = _mm_mul_pd (_mm_load_pd (c[2] + i + 0), f[2]);
+    t[3] = _mm_mul_pd (_mm_load_pd (c[3] + i + 0), f[3]);
+    t[0] = _mm_add_pd (t[0], t[1]);
+    t[2] = _mm_add_pd (t[2], t[3]);
+    _mm_store_pd (o + i + 0, _mm_add_pd (t[0], t[2]));
+  }
+}
+
+#endif
+
+#if 0
+#define __SSE4_1__
+#pragma GCC target("sse4.1")
+#endif
+
+#if defined (HAVE_SMMINTRIN_H) && defined(__SSE4_1__)
+#include <smmintrin.h>
+
+static inline void
+inner_product_gint32_full_1_sse41 (gint32 * o, const gint32 * a,
+    const gint32 * b, gint len, const gint32 * icoeff, gint bstride)
+{
+  gint i = 0;
+  __m128i sum, ta, tb;
+  gint64 res;
+
+  sum = _mm_setzero_si128 ();
+
+  for (; i < len; i += 8) {
+    ta = _mm_loadu_si128 ((__m128i *) (a + i));
+    tb = _mm_load_si128 ((__m128i *) (b + i));
+
+    sum =
+        _mm_add_epi64 (sum, _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+            _mm_unpacklo_epi32 (tb, tb)));
+    sum =
+        _mm_add_epi64 (sum, _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+            _mm_unpackhi_epi32 (tb, tb)));
+
+    ta = _mm_loadu_si128 ((__m128i *) (a + i + 4));
+    tb = _mm_load_si128 ((__m128i *) (b + i + 4));
+
+    sum =
+        _mm_add_epi64 (sum, _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+            _mm_unpacklo_epi32 (tb, tb)));
+    sum =
+        _mm_add_epi64 (sum, _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+            _mm_unpackhi_epi32 (tb, tb)));
+  }
+  sum = _mm_add_epi64 (sum, _mm_unpackhi_epi64 (sum, sum));
+  res = _mm_cvtsi128_si64 (sum);
+
+  res = (res + (1 << (PRECISION_S32 - 1))) >> PRECISION_S32;
+  *o = CLAMP (res, -(1L << 31), (1L << 31) - 1);
+}
+
+static inline void
+inner_product_gint32_linear_1_sse41 (gint32 * o, const gint32 * a,
+    const gint32 * b, gint len, const gint32 * icoeff, gint bstride)
+{
+  gint i = 0;
+  gint64 res;
+  __m128i sum[2], ta, tb;
+  __m128i f = _mm_loadu_si128 ((__m128i *)icoeff);
+  const gint32 *c[2] = {(gint32*)((gint8*)b + 0*bstride),
+                        (gint32*)((gint8*)b + 1*bstride)};
+
+  sum[0] = sum[1] = _mm_setzero_si128 ();
+
+  for (; i < len; i += 4) {
+    ta = _mm_loadu_si128 ((__m128i *)(a + i));
+
+    tb = _mm_load_si128 ((__m128i *)(c[0] + i));
+    sum[0] = _mm_add_epi64 (sum[0], _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+              _mm_unpacklo_epi32 (tb, tb)));
+    sum[0] = _mm_add_epi64 (sum[0], _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+              _mm_unpackhi_epi32 (tb, tb)));
+
+    tb = _mm_load_si128 ((__m128i *)(c[1] + i));
+    sum[1] = _mm_add_epi64 (sum[1], _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+              _mm_unpacklo_epi32 (tb, tb)));
+    sum[1] = _mm_add_epi64 (sum[1], _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+              _mm_unpackhi_epi32 (tb, tb)));
+  }
+  sum[0] = _mm_srli_epi64 (sum[0], PRECISION_S32);
+  sum[1] = _mm_srli_epi64 (sum[1], PRECISION_S32);
+  sum[0] = _mm_mul_epi32 (sum[0], _mm_shuffle_epi32 (f, _MM_SHUFFLE (0, 0, 0, 0)));
+  sum[1] = _mm_mul_epi32 (sum[1], _mm_shuffle_epi32 (f, _MM_SHUFFLE (1, 1, 1, 1)));
+  sum[0] = _mm_add_epi64 (sum[0], sum[1]);
+  sum[0] = _mm_add_epi64 (sum[0], _mm_unpackhi_epi64 (sum[0], sum[0]));
+  res = _mm_cvtsi128_si64 (sum[0]);
+
+  res = (res + (1 << (PRECISION_S32 - 1))) >> PRECISION_S32;
+  *o = CLAMP (res, -(1L << 31), (1L << 31) - 1);
+}
+
+static inline void
+inner_product_gint32_cubic_1_sse41 (gint32 * o, const gint32 * a,
+    const gint32 * b, gint len, const gint32 * icoeff, gint bstride)
+{
+  gint i = 0;
+  gint64 res;
+  __m128i sum[4], ta, tb;
+  __m128i f = _mm_loadu_si128 ((__m128i *)icoeff);
+  const gint32 *c[4] = {(gint32*)((gint8*)b + 0*bstride),
+                        (gint32*)((gint8*)b + 1*bstride),
+                        (gint32*)((gint8*)b + 2*bstride),
+                        (gint32*)((gint8*)b + 3*bstride)};
+
+  sum[0] = sum[1] = sum[2] = sum[3] = _mm_setzero_si128 ();
+
+  for (; i < len; i += 4) {
+    ta = _mm_loadu_si128 ((__m128i *)(a + i));
+
+    tb = _mm_load_si128 ((__m128i *)(c[0] + i));
+    sum[0] = _mm_add_epi64 (sum[0], _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+              _mm_unpacklo_epi32 (tb, tb)));
+    sum[0] = _mm_add_epi64 (sum[0], _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+              _mm_unpackhi_epi32 (tb, tb)));
+
+    tb = _mm_load_si128 ((__m128i *)(c[1] + i));
+    sum[1] = _mm_add_epi64 (sum[1], _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+              _mm_unpacklo_epi32 (tb, tb)));
+    sum[1] = _mm_add_epi64 (sum[1], _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+              _mm_unpackhi_epi32 (tb, tb)));
+
+    tb = _mm_load_si128 ((__m128i *)(c[2] + i));
+    sum[2] = _mm_add_epi64 (sum[2], _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+              _mm_unpacklo_epi32 (tb, tb)));
+    sum[2] = _mm_add_epi64 (sum[2], _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+              _mm_unpackhi_epi32 (tb, tb)));
+
+    tb = _mm_load_si128 ((__m128i *)(c[3] + i));
+    sum[3] = _mm_add_epi64 (sum[3], _mm_mul_epi32 (_mm_unpacklo_epi32 (ta, ta),
+              _mm_unpacklo_epi32 (tb, tb)));
+    sum[3] = _mm_add_epi64 (sum[3], _mm_mul_epi32 (_mm_unpackhi_epi32 (ta, ta),
+              _mm_unpackhi_epi32 (tb, tb)));
+  }
+  sum[0] = _mm_srli_epi64 (sum[0], PRECISION_S32);
+  sum[1] = _mm_srli_epi64 (sum[1], PRECISION_S32);
+  sum[2] = _mm_srli_epi64 (sum[2], PRECISION_S32);
+  sum[3] = _mm_srli_epi64 (sum[3], PRECISION_S32);
+  sum[0] = _mm_mul_epi32 (sum[0], _mm_shuffle_epi32 (f, _MM_SHUFFLE (0, 0, 0, 0)));
+  sum[1] = _mm_mul_epi32 (sum[1], _mm_shuffle_epi32 (f, _MM_SHUFFLE (1, 1, 1, 1)));
+  sum[2] = _mm_mul_epi32 (sum[2], _mm_shuffle_epi32 (f, _MM_SHUFFLE (2, 2, 2, 2)));
+  sum[3] = _mm_mul_epi32 (sum[3], _mm_shuffle_epi32 (f, _MM_SHUFFLE (3, 3, 3, 3)));
+  sum[0] = _mm_add_epi64 (sum[0], sum[1]);
+  sum[2] = _mm_add_epi64 (sum[2], sum[3]);
+  sum[0] = _mm_add_epi64 (sum[0], sum[2]);
+  sum[0] = _mm_add_epi64 (sum[0], _mm_unpackhi_epi64 (sum[0], sum[0]));
+  res = _mm_cvtsi128_si64 (sum[0]);
+
+  res = (res + (1 << (PRECISION_S32 - 1))) >> PRECISION_S32;
+  *o = CLAMP (res, -(1L << 31), (1L << 31) - 1);
+}
+
+MAKE_RESAMPLE_FUNC (gint32, full, 1, sse41);
+MAKE_RESAMPLE_FUNC (gint32, linear, 1, sse41);
+MAKE_RESAMPLE_FUNC (gint32, cubic, 1, sse41);
+#endif
+
+static void
+audio_resampler_check_x86 (const gchar *option)
+{
+  if (!strcmp (option, "sse")) {
+#if defined (HAVE_XMMINTRIN_H) && defined(__SSE__)
+    GST_DEBUG ("enable SSE optimisations");
+    resample_gfloat_full_1 = resample_gfloat_full_1_sse;
+    resample_gfloat_linear_1 = resample_gfloat_linear_1_sse;
+    resample_gfloat_cubic_1 = resample_gfloat_cubic_1_sse;
+
+    interpolate_gfloat_linear = interpolate_gfloat_linear_sse;
+    interpolate_gfloat_cubic = interpolate_gfloat_cubic_sse;
+#else
+    GST_DEBUG ("SSE optimisations not enabled");
+#endif
+  } else if (!strcmp (option, "sse2")) {
+#if defined (HAVE_EMMINTRIN_H) && defined(__SSE2__)
+    GST_DEBUG ("enable SSE2 optimisations");
+    resample_gint16_full_1 = resample_gint16_full_1_sse2;
+    resample_gint16_linear_1 = resample_gint16_linear_1_sse2;
+    resample_gint16_cubic_1 = resample_gint16_cubic_1_sse2;
+
+    interpolate_gint16_linear = interpolate_gint16_linear_sse2;
+    interpolate_gint16_cubic = interpolate_gint16_cubic_sse2;
+
+    resample_gdouble_full_1 = resample_gdouble_full_1_sse2;
+    resample_gdouble_linear_1 = resample_gdouble_linear_1_sse2;
+    resample_gdouble_cubic_1 = resample_gdouble_cubic_1_sse2;
+
+    interpolate_gdouble_linear = interpolate_gdouble_linear_sse2;
+    interpolate_gdouble_cubic = interpolate_gdouble_cubic_sse2;
+#else
+    GST_DEBUG ("SSE2 optimisations not enabled");
+#endif
+  } else if (!strcmp (option, "sse41")) {
+#if defined (HAVE_SMMINTRIN_H) && defined(__SSE4_1__)
+    GST_DEBUG ("enable SSE41 optimisations");
+    resample_gint32_full_1 = resample_gint32_full_1_sse41;
+    resample_gint32_linear_1 = resample_gint32_linear_1_sse41;
+    resample_gint32_cubic_1 = resample_gint32_cubic_1_sse41;
+#else
+    GST_DEBUG ("SSE41 optimisations not enabled");
+#endif
+  }
+}
diff --git a/gst-libs/gst/audio/audio-resampler.c b/gst-libs/gst/audio/audio-resampler.c
new file mode 100644
index 0000000..4e6ef43
--- /dev/null
+++ b/gst-libs/gst/audio/audio-resampler.c
@@ -0,0 +1,1917 @@
+/* GStreamer
+ * Copyright (C) <2015> Wim Taymans <wim.taymans@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <string.h>
+#include <stdio.h>
+#include <math.h>
+
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#endif
+
+#include "audio-resampler.h"
+
+/* Contains a collection of all things found in other resamplers:
+ * speex (filter construction, optimizations), ffmpeg (fixed phase filter, blackman filter),
+ * SRC (linear interpolation, fixed precomputed tables),...
+ *
+ *  Supports:
+ *   - S16, S32, F32 and F64 formats
+ *   - nearest, linear and cubic interpolation
+ *   - sinc based interpolation with kaiser or blackman-nutall windows
+ *   - fully configurable kaiser parameters
+ *   - dynamic linear or cubic interpolation of filter table, this can
+ *     use less memory but more CPU
+ *   - full filter table, generated from optionally linear or cubic
+ *     interpolation of filter table
+ *   - fixed filter table size with nearest neighbour phase, optionally
+ *     using a precomputed tables
+ *   - dynamic samplerate changes
+ *   - x86 and neon optimizations
+ */
+typedef void (*ConvertTapsFunc) (gdouble * tmp_taps, gpointer taps,
+    gdouble weight, gint n_taps);
+typedef void (*InterpolateFunc) (gpointer o, const gpointer a, gint len,
+    const gpointer icoeff, gint astride);
+typedef void (*ResampleFunc) (GstAudioResampler * resampler, gpointer in[],
+    gsize in_len, gpointer out[], gsize out_len, gsize * consumed);
+typedef void (*DeinterleaveFunc) (GstAudioResampler * resampler,
+    gpointer * sbuf, gpointer in[], gsize in_frames);
+
+#define MEM_ALIGN(m,a) ((gint8 *)((guintptr)((gint8 *)(m) + ((a)-1)) & ~((a)-1)))
+#define ALIGN 16
+#define TAPS_OVERREAD 16
+
+struct _GstAudioResampler
+{
+  GstAudioResamplerMethod method;
+  GstAudioResamplerFlags flags;
+  GstAudioFormat format;
+  GstStructure *options;
+  gint format_index;
+  gint channels;
+  gint in_rate;
+  gint out_rate;
+
+  gint bps;
+  gint ostride;
+
+  GstAudioResamplerFilterMode filter_mode;
+  guint filter_threshold;
+  GstAudioResamplerFilterInterpolation filter_interpolation;
+
+  gdouble cutoff;
+  gdouble kaiser_beta;
+  /* for cubic */
+  gdouble b, c;
+
+  /* temp taps */
+  gpointer tmp_taps;
+
+  /* oversampled main filter table */
+  gint oversample;
+  gint n_taps;
+  gpointer taps;
+  gpointer taps_mem;
+  gsize taps_stride;
+  gint n_phases;
+  gint alloc_taps;
+  gint alloc_phases;
+
+  /* cached taps */
+  gpointer *cached_phases;
+  gpointer cached_taps;
+  gpointer cached_taps_mem;
+  gsize cached_taps_stride;
+
+  ConvertTapsFunc convert_taps;
+  InterpolateFunc interpolate;
+  DeinterleaveFunc deinterleave;
+  ResampleFunc resample;
+
+  gint blocks;
+  gint inc;
+  gint samp_inc;
+  gint samp_frac;
+  gint samp_index;
+  gint samp_phase;
+  gint skip;
+
+  gpointer samples;
+  gsize samples_len;
+  gsize samples_avail;
+  gpointer *sbuf;
+};
+
+GST_DEBUG_CATEGORY_STATIC (audio_resampler_debug);
+#define GST_CAT_DEFAULT audio_resampler_debug
+
+/**
+ * SECTION:gstaudioresampler
+ * @short_description: Utility structure for resampler information
+ *
+ * #GstAudioResampler is a structure which holds the information
+ * required to perform various kinds of resampling filtering.
+ *
+ */
+
+static const gint oversample_qualities[] = {
+  4, 4, 4, 8, 8, 16, 16, 16, 16, 32, 32
+};
+
+typedef struct
+{
+  gdouble cutoff;
+  gdouble downsample_cutoff_factor;
+  gdouble stopband_attenuation;
+  gdouble transition_bandwidth;
+} KaiserQualityMap;
+
+static const KaiserQualityMap kaiser_qualities[] = {
+  {0.860, 0.96511, 60, 0.7},    /* 8 taps */
+  {0.880, 0.96591, 65, 0.29},   /* 16 taps */
+  {0.910, 0.96923, 70, 0.145},  /* 32 taps */
+  {0.920, 0.97600, 80, 0.105},  /* 48 taps */
+  {0.940, 0.97979, 85, 0.087},  /* 64 taps default quality */
+  {0.940, 0.98085, 95, 0.077},  /* 80 taps */
+  {0.945, 0.99471, 100, 0.068}, /* 96 taps */
+  {0.950, 1.0, 105, 0.055},     /* 128 taps */
+  {0.960, 1.0, 110, 0.045},     /* 160 taps */
+  {0.968, 1.0, 115, 0.039},     /* 192 taps */
+  {0.975, 1.0, 120, 0.0305}     /* 256 taps */
+};
+
+typedef struct
+{
+  gint n_taps;
+  gdouble cutoff;
+} BlackmanQualityMap;
+
+static const BlackmanQualityMap blackman_qualities[] = {
+  {8, 0.5,},
+  {16, 0.6,},
+  {24, 0.72,},
+  {32, 0.8,},
+  {48, 0.85,},                  /* default */
+  {64, 0.90,},
+  {80, 0.92,},
+  {96, 0.933,},
+  {128, 0.950,},
+  {148, 0.955,},
+  {160, 0.960,}
+};
+
+#define DEFAULT_RESAMPLER_METHOD GST_AUDIO_RESAMPLER_METHOD_KAISER
+#define DEFAULT_QUALITY GST_AUDIO_RESAMPLER_QUALITY_DEFAULT
+#define DEFAULT_OPT_CUBIC_B 1.0
+#define DEFAULT_OPT_CUBIC_C 0.0
+#define DEFAULT_OPT_FILTER_MODE GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO
+#define DEFAULT_OPT_FILTER_MODE_THRESHOLD 1048576
+#define DEFAULT_OPT_FILTER_INTERPOLATION GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC
+#define DEFAULT_OPT_FILTER_OVERSAMPLE 8
+#define DEFAULT_OPT_MAX_PHASE_ERROR 0.1
+
+static gdouble
+get_opt_double (GstStructure * options, const gchar * name, gdouble def)
+{
+  gdouble res;
+  if (!options || !gst_structure_get_double (options, name, &res))
+    res = def;
+  return res;
+}
+
+static gint
+get_opt_int (GstStructure * options, const gchar * name, gint def)
+{
+  gint res;
+  if (!options || !gst_structure_get_int (options, name, &res))
+    res = def;
+  return res;
+}
+
+static gint
+get_opt_enum (GstStructure * options, const gchar * name, GType type, gint def)
+{
+  gint res;
+  if (!options || !gst_structure_get_enum (options, name, type, &res))
+    res = def;
+  return res;
+}
+
+
+#define GET_OPT_CUTOFF(options,def) get_opt_double(options, \
+    GST_AUDIO_RESAMPLER_OPT_CUTOFF,def)
+#define GET_OPT_DOWN_CUTOFF_FACTOR(options,def) get_opt_double(options, \
+    GST_AUDIO_RESAMPLER_OPT_DOWN_CUTOFF_FACTOR, def)
+#define GET_OPT_STOP_ATTENUATION(options,def) get_opt_double(options, \
+    GST_AUDIO_RESAMPLER_OPT_STOP_ATTENUATION, def)
+#define GET_OPT_TRANSITION_BANDWIDTH(options,def) get_opt_double(options, \
+    GST_AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH, def)
+#define GET_OPT_CUBIC_B(options) get_opt_double(options, \
+    GST_AUDIO_RESAMPLER_OPT_CUBIC_B, DEFAULT_OPT_CUBIC_B)
+#define GET_OPT_CUBIC_C(options) get_opt_double(options, \
+    GST_AUDIO_RESAMPLER_OPT_CUBIC_C, DEFAULT_OPT_CUBIC_C)
+#define GET_OPT_N_TAPS(options,def) get_opt_int(options, \
+    GST_AUDIO_RESAMPLER_OPT_N_TAPS, def)
+#define GET_OPT_FILTER_MODE(options) get_opt_enum(options, \
+    GST_AUDIO_RESAMPLER_OPT_FILTER_MODE, GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE, \
+    DEFAULT_OPT_FILTER_MODE)
+#define GET_OPT_FILTER_MODE_THRESHOLD(options) get_opt_int(options, \
+    GST_AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD, DEFAULT_OPT_FILTER_MODE_THRESHOLD)
+#define GET_OPT_FILTER_INTERPOLATION(options) get_opt_enum(options, \
+    GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION, GST_TYPE_AUDIO_RESAMPLER_FILTER_INTERPOLATION, \
+    DEFAULT_OPT_FILTER_INTERPOLATION)
+#define GET_OPT_FILTER_OVERSAMPLE(options) get_opt_int(options, \
+    GST_AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE, DEFAULT_OPT_FILTER_OVERSAMPLE)
+#define GET_OPT_MAX_PHASE_ERROR(options) get_opt_double(options, \
+    GST_AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR, DEFAULT_OPT_MAX_PHASE_ERROR)
+
+#include "dbesi0.c"
+#define bessel dbesi0
+
+static inline gdouble
+get_linear_tap (gdouble x, gint n_taps)
+{
+  gdouble res = GST_ROUND_UP_2 (n_taps) / 2 - fabs (x);
+  return res;
+}
+
+static inline gdouble
+get_cubic_tap (gdouble x, gint n_taps, gdouble b, gdouble c)
+{
+  gdouble res, a, a2, a3;
+
+  a = fabs (x * 4.0) / n_taps;
+  a2 = a * a;
+  a3 = a2 * a;
+
+  if (a <= 1.0)
+    res = ((12.0 - 9.0 * b - 6.0 * c) * a3 +
+        (-18.0 + 12.0 * b + 6.0 * c) * a2 + (6.0 - 2.0 * b)) / 6.0;
+  else if (a <= 2.0)
+    res = ((-b - 6.0 * c) * a3 +
+        (6.0 * b + 30.0 * c) * a2 +
+        (-12.0 * b - 48.0 * c) * a + (8.0 * b + 24.0 * c)) / 6.0;
+  else
+    res = 0.0;
+
+  return res;
+}
+
+static inline gdouble
+get_blackman_nuttall_tap (gdouble x, gint n_taps, gdouble Fc)
+{
+  gdouble s, y, w;
+
+  y = G_PI * x;
+  s = (y == 0.0 ? Fc : sin (y * Fc) / y);
+
+  w = 2.0 * y / n_taps + G_PI;
+  return s * (0.3635819 - 0.4891775 * cos (w) + 0.1365995 * cos (2 * w) -
+      0.0106411 * cos (3 * w));
+}
+
+static inline gdouble
+get_kaiser_tap (gdouble x, gint n_taps, gdouble Fc, gdouble beta)
+{
+  gdouble s, y, w;
+
+  y = G_PI * x;
+  s = (y == 0.0 ? Fc : sin (y * Fc) / y);
+
+  w = 2.0 * x / n_taps;
+  return s * bessel (beta * sqrt (MAX (1 - w * w, 0)));
+}
+
+#define PRECISION_S16 15
+#define PRECISION_S32 31
+
+#define MAKE_CONVERT_TAPS_INT_FUNC(type, precision)                     \
+static void                                                             \
+convert_taps_##type##_c (gdouble *tmp_taps, gpointer taps,              \
+    gdouble weight, gint n_taps)                                        \
+{                                                                       \
+  gint64 one = (1LL << precision) - 1;                                  \
+  type *t = taps;                                                       \
+  gdouble multiplier = one;                                             \
+  gint i, j;                                                            \
+  gdouble offset, l_offset, h_offset;                                   \
+  gboolean exact = FALSE;                                               \
+  /* Round to integer, but with an adjustable bias that we use to */    \
+  /* eliminate the DC error. */                                         \
+  l_offset = 0.0;                                                       \
+  h_offset = 1.0;                                                       \
+  offset = 0.5;                                                         \
+  for (i = 0; i < 32; i++) {                                            \
+    gint64 sum = 0;                                                     \
+    for (j = 0; j < n_taps; j++)                                        \
+      sum += floor (offset + tmp_taps[j] * multiplier / weight);        \
+    if (sum == one) {                                                   \
+      exact = TRUE;                                                     \
+      break;                                                            \
+    }                                                                   \
+    if (l_offset == h_offset)                                           \
+      break;                                                            \
+    if (sum < one) {                                                    \
+      if (offset > l_offset)                                            \
+        l_offset = offset;                                              \
+      offset += (h_offset - l_offset) / 2;                              \
+    } else {                                                            \
+      if (offset < h_offset)                                            \
+        h_offset = offset;                                              \
+      offset -= (h_offset - l_offset) / 2;                              \
+    }                                                                   \
+  }                                                                     \
+  for (j = 0; j < n_taps; j++)                                          \
+    t[j] = floor (offset + tmp_taps[j] * multiplier / weight);          \
+  if (!exact)                                                           \
+    GST_WARNING ("can't find exact taps");                              \
+}
+
+#define MAKE_CONVERT_TAPS_FLOAT_FUNC(type)                              \
+static void                                                             \
+convert_taps_##type##_c (gdouble *tmp_taps, gpointer taps,              \
+    gdouble weight, gint n_taps)                                        \
+{                                                                       \
+  gint i;                                                               \
+  type *t = taps;                                                       \
+  for (i = 0; i < n_taps; i++)                                          \
+    t[i] = tmp_taps[i] / weight;                                        \
+}
+
+MAKE_CONVERT_TAPS_INT_FUNC (gint16, PRECISION_S16);
+MAKE_CONVERT_TAPS_INT_FUNC (gint32, PRECISION_S32);
+MAKE_CONVERT_TAPS_FLOAT_FUNC (gfloat);
+MAKE_CONVERT_TAPS_FLOAT_FUNC (gdouble);
+
+static ConvertTapsFunc convert_taps_funcs[] = {
+  convert_taps_gint16_c,
+  convert_taps_gint32_c,
+  convert_taps_gfloat_c,
+  convert_taps_gdouble_c
+};
+
+#define convert_taps_gint16   convert_taps_funcs[0]
+#define convert_taps_gint32   convert_taps_funcs[1]
+#define convert_taps_gfloat   convert_taps_funcs[2]
+#define convert_taps_gdouble  convert_taps_funcs[3]
+
+static void
+make_taps (GstAudioResampler * resampler, gdouble * res, gdouble x, gint n_taps)
+{
+  gdouble weight = 0.0, *tmp_taps = resampler->tmp_taps;
+  gint i;
+
+  switch (resampler->method) {
+    case GST_AUDIO_RESAMPLER_METHOD_NEAREST:
+      break;
+
+    case GST_AUDIO_RESAMPLER_METHOD_LINEAR:
+      for (i = 0; i < n_taps; i++)
+        weight += tmp_taps[i] = get_linear_tap (x + i, resampler->n_taps);
+      break;
+
+    case GST_AUDIO_RESAMPLER_METHOD_CUBIC:
+      for (i = 0; i < n_taps; i++)
+        weight += tmp_taps[i] = get_cubic_tap (x + i, resampler->n_taps,
+            resampler->b, resampler->c);
+      break;
+
+    case GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL:
+      for (i = 0; i < n_taps; i++)
+        weight += tmp_taps[i] =
+            get_blackman_nuttall_tap (x + i,
+            resampler->n_taps, resampler->cutoff);
+      break;
+
+    case GST_AUDIO_RESAMPLER_METHOD_KAISER:
+      for (i = 0; i < n_taps; i++)
+        weight += tmp_taps[i] =
+            get_kaiser_tap (x + i, resampler->n_taps,
+            resampler->cutoff, resampler->kaiser_beta);
+      break;
+  }
+  resampler->convert_taps (tmp_taps, res, weight, n_taps);
+}
+
+#define MAKE_COEFF_LINEAR_INT_FUNC(type,type2,prec)                     \
+static inline void                                                      \
+make_coeff_##type##_linear (gint num, gint denom, type *icoeff)         \
+{                                                                       \
+  type x = ((gint64)num << prec) / denom;                               \
+  icoeff[0] = icoeff[2] = x;                                            \
+  icoeff[1] = icoeff[3] = (type)(((type2)1 << prec)-1)  - x;            \
+}
+#define MAKE_COEFF_LINEAR_FLOAT_FUNC(type)                              \
+static inline void                                                      \
+make_coeff_##type##_linear (gint num, gint denom, type *icoeff)         \
+{                                                                       \
+  type x = (type)num / denom;                                           \
+  icoeff[0] = icoeff[2] = x;                                            \
+  icoeff[1] = icoeff[3] = (type)1.0 - x;                                \
+}
+MAKE_COEFF_LINEAR_INT_FUNC (gint16, gint32, PRECISION_S16);
+MAKE_COEFF_LINEAR_INT_FUNC (gint32, gint64, PRECISION_S32);
+MAKE_COEFF_LINEAR_FLOAT_FUNC (gfloat);
+MAKE_COEFF_LINEAR_FLOAT_FUNC (gdouble);
+
+#define MAKE_COEFF_CUBIC_INT_FUNC(type,type2,prec)                      \
+static inline void                                                      \
+make_coeff_##type##_cubic (gint num, gint denom, type *icoeff)          \
+{                                                                       \
+  type2 one = ((type2)1 << prec) - 1;                                   \
+  type2 x = ((gint64) num << prec) / denom;                             \
+  type2 x2 = (x * x) >> prec;                                           \
+  type2 x3 = (x2 * x) >> prec;                                          \
+  icoeff[0] = (((x3 - x) << prec) / 6) >> prec;                         \
+  icoeff[1] = x + ((x2 - x3) >> 1);                                     \
+  icoeff[3] = -(((x << prec) / 3) >> prec) +                            \
+            (x2 >> 1) - (((x3 << prec) / 6) >> prec);                   \
+  icoeff[2] = one - icoeff[0] - icoeff[1] - icoeff[3];                  \
+}
+#define MAKE_COEFF_CUBIC_FLOAT_FUNC(type)                               \
+static inline void                                                      \
+make_coeff_##type##_cubic (gint num, gint denom, type *icoeff)          \
+{                                                                       \
+  type x = (type) num / denom, x2 = x * x, x3 = x2 * x;                 \
+  icoeff[0] = 0.16667f * (x3 - x);                                      \
+  icoeff[1] = x + 0.5f * (x2 - x3);                                     \
+  icoeff[3] = -0.33333f * x + 0.5f * x2 - 0.16667f * x3;                \
+  icoeff[2] = (type)1.0 - icoeff[0] - icoeff[1] - icoeff[3];            \
+}
+MAKE_COEFF_CUBIC_INT_FUNC (gint16, gint32, PRECISION_S16);
+MAKE_COEFF_CUBIC_INT_FUNC (gint32, gint64, PRECISION_S32);
+MAKE_COEFF_CUBIC_FLOAT_FUNC (gfloat);
+MAKE_COEFF_CUBIC_FLOAT_FUNC (gdouble);
+
+#define INTERPOLATE_INT_LINEAR_FUNC(type,type2,prec,limit)      \
+static inline void                                              \
+interpolate_##type##_linear_c (gpointer op, const gpointer ap,  \
+    gint len, const gpointer icp, gint astride)                 \
+{                                                               \
+  gint i;                                                       \
+  type *o = op, *a = ap, *ic = icp;                             \
+  type2 tmp, c0 = ic[0];                                        \
+  const type *c[2] = {(type*)((gint8*)a + 0*astride),           \
+                      (type*)((gint8*)a + 1*astride)};          \
+                                                                \
+  for (i = 0; i < len; i++) {                                   \
+    tmp = ((type2)c[0][i] - (type2)c[1][i]) * c0 +              \
+         (((type2)c[1][i]) << (prec));                          \
+    o[i] = (tmp + ((type2)1 << ((prec) - 1))) >> (prec);        \
+  }                                                             \
+}
+#define INTERPOLATE_FLOAT_LINEAR_FUNC(type)                     \
+static inline void                                              \
+interpolate_##type##_linear_c (gpointer op, const gpointer ap,  \
+    gint len, const gpointer icp, gint astride)                 \
+{                                                               \
+  gint i;                                                       \
+  type *o = op, *a = ap, *ic = icp;                             \
+  type c0 = ic[0];                                              \
+  const type *c[2] = {(type*)((gint8*)a + 0*astride),           \
+                      (type*)((gint8*)a + 1*astride)};          \
+                                                                \
+  for (i = 0; i < len; i++) {                                   \
+    o[i] = (c[0][i] - c[1][i]) * c0 + c[1][i];                  \
+  }                                                             \
+}
+
+INTERPOLATE_INT_LINEAR_FUNC (gint16, gint32, PRECISION_S16, (gint32) 1 << 15);
+INTERPOLATE_INT_LINEAR_FUNC (gint32, gint64, PRECISION_S32, (gint64) 1 << 31);
+INTERPOLATE_FLOAT_LINEAR_FUNC (gfloat);
+INTERPOLATE_FLOAT_LINEAR_FUNC (gdouble);
+
+#define INTERPOLATE_INT_CUBIC_FUNC(type,type2,prec,limit)       \
+static inline void                                              \
+interpolate_##type##_cubic_c (gpointer op, const gpointer ap,   \
+    gint len, const gpointer icp, gint astride)                 \
+{                                                               \
+  gint i;                                                       \
+  type *o = op, *a = ap, *ic = icp;                             \
+  type2 tmp, c0 = ic[0], c1 = ic[1], c2 = ic[2], c3 = ic[3];    \
+  const type *c[4] = {(type*)((gint8*)a + 0*astride),           \
+                      (type*)((gint8*)a + 1*astride),           \
+                      (type*)((gint8*)a + 2*astride),           \
+                      (type*)((gint8*)a + 3*astride)};          \
+                                                                \
+  for (i = 0; i < len; i++) {                                   \
+    tmp = (type2)c[0][i] * c0 + (type2)c[1][i] * c1 +           \
+          (type2)c[2][i] * c2 + (type2)c[3][i] * c3;            \
+    tmp = (tmp + ((type2)1 << ((prec) - 1))) >> (prec);         \
+    o[i] = CLAMP (tmp, -(limit), (limit) - 1);                  \
+  }                                                             \
+}
+#define INTERPOLATE_FLOAT_CUBIC_FUNC(type)                      \
+static inline void                                              \
+interpolate_##type##_cubic_c (gpointer op, const gpointer ap,   \
+    gint len, const gpointer icp, gint astride)                 \
+{                                                               \
+  gint i;                                                       \
+  type *o = op, *a = ap, *ic = icp;                             \
+  type c0 = ic[0], c1 = ic[1], c2 = ic[2], c3 = ic[3];          \
+  const type *c[4] = {(type*)((gint8*)a + 0*astride),           \
+                      (type*)((gint8*)a + 1*astride),           \
+                      (type*)((gint8*)a + 2*astride),           \
+                      (type*)((gint8*)a + 3*astride)};          \
+                                                                \
+  for (i = 0; i < len; i++) {                                   \
+    o[i] = c[0][i] * c0 + c[1][i] * c1 +                        \
+           c[2][i] * c2 + c[3][i] * c3;                         \
+  }                                                             \
+}
+
+INTERPOLATE_INT_CUBIC_FUNC (gint16, gint32, PRECISION_S16, (gint32) 1 << 15);
+INTERPOLATE_INT_CUBIC_FUNC (gint32, gint64, PRECISION_S32, (gint64) 1 << 31);
+INTERPOLATE_FLOAT_CUBIC_FUNC (gfloat);
+INTERPOLATE_FLOAT_CUBIC_FUNC (gdouble);
+
+static InterpolateFunc interpolate_funcs[] = {
+  interpolate_gint16_linear_c,
+  interpolate_gint32_linear_c,
+  interpolate_gfloat_linear_c,
+  interpolate_gdouble_linear_c,
+
+  interpolate_gint16_cubic_c,
+  interpolate_gint32_cubic_c,
+  interpolate_gfloat_cubic_c,
+  interpolate_gdouble_cubic_c,
+};
+
+#define interpolate_gint16_linear  interpolate_funcs[0]
+#define interpolate_gint32_linear  interpolate_funcs[1]
+#define interpolate_gfloat_linear  interpolate_funcs[2]
+#define interpolate_gdouble_linear interpolate_funcs[3]
+
+#define interpolate_gint16_cubic   interpolate_funcs[4]
+#define interpolate_gint32_cubic   interpolate_funcs[5]
+#define interpolate_gfloat_cubic   interpolate_funcs[6]
+#define interpolate_gdouble_cubic  interpolate_funcs[7]
+
+#define GET_TAPS_NEAREST_FUNC(type)                                             \
+static inline gpointer                                                          \
+get_taps_##type##_nearest (GstAudioResampler * resampler,                       \
+    gint *samp_index, gint *samp_phase, type icoeff[4])                         \
+{                                                                               \
+  gint out_rate = resampler->out_rate;                                          \
+  *samp_index += resampler->samp_inc;                                           \
+  *samp_phase += resampler->samp_frac;                                          \
+  if (*samp_phase >= out_rate) {                                                \
+    *samp_phase -= out_rate;                                                    \
+    *samp_index += 1;                                                           \
+  }                                                                             \
+  return NULL;                                                                  \
+}
+GET_TAPS_NEAREST_FUNC (gint16);
+GET_TAPS_NEAREST_FUNC (gint32);
+GET_TAPS_NEAREST_FUNC (gfloat);
+GET_TAPS_NEAREST_FUNC (gdouble);
+
+#define get_taps_gint16_nearest get_taps_gint16_nearest
+#define get_taps_gint32_nearest get_taps_gint32_nearest
+#define get_taps_gfloat_nearest get_taps_gfloat_nearest
+#define get_taps_gdouble_nearest get_taps_gdouble_nearest
+
+#define GET_TAPS_FULL_FUNC(type)                                                \
+static inline gpointer                                                          \
+get_taps_##type##_full (GstAudioResampler * resampler,                          \
+    gint *samp_index, gint *samp_phase, type icoeff[4])                         \
+{                                                                               \
+  gpointer res;                                                                 \
+  gint out_rate = resampler->out_rate;                                          \
+  gint n_phases = resampler->n_phases;                                          \
+  gint phase = (n_phases == out_rate ? *samp_phase :                            \
+      ((gint64)*samp_phase * n_phases) / out_rate);                             \
+                                                                                \
+  res = resampler->cached_phases[phase];                                        \
+  if (G_UNLIKELY (res == NULL)) {                                               \
+    res = (gint8 *) resampler->cached_taps +                                    \
+                        phase * resampler->cached_taps_stride;                  \
+    switch (resampler->filter_interpolation) {                                  \
+      case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE:                       \
+      {                                                                         \
+        gdouble x;                                                              \
+        gint n_taps = resampler->n_taps;                                        \
+                                                                                \
+        x = 1.0 - n_taps / 2 - (gdouble) phase / n_phases;                      \
+        make_taps (resampler, res, x, n_taps);                                  \
+        break;                                                                  \
+      }                                                                         \
+      default:                                                                  \
+      {                                                                         \
+        gint offset, pos, frac;                                                 \
+        gint oversample = resampler->oversample;                                \
+        gint taps_stride = resampler->taps_stride;                              \
+        gint n_taps = resampler->n_taps;                                        \
+        type ic[4], *taps;                                                      \
+                                                                                \
+        pos = phase * oversample;                                               \
+        offset = (oversample - 1) - pos / n_phases;                             \
+        frac = pos % n_phases;                                                  \
+                                                                                \
+        taps = (type *) ((gint8 *) resampler->taps + offset * taps_stride);     \
+                                                                                \
+        switch (resampler->filter_interpolation) {                              \
+          default:                                                              \
+          case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR:                 \
+            make_coeff_##type##_linear (frac, n_phases, ic);                    \
+            break;                                                              \
+          case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC:                  \
+            make_coeff_##type##_cubic (frac, n_phases, ic);                     \
+            break;                                                              \
+        }                                                                       \
+        resampler->interpolate (res, taps, n_taps, ic, taps_stride);            \
+      }                                                                         \
+    }                                                                           \
+    resampler->cached_phases[phase] = res;                                      \
+  }                                                                             \
+  *samp_index += resampler->samp_inc;                                           \
+  *samp_phase += resampler->samp_frac;                                          \
+  if (*samp_phase >= out_rate) {                                                \
+    *samp_phase -= out_rate;                                                    \
+    *samp_index += 1;                                                           \
+  }                                                                             \
+  return res;                                                                   \
+}
+GET_TAPS_FULL_FUNC (gint16);
+GET_TAPS_FULL_FUNC (gint32);
+GET_TAPS_FULL_FUNC (gfloat);
+GET_TAPS_FULL_FUNC (gdouble);
+
+#define GET_TAPS_INTERPOLATE_FUNC(type,inter)                   \
+static inline gpointer                                          \
+get_taps_##type##_##inter (GstAudioResampler * resampler,       \
+    gint *samp_index, gint *samp_phase, type icoeff[4])         \
+{                                                               \
+  gpointer res;                                                 \
+  gint out_rate = resampler->out_rate;                          \
+  gint offset, frac, pos;                                       \
+  gint oversample = resampler->oversample;                      \
+  gint taps_stride = resampler->taps_stride;                    \
+                                                                \
+  pos = *samp_phase * oversample;                               \
+  offset = (oversample - 1) - pos / out_rate;                   \
+  frac = pos % out_rate;                                        \
+                                                                \
+  res = (gint8 *) resampler->taps + offset * taps_stride;       \
+  make_coeff_##type##_##inter (frac, out_rate, icoeff);         \
+                                                                \
+  *samp_index += resampler->samp_inc;                           \
+  *samp_phase += resampler->samp_frac;                          \
+  if (*samp_phase >= out_rate) {                                \
+    *samp_phase -= out_rate;                                    \
+    *samp_index += 1;                                           \
+  }                                                             \
+  return res;                                                   \
+}
+
+GET_TAPS_INTERPOLATE_FUNC (gint16, linear);
+GET_TAPS_INTERPOLATE_FUNC (gint32, linear);
+GET_TAPS_INTERPOLATE_FUNC (gfloat, linear);
+GET_TAPS_INTERPOLATE_FUNC (gdouble, linear);
+
+GET_TAPS_INTERPOLATE_FUNC (gint16, cubic);
+GET_TAPS_INTERPOLATE_FUNC (gint32, cubic);
+GET_TAPS_INTERPOLATE_FUNC (gfloat, cubic);
+GET_TAPS_INTERPOLATE_FUNC (gdouble, cubic);
+
+#define INNER_PRODUCT_NEAREST_FUNC(type)                        \
+static inline void                                              \
+inner_product_##type##_nearest_1_c (type * o, const type * a,   \
+    const type * b, gint len, const type *ic, gint bstride)     \
+{                                                               \
+  *o = *a;                                                      \
+}
+INNER_PRODUCT_NEAREST_FUNC (gint16);
+INNER_PRODUCT_NEAREST_FUNC (gint32);
+INNER_PRODUCT_NEAREST_FUNC (gfloat);
+INNER_PRODUCT_NEAREST_FUNC (gdouble);
+
+#define INNER_PRODUCT_INT_FULL_FUNC(type,type2,prec,limit)      \
+static inline void                                              \
+inner_product_##type##_full_1_c (type * o, const type * a,      \
+    const type * b, gint len, const type *ic, gint bstride)     \
+{                                                               \
+  gint i;                                                       \
+  type2 res[4] = { 0, 0, 0, 0 };                                \
+                                                                \
+  for (i = 0; i < len; i += 4) {                                \
+    res[0] += (type2) a[i + 0] * (type2) b[i + 0];              \
+    res[1] += (type2) a[i + 1] * (type2) b[i + 1];              \
+    res[2] += (type2) a[i + 2] * (type2) b[i + 2];              \
+    res[3] += (type2) a[i + 3] * (type2) b[i + 3];              \
+  }                                                             \
+  res[0] = res[0] + res[1] + res[2] + res[3];                   \
+  res[0] = (res[0] + ((type2)1 << ((prec) - 1))) >> (prec);     \
+  *o = CLAMP (res[0], -(limit), (limit) - 1);                   \
+}
+
+INNER_PRODUCT_INT_FULL_FUNC (gint16, gint32, PRECISION_S16, (gint32) 1 << 15);
+INNER_PRODUCT_INT_FULL_FUNC (gint32, gint64, PRECISION_S32, (gint64) 1 << 31);
+
+#define INNER_PRODUCT_INT_LINEAR_FUNC(type,type2,prec,limit)    \
+static inline void                                              \
+inner_product_##type##_linear_1_c (type * o, const type * a,    \
+    const type * b, gint len, const type *ic, gint bstride)     \
+{                                                               \
+  gint i;                                                       \
+  type2 res[4] = { 0, 0, 0, 0 }, c0 = ic[0];                    \
+  const type *c[2] = {(type*)((gint8*)b + 0*bstride),           \
+                      (type*)((gint8*)b + 1*bstride)};          \
+                                                                \
+  for (i = 0; i < len; i += 2) {                                \
+    res[0] += (type2) a[i + 0] * (type2) c[0][i + 0];           \
+    res[1] += (type2) a[i + 0] * (type2) c[1][i + 0];           \
+    res[2] += (type2) a[i + 1] * (type2) c[0][i + 1];           \
+    res[3] += (type2) a[i + 1] * (type2) c[1][i + 1];           \
+  }                                                             \
+  res[0] = (res[0] + res[2]) >> (prec);                         \
+  res[1] = (res[1] + res[3]) >> (prec);                         \
+  res[0] = ((type2)(type)res[0] - (type2)(type)res[1]) * c0 +   \
+           ((type2)(type)res[1] << (prec));                     \
+  res[0] = (res[0] + ((type2)1 << ((prec) - 1))) >> (prec);     \
+  *o = CLAMP (res[0], -(limit), (limit) - 1);                   \
+}
+
+INNER_PRODUCT_INT_LINEAR_FUNC (gint16, gint32, PRECISION_S16, (gint32) 1 << 15);
+INNER_PRODUCT_INT_LINEAR_FUNC (gint32, gint64, PRECISION_S32, (gint64) 1 << 31);
+
+#define INNER_PRODUCT_INT_CUBIC_FUNC(type,type2,prec,limit)     \
+static inline void                                              \
+inner_product_##type##_cubic_1_c (type * o, const type * a,     \
+    const type * b, gint len, const type *ic, gint bstride)     \
+{                                                               \
+  gint i;                                                       \
+  type2 res[4] = { 0, 0, 0, 0 };                                \
+  const type *c[4] = {(type*)((gint8*)b + 0*bstride),           \
+                      (type*)((gint8*)b + 1*bstride),           \
+                      (type*)((gint8*)b + 2*bstride),           \
+                      (type*)((gint8*)b + 3*bstride)};          \
+                                                                \
+  for (i = 0; i < len; i++) {                                   \
+    res[0] += (type2) a[i] * (type2) c[0][i];                   \
+    res[1] += (type2) a[i] * (type2) c[1][i];                   \
+    res[2] += (type2) a[i] * (type2) c[2][i];                   \
+    res[3] += (type2) a[i] * (type2) c[3][i];                   \
+  }                                                             \
+  res[0] = (type2)(type)(res[0] >> (prec)) * (type2) ic[0] +    \
+           (type2)(type)(res[1] >> (prec)) * (type2) ic[1] +    \
+           (type2)(type)(res[2] >> (prec)) * (type2) ic[2] +    \
+           (type2)(type)(res[3] >> (prec)) * (type2) ic[3];     \
+  res[0] = (res[0] + ((type2)1 << ((prec) - 1))) >> (prec);     \
+  *o = CLAMP (res[0], -(limit), (limit) - 1);                   \
+}
+
+INNER_PRODUCT_INT_CUBIC_FUNC (gint16, gint32, PRECISION_S16, (gint32) 1 << 15);
+INNER_PRODUCT_INT_CUBIC_FUNC (gint32, gint64, PRECISION_S32, (gint64) 1 << 31);
+
+#define INNER_PRODUCT_FLOAT_FULL_FUNC(type)                     \
+static inline void                                              \
+inner_product_##type##_full_1_c (type * o, const type * a,      \
+    const type * b, gint len, const type *ic, gint bstride)     \
+{                                                               \
+  gint i;                                                       \
+  type res[4] = { 0.0, 0.0, 0.0, 0.0 };                         \
+                                                                \
+  for (i = 0; i < len; i += 4) {                                \
+    res[0] += a[i + 0] * b[i + 0];                              \
+    res[1] += a[i + 1] * b[i + 1];                              \
+    res[2] += a[i + 2] * b[i + 2];                              \
+    res[3] += a[i + 3] * b[i + 3];                              \
+  }                                                             \
+  *o = res[0] + res[1] + res[2] + res[3];                       \
+}
+
+INNER_PRODUCT_FLOAT_FULL_FUNC (gfloat);
+INNER_PRODUCT_FLOAT_FULL_FUNC (gdouble);
+
+#define INNER_PRODUCT_FLOAT_LINEAR_FUNC(type)                   \
+static inline void                                              \
+inner_product_##type##_linear_1_c (type * o, const type * a,    \
+    const type * b, gint len, const type *ic, gint bstride)     \
+{                                                               \
+  gint i;                                                       \
+  type res[4] = { 0.0, 0.0, 0.0, 0.0 };                         \
+  const type *c[2] = {(type*)((gint8*)b + 0*bstride),           \
+                      (type*)((gint8*)b + 1*bstride)};          \
+                                                                \
+  for (i = 0; i < len; i += 2) {                                \
+    res[0] += a[i + 0] * c[0][i + 0];                           \
+    res[1] += a[i + 0] * c[1][i + 0];                           \
+    res[2] += a[i + 1] * c[0][i + 1];                           \
+    res[3] += a[i + 1] * c[1][i + 1];                           \
+  }                                                             \
+  res[0] += res[2];                                             \
+  res[1] += res[3];                                             \
+  *o = (res[0] - res[1]) * ic[0] + res[1];                      \
+}
+INNER_PRODUCT_FLOAT_LINEAR_FUNC (gfloat);
+INNER_PRODUCT_FLOAT_LINEAR_FUNC (gdouble);
+
+#define INNER_PRODUCT_FLOAT_CUBIC_FUNC(type)                    \
+static inline void                                              \
+inner_product_##type##_cubic_1_c (type * o, const type * a,     \
+    const type * b, gint len, const type *ic, gint bstride)     \
+{                                                               \
+  gint i;                                                       \
+  type res[4] = { 0.0, 0.0, 0.0, 0.0 };                         \
+  const type *c[4] = {(type*)((gint8*)b + 0*bstride),           \
+                      (type*)((gint8*)b + 1*bstride),           \
+                      (type*)((gint8*)b + 2*bstride),           \
+                      (type*)((gint8*)b + 3*bstride)};          \
+                                                                \
+  for (i = 0; i < len; i++) {                                   \
+    res[0] += a[i] * c[0][i];                                   \
+    res[1] += a[i] * c[1][i];                                   \
+    res[2] += a[i] * c[2][i];                                   \
+    res[3] += a[i] * c[3][i];                                   \
+  }                                                             \
+  *o = res[0] * ic[0] + res[1] * ic[1] +                        \
+       res[2] * ic[2] + res[3] * ic[3];                         \
+}
+INNER_PRODUCT_FLOAT_CUBIC_FUNC (gfloat);
+INNER_PRODUCT_FLOAT_CUBIC_FUNC (gdouble);
+
+#define MAKE_RESAMPLE_FUNC(type,inter,channels,arch)                            \
+static void                                                                     \
+resample_ ##type## _ ##inter## _ ##channels## _ ##arch (GstAudioResampler * resampler,      \
+    gpointer in[], gsize in_len,  gpointer out[], gsize out_len,                \
+    gsize * consumed)                                                           \
+{                                                                               \
+  gint c, di = 0;                                                               \
+  gint n_taps = resampler->n_taps;                                              \
+  gint blocks = resampler->blocks;                                              \
+  gint ostride = resampler->ostride;                                            \
+  gint taps_stride = resampler->taps_stride;                                    \
+  gint samp_index = 0;                                                          \
+  gint samp_phase = 0;                                                          \
+                                                                                \
+  for (c = 0; c < blocks; c++) {                                                \
+    type *ip = in[c];                                                           \
+    type *op = ostride == 1 ? out[c] : (type *)out[0] + c;                      \
+                                                                                \
+    samp_index = resampler->samp_index;                                         \
+    samp_phase = resampler->samp_phase;                                         \
+                                                                                \
+    for (di = 0; di < out_len; di++) {                                          \
+      type *ipp, icoeff[4], *taps;                                              \
+                                                                                \
+      ipp = &ip[samp_index * channels];                                         \
+                                                                                \
+      taps = get_taps_ ##type##_##inter                                         \
+              (resampler, &samp_index, &samp_phase, icoeff);                    \
+      inner_product_ ##type##_##inter##_##channels##_##arch                     \
+              (op, ipp, taps, n_taps, icoeff, taps_stride);                     \
+      op += ostride;                                                            \
+    }                                                                           \
+    if (in_len > samp_index)                                                    \
+      memmove (ip, &ip[samp_index * channels],                                  \
+          (in_len - samp_index) * sizeof(type) * channels);                     \
+  }                                                                             \
+  *consumed = samp_index - resampler->samp_index;                               \
+                                                                                \
+  resampler->samp_index = 0;                                                    \
+  resampler->samp_phase = samp_phase;                                           \
+}
+
+MAKE_RESAMPLE_FUNC (gint16, nearest, 1, c);
+MAKE_RESAMPLE_FUNC (gint32, nearest, 1, c);
+MAKE_RESAMPLE_FUNC (gfloat, nearest, 1, c);
+MAKE_RESAMPLE_FUNC (gdouble, nearest, 1, c);
+
+MAKE_RESAMPLE_FUNC (gint16, full, 1, c);
+MAKE_RESAMPLE_FUNC (gint32, full, 1, c);
+MAKE_RESAMPLE_FUNC (gfloat, full, 1, c);
+MAKE_RESAMPLE_FUNC (gdouble, full, 1, c);
+
+MAKE_RESAMPLE_FUNC (gint16, linear, 1, c);
+MAKE_RESAMPLE_FUNC (gint32, linear, 1, c);
+MAKE_RESAMPLE_FUNC (gfloat, linear, 1, c);
+MAKE_RESAMPLE_FUNC (gdouble, linear, 1, c);
+
+MAKE_RESAMPLE_FUNC (gint16, cubic, 1, c);
+MAKE_RESAMPLE_FUNC (gint32, cubic, 1, c);
+MAKE_RESAMPLE_FUNC (gfloat, cubic, 1, c);
+MAKE_RESAMPLE_FUNC (gdouble, cubic, 1, c);
+
+static ResampleFunc resample_funcs[] = {
+  resample_gint16_nearest_1_c,
+  resample_gint32_nearest_1_c,
+  resample_gfloat_nearest_1_c,
+  resample_gdouble_nearest_1_c,
+
+  resample_gint16_full_1_c,
+  resample_gint32_full_1_c,
+  resample_gfloat_full_1_c,
+  resample_gdouble_full_1_c,
+
+  resample_gint16_linear_1_c,
+  resample_gint32_linear_1_c,
+  resample_gfloat_linear_1_c,
+  resample_gdouble_linear_1_c,
+
+  resample_gint16_cubic_1_c,
+  resample_gint32_cubic_1_c,
+  resample_gfloat_cubic_1_c,
+  resample_gdouble_cubic_1_c,
+};
+
+#define resample_gint16_nearest_1 resample_funcs[0]
+#define resample_gint32_nearest_1 resample_funcs[1]
+#define resample_gfloat_nearest_1 resample_funcs[2]
+#define resample_gdouble_nearest_1 resample_funcs[3]
+
+#define resample_gint16_full_1 resample_funcs[4]
+#define resample_gint32_full_1 resample_funcs[5]
+#define resample_gfloat_full_1 resample_funcs[6]
+#define resample_gdouble_full_1 resample_funcs[7]
+
+#define resample_gint16_linear_1 resample_funcs[8]
+#define resample_gint32_linear_1 resample_funcs[9]
+#define resample_gfloat_linear_1 resample_funcs[10]
+#define resample_gdouble_linear_1 resample_funcs[11]
+
+#define resample_gint16_cubic_1 resample_funcs[12]
+#define resample_gint32_cubic_1 resample_funcs[13]
+#define resample_gfloat_cubic_1 resample_funcs[14]
+#define resample_gdouble_cubic_1 resample_funcs[15]
+
+#if defined HAVE_ORC && !defined DISABLE_ORC
+# if defined (HAVE_ARM_NEON)
+#  define CHECK_NEON
+#  include "audio-resampler-neon.h"
+# endif
+# if defined (__i386__) || defined (__x86_64__)
+#  define CHECK_X86
+#  include "audio-resampler-x86.h"
+# endif
+#endif
+
+static void
+audio_resampler_init (void)
+{
+  static gsize init_gonce = 0;
+
+  if (g_once_init_enter (&init_gonce)) {
+
+    GST_DEBUG_CATEGORY_INIT (audio_resampler_debug, "audio-resampler", 0,
+        "audio-resampler object");
+
+#if defined HAVE_ORC && !defined DISABLE_ORC
+    orc_init ();
+    {
+      OrcTarget *target = orc_target_get_default ();
+      gint i;
+
+      if (target) {
+        const gchar *name;
+        unsigned int flags = orc_target_get_default_flags (target);
+
+        for (i = -1; i < 32; ++i) {
+          if (i == -1) {
+            name = orc_target_get_name (target);
+            GST_DEBUG ("target %s, default flags %08x", name, flags);
+          } else if (flags & (1U << i)) {
+            name = orc_target_get_flag_name (target, i);
+            GST_DEBUG ("target flag %s", name);
+          } else
+            name = NULL;
+
+          if (name) {
+#ifdef CHECK_X86
+            audio_resampler_check_x86 (name);
+#endif
+#ifdef CHECK_NEON
+            audio_resampler_check_neon (name);
+#endif
+          }
+        }
+      }
+    }
+#endif
+    g_once_init_leave (&init_gonce, 1);
+  }
+}
+
+#define MAKE_DEINTERLEAVE_FUNC(type)                                    \
+static void                                                             \
+deinterleave_ ##type (GstAudioResampler * resampler, gpointer sbuf[],   \
+    gpointer in[], gsize in_frames)                                     \
+{                                                                       \
+  gint i, c, channels = resampler->channels;                            \
+  gsize samples_avail = resampler->samples_avail;                       \
+  for (c = 0; c < channels; c++) {                                      \
+    type *s = (type *) sbuf[c] + samples_avail;                         \
+    if (G_UNLIKELY (in == NULL)) {                                      \
+      for (i = 0; i < in_frames; i++)                                   \
+        s[i] = 0;                                                       \
+    } else {                                                            \
+      type *ip = (type *) in[0] + c;                                    \
+      for (i = 0; i < in_frames; i++, ip += channels)                   \
+        s[i] = *ip;                                                     \
+    }                                                                   \
+  }                                                                     \
+}
+
+MAKE_DEINTERLEAVE_FUNC (gint16);
+MAKE_DEINTERLEAVE_FUNC (gint32);
+MAKE_DEINTERLEAVE_FUNC (gfloat);
+MAKE_DEINTERLEAVE_FUNC (gdouble);
+
+static DeinterleaveFunc deinterleave_funcs[] = {
+  deinterleave_gint16,
+  deinterleave_gint32,
+  deinterleave_gfloat,
+  deinterleave_gdouble
+};
+
+static void
+calculate_kaiser_params (GstAudioResampler * resampler)
+{
+  gdouble A, B, dw, tr_bw, Fc;
+  gint n;
+  const KaiserQualityMap *q = &kaiser_qualities[DEFAULT_QUALITY];
+
+  /* default cutoff */
+  Fc = q->cutoff;
+  if (resampler->out_rate < resampler->in_rate)
+    Fc *= q->downsample_cutoff_factor;
+
+  Fc = GET_OPT_CUTOFF (resampler->options, Fc);
+  A = GET_OPT_STOP_ATTENUATION (resampler->options, q->stopband_attenuation);
+  tr_bw =
+      GET_OPT_TRANSITION_BANDWIDTH (resampler->options,
+      q->transition_bandwidth);
+
+  GST_LOG ("Fc %f, A %f, tr_bw %f", Fc, A, tr_bw);
+
+  /* calculate Beta */
+  if (A > 50)
+    B = 0.1102 * (A - 8.7);
+  else if (A >= 21)
+    B = 0.5842 * pow (A - 21, 0.4) + 0.07886 * (A - 21);
+  else
+    B = 0.0;
+  /* calculate transition width in radians */
+  dw = 2 * G_PI * (tr_bw);
+  /* order of the filter */
+  n = (A - 8.0) / (2.285 * dw);
+
+  resampler->kaiser_beta = B;
+  resampler->n_taps = n + 1;
+  resampler->cutoff = Fc;
+
+  GST_LOG ("using Beta %f n_taps %d cutoff %f", resampler->kaiser_beta,
+      resampler->n_taps, resampler->cutoff);
+}
+
+static void
+alloc_taps_mem (GstAudioResampler * resampler, gint bps, gint n_taps,
+    gint n_phases)
+{
+  if (resampler->alloc_taps >= n_taps && resampler->alloc_phases >= n_phases)
+    return;
+
+  GST_DEBUG ("allocate bps %d n_taps %d n_phases %d", bps, n_taps, n_phases);
+
+  resampler->tmp_taps =
+      g_realloc_n (resampler->tmp_taps, n_taps, sizeof (gdouble));
+
+  resampler->taps_stride = GST_ROUND_UP_32 (bps * (n_taps + TAPS_OVERREAD));
+
+  g_free (resampler->taps_mem);
+  resampler->taps_mem =
+      g_malloc0 (n_phases * resampler->taps_stride + ALIGN - 1);
+  resampler->taps = MEM_ALIGN ((gint8 *) resampler->taps_mem, ALIGN);
+  resampler->alloc_taps = n_taps;
+  resampler->alloc_phases = n_phases;
+}
+
+static void
+alloc_cache_mem (GstAudioResampler * resampler, gint bps, gint n_taps,
+    gint n_phases)
+{
+  gsize phases_size;
+
+  resampler->tmp_taps =
+      g_realloc_n (resampler->tmp_taps, n_taps, sizeof (gdouble));
+
+  resampler->cached_taps_stride =
+      GST_ROUND_UP_32 (bps * (n_taps + TAPS_OVERREAD));
+
+  phases_size = sizeof (gpointer) * n_phases;
+
+  g_free (resampler->cached_taps_mem);
+  resampler->cached_taps_mem =
+      g_malloc0 (phases_size + n_phases * resampler->cached_taps_stride +
+      ALIGN - 1);
+  resampler->cached_taps =
+      MEM_ALIGN ((gint8 *) resampler->cached_taps_mem + phases_size, ALIGN);
+  resampler->cached_phases = resampler->cached_taps_mem;
+}
+
+static void
+setup_functions (GstAudioResampler * resampler)
+{
+  gint index, fidx;
+
+  index = resampler->format_index;
+
+  if (resampler->in_rate == resampler->out_rate)
+    resampler->resample = resample_funcs[index];
+  else {
+    switch (resampler->filter_interpolation) {
+      default:
+      case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE:
+        fidx = 0;
+        break;
+      case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR:
+        GST_DEBUG ("using linear interpolation for filter coefficients");
+        fidx = 0;
+        break;
+      case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC:
+        GST_DEBUG ("using cubic interpolation for filter coefficients");
+        fidx = 4;
+        break;
+    }
+    GST_DEBUG ("using filter interpolate function %d", index + fidx);
+    resampler->interpolate = interpolate_funcs[index + fidx];
+
+    switch (resampler->method) {
+      case GST_AUDIO_RESAMPLER_METHOD_NEAREST:
+        GST_DEBUG ("using nearest filter function");
+        break;
+      default:
+        index += 4;
+        switch (resampler->filter_mode) {
+          default:
+          case GST_AUDIO_RESAMPLER_FILTER_MODE_FULL:
+            GST_DEBUG ("using full filter function");
+            break;
+          case GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED:
+            index += 4 + fidx;
+            GST_DEBUG ("using interpolated filter function");
+            break;
+        }
+        break;
+    }
+    GST_DEBUG ("using resample function %d", index);
+    resampler->resample = resample_funcs[index];
+  }
+}
+
+static void
+resampler_calculate_taps (GstAudioResampler * resampler)
+{
+  gint bps;
+  gint n_taps, oversample;
+  gint in_rate, out_rate;
+  gboolean scale = TRUE, sinc_table = FALSE;
+  GstAudioResamplerFilterInterpolation filter_interpolation;
+
+  switch (resampler->method) {
+    case GST_AUDIO_RESAMPLER_METHOD_NEAREST:
+      resampler->n_taps = 2;
+      scale = FALSE;
+      break;
+    case GST_AUDIO_RESAMPLER_METHOD_LINEAR:
+      resampler->n_taps = GET_OPT_N_TAPS (resampler->options, 2);
+      break;
+    case GST_AUDIO_RESAMPLER_METHOD_CUBIC:
+      resampler->n_taps = GET_OPT_N_TAPS (resampler->options, 4);
+      resampler->b = GET_OPT_CUBIC_B (resampler->options);
+      resampler->c = GET_OPT_CUBIC_C (resampler->options);;
+      break;
+    case GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL:
+    {
+      const BlackmanQualityMap *q = &blackman_qualities[DEFAULT_QUALITY];
+      resampler->n_taps = GET_OPT_N_TAPS (resampler->options, q->n_taps);
+      resampler->cutoff = GET_OPT_CUTOFF (resampler->options, q->cutoff);
+      sinc_table = TRUE;
+      break;
+    }
+    case GST_AUDIO_RESAMPLER_METHOD_KAISER:
+      calculate_kaiser_params (resampler);
+      sinc_table = TRUE;
+      break;
+  }
+
+  in_rate = resampler->in_rate;
+  out_rate = resampler->out_rate;
+
+  if (out_rate < in_rate && scale) {
+    resampler->cutoff = resampler->cutoff * out_rate / in_rate;
+    resampler->n_taps =
+        gst_util_uint64_scale_int (resampler->n_taps, in_rate, out_rate);
+  }
+
+  if (sinc_table) {
+    resampler->n_taps = GST_ROUND_UP_8 (resampler->n_taps);
+    resampler->filter_mode = GET_OPT_FILTER_MODE (resampler->options);
+    resampler->filter_threshold =
+        GET_OPT_FILTER_MODE_THRESHOLD (resampler->options);
+    filter_interpolation = GET_OPT_FILTER_INTERPOLATION (resampler->options);
+
+  } else {
+    resampler->filter_mode = GST_AUDIO_RESAMPLER_FILTER_MODE_FULL;
+    filter_interpolation = GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE;
+  }
+
+  /* calculate oversampling for interpolated filter */
+  if (filter_interpolation != GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE) {
+    gint mult = 2;
+
+    oversample = GET_OPT_FILTER_OVERSAMPLE (resampler->options);
+    while (oversample > 1) {
+      if (mult * out_rate >= in_rate)
+        break;
+
+      mult *= 2;
+      oversample >>= 1;
+    }
+
+    switch (filter_interpolation) {
+      case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR:
+        oversample *= 11;
+        break;
+      default:
+        break;
+    }
+  } else {
+    oversample = 1;
+  }
+  resampler->oversample = oversample;
+
+  n_taps = resampler->n_taps;
+  bps = resampler->bps;
+
+  GST_LOG ("using n_taps %d cutoff %f oversample %d", n_taps, resampler->cutoff,
+      oversample);
+
+  if (resampler->filter_mode == GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO) {
+    if (out_rate <= oversample
+        && !(resampler->flags & GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE)) {
+      /* don't interpolate if we need to calculate at least the same amount
+       * of filter coefficients than the full table case */
+      resampler->filter_mode = GST_AUDIO_RESAMPLER_FILTER_MODE_FULL;
+      GST_DEBUG ("automatically selected full filter, %d <= %d", out_rate,
+          oversample);
+    } else if (bps * n_taps * out_rate < resampler->filter_threshold) {
+      /* switch to full filter when memory is below threshold */
+      resampler->filter_mode = GST_AUDIO_RESAMPLER_FILTER_MODE_FULL;
+      GST_DEBUG ("automatically selected full filter, memory %d <= %d",
+          bps * n_taps * out_rate, resampler->filter_threshold);
+    } else {
+      GST_DEBUG ("automatically selected interpolated filter");
+      resampler->filter_mode = GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED;
+    }
+  }
+  /* interpolated table but no interpolation given, assume default */
+  if (resampler->filter_mode != GST_AUDIO_RESAMPLER_FILTER_MODE_FULL &&
+      filter_interpolation == GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE)
+    filter_interpolation = DEFAULT_OPT_FILTER_INTERPOLATION;
+
+  resampler->filter_interpolation = filter_interpolation;
+
+  if (resampler->filter_mode == GST_AUDIO_RESAMPLER_FILTER_MODE_FULL &&
+      resampler->method != GST_AUDIO_RESAMPLER_METHOD_NEAREST) {
+    GST_DEBUG ("setting up filter cache");
+    resampler->n_phases = out_rate;
+    alloc_cache_mem (resampler, bps, n_taps, out_rate);
+  }
+
+  if (resampler->filter_interpolation !=
+      GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE) {
+    gint i, isize;
+    gdouble x;
+    gpointer taps;
+
+    switch (resampler->filter_interpolation) {
+      default:
+      case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR:
+        GST_DEBUG ("using linear interpolation to build filter");
+        isize = 2;
+        break;
+      case GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC:
+        GST_DEBUG ("using cubic interpolation to build filter");
+        isize = 4;
+        break;
+    }
+
+    alloc_taps_mem (resampler, bps, n_taps, oversample + isize);
+
+    for (i = 0; i < oversample + isize; i++) {
+      x = -(n_taps / 2) + i / (gdouble) oversample;
+      taps = (gint8 *) resampler->taps + i * resampler->taps_stride;
+      make_taps (resampler, taps, x, n_taps);
+    }
+  }
+}
+
+#define PRINT_TAPS(type,print)                          \
+G_STMT_START {                                          \
+  type sum = 0.0, *taps;                                \
+  type icoeff[4];                                       \
+  gint samp_index = 0, samp_phase = i;                  \
+                                                        \
+  taps = get_taps_##type##_full (resampler, &samp_index,\
+      &samp_phase, icoeff);                             \
+                                                        \
+  for (j = 0; j < n_taps; j++) {                        \
+    type tap = taps[j];                                 \
+    fprintf (stderr, "\t%" print " ", tap);             \
+    sum += tap;                                         \
+  }                                                     \
+  fprintf (stderr, "\t: sum %" print "\n", sum);        \
+} G_STMT_END
+
+static void
+resampler_dump (GstAudioResampler * resampler)
+{
+#if 0
+  gint i, n_taps, out_rate;
+  gint64 a;
+
+  out_rate = resampler->out_rate;
+  n_taps = resampler->n_taps;
+
+  fprintf (stderr, "out size %d, max taps %d\n", out_rate, n_taps);
+
+  a = g_get_monotonic_time ();
+
+  for (i = 0; i < out_rate; i++) {
+    gint j;
+
+    //fprintf (stderr, "%u: %d %d\t ", i, t->sample_inc, t->next_phase);
+    switch (resampler->format) {
+      case GST_AUDIO_FORMAT_F64:
+        PRINT_TAPS (gdouble, "f");
+        break;
+      case GST_AUDIO_FORMAT_F32:
+        PRINT_TAPS (gfloat, "f");
+        break;
+      case GST_AUDIO_FORMAT_S32:
+        PRINT_TAPS (gint32, "d");
+        break;
+      case GST_AUDIO_FORMAT_S16:
+        PRINT_TAPS (gint16, "d");
+        break;
+      default:
+        break;
+    }
+  }
+  fprintf (stderr, "time %" G_GUINT64_FORMAT "\n", g_get_monotonic_time () - a);
+#endif
+}
+
+/**
+ * gst_audio_resampler_options_set_quality:
+ * @method: a #GstAudioResamplerMethod
+ * @quality: the quality
+ * @in_rate: the input rate
+ * @out_rate: the output rate
+ * @options: a #GstStructure
+ *
+ * Set the parameters for resampling from @in_rate to @out_rate using @method
+ * for @quality in @options.
+ */
+void
+gst_audio_resampler_options_set_quality (GstAudioResamplerMethod method,
+    guint quality, gint in_rate, gint out_rate, GstStructure * options)
+{
+  g_return_if_fail (options != NULL);
+  g_return_if_fail (quality <= GST_AUDIO_RESAMPLER_QUALITY_MAX);
+  g_return_if_fail (in_rate > 0 && out_rate > 0);
+
+  switch (method) {
+    case GST_AUDIO_RESAMPLER_METHOD_NEAREST:
+      break;
+    case GST_AUDIO_RESAMPLER_METHOD_LINEAR:
+      gst_structure_set (options,
+          GST_AUDIO_RESAMPLER_OPT_N_TAPS, G_TYPE_INT, 2, NULL);
+      break;
+    case GST_AUDIO_RESAMPLER_METHOD_CUBIC:
+      gst_structure_set (options,
+          GST_AUDIO_RESAMPLER_OPT_N_TAPS, G_TYPE_INT, 4,
+          GST_AUDIO_RESAMPLER_OPT_CUBIC_B, G_TYPE_DOUBLE, DEFAULT_OPT_CUBIC_B,
+          GST_AUDIO_RESAMPLER_OPT_CUBIC_C, G_TYPE_DOUBLE, DEFAULT_OPT_CUBIC_C,
+          NULL);
+      break;
+    case GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL:
+    {
+      const BlackmanQualityMap *map = &blackman_qualities[quality];
+      gst_structure_set (options,
+          GST_AUDIO_RESAMPLER_OPT_N_TAPS, G_TYPE_INT, map->n_taps,
+          GST_AUDIO_RESAMPLER_OPT_CUTOFF, G_TYPE_DOUBLE, map->cutoff, NULL);
+      break;
+    }
+    case GST_AUDIO_RESAMPLER_METHOD_KAISER:
+    {
+      const KaiserQualityMap *map = &kaiser_qualities[quality];
+      gdouble cutoff;
+
+      cutoff = map->cutoff;
+      if (out_rate < in_rate)
+        cutoff *= map->downsample_cutoff_factor;
+
+      gst_structure_set (options,
+          GST_AUDIO_RESAMPLER_OPT_CUTOFF, G_TYPE_DOUBLE, cutoff,
+          GST_AUDIO_RESAMPLER_OPT_STOP_ATTENUATION, G_TYPE_DOUBLE,
+          map->stopband_attenuation,
+          GST_AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH, G_TYPE_DOUBLE,
+          map->transition_bandwidth, NULL);
+      break;
+    }
+  }
+  gst_structure_set (options,
+      GST_AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE, G_TYPE_INT,
+      oversample_qualities[quality], NULL);
+}
+
+/**
+ * gst_audio_resampler_new:
+ * @resampler: a #GstAudioResampler
+ * @method: a #GstAudioResamplerMethod
+ * @flags: #GstAudioResamplerFlags
+ * @in_rate: input rate
+ * @out_rate: output rate
+ * @options: extra options
+ *
+ * Make a new resampler.
+ *
+ * Returns: %TRUE on success
+ */
+GstAudioResampler *
+gst_audio_resampler_new (GstAudioResamplerMethod method,
+    GstAudioResamplerFlags flags,
+    GstAudioFormat format, gint channels,
+    gint in_rate, gint out_rate, GstStructure * options)
+{
+  gboolean non_interleaved;
+  GstAudioResampler *resampler;
+  const GstAudioFormatInfo *info;
+  GstStructure *def_options = NULL;
+
+  g_return_val_if_fail (method >= GST_AUDIO_RESAMPLER_METHOD_NEAREST
+      && method <= GST_AUDIO_RESAMPLER_METHOD_KAISER, NULL);
+  g_return_val_if_fail (format == GST_AUDIO_FORMAT_S16 ||
+      format == GST_AUDIO_FORMAT_S32 || format == GST_AUDIO_FORMAT_F32 ||
+      format == GST_AUDIO_FORMAT_F64, NULL);
+  g_return_val_if_fail (channels > 0, NULL);
+  g_return_val_if_fail (in_rate > 0, NULL);
+  g_return_val_if_fail (out_rate > 0, NULL);
+
+  audio_resampler_init ();
+
+  resampler = g_slice_new0 (GstAudioResampler);
+  resampler->method = method;
+  resampler->flags = flags;
+  resampler->format = format;
+  resampler->channels = channels;
+
+  switch (format) {
+    case GST_AUDIO_FORMAT_S16:
+      resampler->format_index = 0;
+      break;
+    case GST_AUDIO_FORMAT_S32:
+      resampler->format_index = 1;
+      break;
+    case GST_AUDIO_FORMAT_F32:
+      resampler->format_index = 2;
+      break;
+    case GST_AUDIO_FORMAT_F64:
+      resampler->format_index = 3;
+      break;
+    default:
+      g_assert_not_reached ();
+      break;
+  }
+
+  info = gst_audio_format_get_info (format);
+  resampler->bps = GST_AUDIO_FORMAT_INFO_WIDTH (info) / 8;
+  resampler->sbuf = g_malloc0 (sizeof (gpointer) * channels);
+
+  non_interleaved =
+      (resampler->flags & GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT);
+
+  /* we resample each channel separately */
+  resampler->blocks = resampler->channels;
+  resampler->inc = 1;
+  resampler->ostride = non_interleaved ? 1 : resampler->channels;
+  resampler->deinterleave = deinterleave_funcs[resampler->format_index];
+  resampler->convert_taps = convert_taps_funcs[resampler->format_index];
+
+  GST_DEBUG ("method %d, bps %d, channels %d", method, resampler->bps,
+      resampler->channels);
+
+  if (options == NULL) {
+    options = def_options =
+        gst_structure_new_empty ("GstAudioResampler.options");
+    gst_audio_resampler_options_set_quality (DEFAULT_RESAMPLER_METHOD,
+        GST_AUDIO_RESAMPLER_QUALITY_DEFAULT, in_rate, out_rate, options);
+  }
+
+  gst_audio_resampler_update (resampler, in_rate, out_rate, options);
+  gst_audio_resampler_reset (resampler);
+
+  if (def_options)
+    gst_structure_free (def_options);
+
+  return resampler;
+}
+
+/* make the buffers to hold the (deinterleaved) samples */
+static inline gpointer *
+get_sample_bufs (GstAudioResampler * resampler, gsize need)
+{
+  if (G_LIKELY (resampler->samples_len < need)) {
+    gint c, blocks = resampler->blocks;
+    gsize bytes, to_move = 0;
+    gint8 *ptr, *samples;
+
+    GST_LOG ("realloc %d -> %d", (gint) resampler->samples_len, (gint) need);
+
+    bytes = GST_ROUND_UP_N (need * resampler->bps * resampler->inc, ALIGN);
+
+    samples = g_malloc0 (blocks * bytes + ALIGN - 1);
+    ptr = MEM_ALIGN (samples, ALIGN);
+
+    /* if we had some data, move history */
+    if (resampler->samples_len > 0)
+      to_move = resampler->samples_avail * resampler->bps * resampler->inc;
+
+    /* set up new pointers */
+    for (c = 0; c < blocks; c++) {
+      memcpy (ptr + (c * bytes), resampler->sbuf[c], to_move);
+      resampler->sbuf[c] = ptr + (c * bytes);
+    }
+    g_free (resampler->samples);
+    resampler->samples = samples;
+    resampler->samples_len = need;
+  }
+  return resampler->sbuf;
+}
+
+/**
+ * gst_audio_resampler_reset:
+ * @resampler: a #GstAudioResampler
+ *
+ * Reset @resampler to the state it was when it was first created, discarding
+ * all sample history.
+ */
+void
+gst_audio_resampler_reset (GstAudioResampler * resampler)
+{
+  g_return_if_fail (resampler != NULL);
+
+  if (resampler->samples) {
+    gsize bytes;
+    gint c, blocks, bpf;
+
+    bpf = resampler->bps * resampler->inc;
+    bytes = (resampler->n_taps / 2) * bpf;
+    blocks = resampler->blocks;
+
+    for (c = 0; c < blocks; c++)
+      memset (resampler->sbuf[c], 0, bytes);
+  }
+  /* half of the filter is filled with 0 */
+  resampler->samp_index = 0;
+  resampler->samples_avail = resampler->n_taps / 2 - 1;
+}
+
+/**
+ * gst_audio_resampler_update:
+ * @resampler: a #GstAudioResampler
+ * @in_rate: new input rate
+ * @out_rate: new output rate
+ * @options: new options or %NULL
+ *
+ * Update the resampler parameters for @resampler. This function should
+ * not be called concurrently with any other function on @resampler.
+ *
+ * When @in_rate or @out_rate is 0, its value is unchanged.
+ *
+ * When @options is %NULL, the previously configured options are reused.
+ *
+ * Returns: %TRUE if the new parameters could be set
+ */
+gboolean
+gst_audio_resampler_update (GstAudioResampler * resampler,
+    gint in_rate, gint out_rate, GstStructure * options)
+{
+  gint gcd, samp_phase, old_n_taps;
+  gdouble max_error;
+
+  g_return_val_if_fail (resampler != NULL, FALSE);
+
+  if (in_rate <= 0)
+    in_rate = resampler->in_rate;
+  if (out_rate <= 0)
+    out_rate = resampler->out_rate;
+
+  if (resampler->out_rate > 0) {
+    GST_INFO ("old phase %d/%d", resampler->samp_phase, resampler->out_rate);
+    samp_phase =
+        gst_util_uint64_scale_int (resampler->samp_phase, out_rate,
+        resampler->out_rate);
+  } else
+    samp_phase = 0;
+
+  gcd = gst_util_greatest_common_divisor (in_rate, out_rate);
+
+  max_error = GET_OPT_MAX_PHASE_ERROR (resampler->options);
+
+  if (max_error < 1.0e-8) {
+    GST_INFO ("using exact phase divider");
+    gcd = gst_util_greatest_common_divisor (gcd, samp_phase);
+  } else {
+    while (gcd > 1) {
+      gdouble ph1 = (gdouble) samp_phase / out_rate;
+      gint factor = 2;
+
+      /* reduce the factor until we have a phase error of less than 10% */
+      gdouble ph2 = (gdouble) (samp_phase / gcd) / (out_rate / gcd);
+
+      if (fabs (ph1 - ph2) < max_error)
+        break;
+
+      while (gcd % factor != 0)
+        factor++;
+      gcd /= factor;
+
+      GST_INFO ("divide by factor %d, gcd %d", factor, gcd);
+    }
+  }
+
+  GST_INFO ("phase %d out_rate %d, in_rate %d, gcd %d", samp_phase, out_rate,
+      in_rate, gcd);
+
+  resampler->samp_phase = samp_phase /= gcd;
+  resampler->in_rate = in_rate /= gcd;
+  resampler->out_rate = out_rate /= gcd;
+
+  GST_INFO ("new phase %d/%d", resampler->samp_phase, resampler->out_rate);
+
+  resampler->samp_inc = in_rate / out_rate;
+  resampler->samp_frac = in_rate % out_rate;
+
+  if (options) {
+    GST_INFO ("have new options, reconfigure filter");
+
+    if (resampler->options)
+      gst_structure_free (resampler->options);
+    resampler->options = gst_structure_copy (options);
+
+    old_n_taps = resampler->n_taps;
+
+    resampler_calculate_taps (resampler);
+    resampler_dump (resampler);
+
+    if (old_n_taps > 0 && old_n_taps != resampler->n_taps) {
+      gpointer *sbuf;
+      gint i, bpf, bytes, soff, doff, diff;
+
+      sbuf = get_sample_bufs (resampler, resampler->n_taps);
+
+      bpf = resampler->bps * resampler->inc;
+      bytes = resampler->samples_avail * bpf;
+      soff = doff = resampler->samp_index * bpf;
+
+      diff = ((gint) resampler->n_taps - old_n_taps) / 2;
+
+      GST_DEBUG ("taps %d->%d, %d", old_n_taps, resampler->n_taps, diff);
+
+      if (diff < 0) {
+        /* diff < 0, decrease taps, adjust source */
+        soff += -diff * bpf;
+        bytes -= -diff * bpf;
+      } else {
+        /* diff > 0, increase taps, adjust dest */
+        doff += diff * bpf;
+      }
+
+      /* now shrink or enlarge the history buffer, when we enlarge we
+       * just leave the old samples in there. FIXME, probably do something better
+       * like mirror or fill with zeroes. */
+      for (i = 0; i < resampler->blocks; i++)
+        memmove ((gint8 *) sbuf[i] + doff, (gint8 *) sbuf[i] + soff, bytes);
+
+      resampler->samples_avail += diff;
+    }
+  } else if (resampler->filter_mode == GST_AUDIO_RESAMPLER_FILTER_MODE_FULL) {
+    GST_DEBUG ("setting up filter cache");
+    resampler->n_phases = resampler->out_rate;
+    alloc_cache_mem (resampler, resampler->bps, resampler->n_taps,
+        resampler->n_phases);
+  }
+  setup_functions (resampler);
+
+  return TRUE;
+}
+
+/**
+ * gst_audio_resampler_free:
+ * @resampler: a #GstAudioResampler
+ *
+ * Free a previously allocated #GstAudioResampler @resampler.
+ *
+ * Since: 1.6
+ */
+void
+gst_audio_resampler_free (GstAudioResampler * resampler)
+{
+  g_return_if_fail (resampler != NULL);
+
+  g_free (resampler->cached_taps_mem);
+  g_free (resampler->taps_mem);
+  g_free (resampler->tmp_taps);
+  g_free (resampler->samples);
+  g_free (resampler->sbuf);
+  if (resampler->options)
+    gst_structure_free (resampler->options);
+  g_slice_free (GstAudioResampler, resampler);
+}
+
+/**
+ * gst_audio_resampler_get_out_frames:
+ * @resampler: a #GstAudioResampler
+ * @in_frames: number of input frames
+ *
+ * Get the number of output frames that would be currently available when
+ * @in_frames are given to @resampler.
+ *
+ * Returns: The number of frames that would be availabe after giving
+ * @in_frames as input to @resampler.
+ */
+gsize
+gst_audio_resampler_get_out_frames (GstAudioResampler * resampler,
+    gsize in_frames)
+{
+  gsize need, avail, out;
+
+  g_return_val_if_fail (resampler != NULL, 0);
+
+  need = resampler->n_taps + resampler->samp_index + resampler->skip;
+  avail = resampler->samples_avail + in_frames;
+  GST_LOG ("need %d = %d + %d + %d, avail %d = %d + %d", (gint) need,
+      resampler->n_taps, resampler->samp_index, resampler->skip,
+      (gint) avail, (gint) resampler->samples_avail, (gint) in_frames);
+  if (avail < need)
+    return 0;
+
+  out = (avail - need) * resampler->out_rate;
+  if (out < resampler->samp_phase)
+    return 0;
+
+  out = ((out - resampler->samp_phase) / resampler->in_rate) + 1;
+  GST_LOG ("out %d = ((%d * %d - %d) / %d) + 1", (gint) out,
+      (gint) (avail - need), resampler->out_rate, resampler->samp_phase,
+      resampler->in_rate);
+
+  return out;
+}
+
+/**
+ * gst_audio_resampler_get_in_frames:
+ * @resampler: a #GstAudioResampler
+ * @out_frames: number of input frames
+ *
+ * Get the number of input frames that would currently be needed
+ * to produce @out_frames from @resampler.
+ *
+ * Returns: The number of input frames needed for producing
+ * @out_frames of data from @resampler.
+ */
+gsize
+gst_audio_resampler_get_in_frames (GstAudioResampler * resampler,
+    gsize out_frames)
+{
+  gsize in_frames;
+
+  g_return_val_if_fail (resampler != NULL, 0);
+
+  in_frames =
+      (resampler->samp_phase +
+      out_frames * resampler->samp_frac) / resampler->out_rate;
+  in_frames += out_frames * resampler->samp_inc;
+
+  return in_frames;
+}
+
+/**
+ * gst_audio_resampler_get_max_latency:
+ * @resampler: a #GstAudioResampler
+ *
+ * Get the maximum number of input samples that the resampler would
+ * need before producing output.
+ *
+ * Returns: the latency of @resampler as expressed in the number of
+ * frames.
+ */
+gsize
+gst_audio_resampler_get_max_latency (GstAudioResampler * resampler)
+{
+  g_return_val_if_fail (resampler != NULL, 0);
+
+  return resampler->n_taps / 2;
+}
+
+/**
+ * gst_audio_resampler_resample:
+ * @resampler: a #GstAudioResampler
+ * @in: input samples
+ * @in_frames: number of input frames
+ * @out: output samples
+ * @out_frames: number of output frames
+ *
+ * Perform resampling on @in_frames frames in @in and write @out_frames to @out.
+ *
+ * In case the samples are interleaved, @in and @out must point to an
+ * array with a single element pointing to a block of interleaved samples.
+ *
+ * If non-interleaved samples are used, @in and @out must point to an
+ * array with pointers to memory blocks, one for each channel.
+ *
+ * @in may be %NULL, in which case @in_frames of silence samples are pushed
+ * into the resampler.
+ *
+ * This function always produces @out_frames of output and consumes @in_frames of
+ * input. Use gst_audio_resampler_get_out_frames() and
+ * gst_audio_resampler_get_in_frames() to make sure @in_frames and @out_frames
+ * are matching and @in and @out point to enough memory.
+ */
+void
+gst_audio_resampler_resample (GstAudioResampler * resampler,
+    gpointer in[], gsize in_frames, gpointer out[], gsize out_frames)
+{
+  gsize samples_avail;
+  gsize need, consumed;
+  gpointer *sbuf;
+
+  /* do sample skipping */
+  if (G_UNLIKELY (resampler->skip >= in_frames)) {
+    /* we need tp skip all input */
+    resampler->skip -= in_frames;
+    return;
+  }
+  /* skip the last samples by advancing the sample index */
+  resampler->samp_index += resampler->skip;
+
+  samples_avail = resampler->samples_avail;
+
+  /* make sure we have enough space to copy our samples */
+  sbuf = get_sample_bufs (resampler, in_frames + samples_avail);
+
+  /* copy/deinterleave the samples */
+  resampler->deinterleave (resampler, sbuf, in, in_frames);
+
+  /* update new amount of samples in our buffer */
+  resampler->samples_avail = samples_avail += in_frames;
+
+  need = resampler->n_taps + resampler->samp_index;
+  if (G_UNLIKELY (samples_avail < need)) {
+    /* not enough samples to start */
+    return;
+  }
+
+  /* resample all channels */
+  resampler->resample (resampler, sbuf, samples_avail, out, out_frames,
+      &consumed);
+
+  GST_LOG ("in %" G_GSIZE_FORMAT ", avail %" G_GSIZE_FORMAT ", consumed %"
+      G_GSIZE_FORMAT, in_frames, samples_avail, consumed);
+
+  /* update pointers */
+  if (G_LIKELY (consumed > 0)) {
+    gssize left = samples_avail - consumed;
+    if (left > 0) {
+      /* we consumed part of our samples */
+      resampler->samples_avail = left;
+    } else {
+      /* we consumed all our samples, empty our buffers */
+      resampler->samples_avail = 0;
+      resampler->skip = -left;
+    }
+  }
+}
diff --git a/gst-libs/gst/audio/audio-resampler.h b/gst-libs/gst/audio/audio-resampler.h
new file mode 100644
index 0000000..1664e68
--- /dev/null
+++ b/gst-libs/gst/audio/audio-resampler.h
@@ -0,0 +1,235 @@
+/* GStreamer
+ * Copyright (C) <2015> Wim Taymans <wim.taymans@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_AUDIO_RESAMPLER_H__
+#define __GST_AUDIO_RESAMPLER_H__
+
+#include <gst/gst.h>
+#include <gst/audio/audio.h>
+
+G_BEGIN_DECLS
+
+typedef struct _GstAudioResampler GstAudioResampler;
+
+/**
+ * GST_AUDIO_RESAMPLER_OPT_CUTOFF
+ *
+ * G_TYPE_DOUBLE, Cutoff parameter for the filter. 0.940 is the default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_CUTOFF      "GstAudioResampler.cutoff"
+/**
+ * GST_AUDIO_RESAMPLER_OPT_STOP_ATTENUTATION
+ *
+ * G_TYPE_DOUBLE, stopband attenuation in debibels. The attenutation
+ * after the stopband for the kaiser window. 85 dB is the default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_STOP_ATTENUATION "GstAudioResampler.stop-attenutation"
+/**
+ * GST_AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH
+ *
+ * G_TYPE_DOUBLE, transition bandwidth. The width of the
+ * transition band for the kaiser window. 0.087 is the default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH "GstAudioResampler.transition-bandwidth"
+
+/**
+ * GST_AUDIO_RESAMPLER_OPT_CUBIC_B:
+ *
+ * G_TYPE_DOUBLE, B parameter of the cubic filter.
+ * Values between 0.0 and 2.0 are accepted. 1.0 is the default.
+ *
+ * Below are some values of popular filters:
+ *                    B       C
+ * Hermite           0.0     0.0
+ * Spline            1.0     0.0
+ * Catmull-Rom       0.0     1/2
+ */
+#define GST_AUDIO_RESAMPLER_OPT_CUBIC_B      "GstAudioResampler.cubic-b"
+/**
+ * GST_AUDIO_RESAMPLER_OPT_CUBIC_C:
+ *
+ * G_TYPE_DOUBLE, C parameter of the cubic filter.
+ * Values between 0.0 and 2.0 are accepted. 0.0 is the default.
+ *
+ * See #GST_AUDIO_RESAMPLER_OPT_CUBIC_B for some more common values
+ */
+#define GST_AUDIO_RESAMPLER_OPT_CUBIC_C      "GstAudioResampler.cubic-c"
+
+/**
+ * GST_AUDIO_RESAMPLER_OPT_N_TAPS:
+ *
+ * G_TYPE_INT: the number of taps to use for the filter.
+ * 0 is the default and selects the taps automatically.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_N_TAPS      "GstAudioResampler.n-taps"
+
+/**
+ * GstAudioResamplerFilterMode:
+ * @GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED: Use interpolated filter tables. This
+ *     uses less memory but more CPU and is slightly less accurate but it allows for more
+ *     efficient variable rate resampling with gst_audio_resampler_update().
+ * @GST_AUDIO_RESAMPLER_FILTER_MODE_FULL: Use full filter table. This uses more memory
+ *     but less CPU.
+ * @GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO: Automatically choose between interpolated
+ *     and full filter tables.
+ *
+ * Select for the filter tables should be set up.
+ */
+typedef enum {
+  GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED = (0),
+  GST_AUDIO_RESAMPLER_FILTER_MODE_FULL,
+  GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO,
+} GstAudioResamplerFilterMode;
+/**
+ * GST_AUDIO_RESAMPLER_OPT_FILTER_MODE:
+ *
+ * GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE: how the filter tables should be
+ * constructed.
+ * GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO is the default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_FILTER_MODE      "GstAudioResampler.filter-mode"
+/**
+ * GST_AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD:
+ *
+ * G_TYPE_UINT: the amount of memory to use for full filter tables before
+ * switching to interpolated filter tables.
+ * 1048576 is the default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD "GstAudioResampler.filter-mode-threshold"
+
+/**
+ * GstAudioResamplerFilterInterpolation:
+ * @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE: no interpolation
+ * @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR: linear interpolation of the
+ *   filter coeficients.
+ * @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC: cubic interpolation of the
+ *   filter coeficients.
+ *
+ * The different filter interpolation methods.
+ */
+typedef enum {
+  GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE = (0),
+  GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR,
+  GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC,
+} GstAudioResamplerFilterInterpolation;
+/**
+ * GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION:
+ *
+ * GST_TYPE_AUDIO_RESAMPLER_INTERPOLATION: how the filter coeficients should be
+ *    interpolated.
+ * GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC is default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION "GstAudioResampler.filter-interpolation"
+/**
+ * GST_AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE
+ *
+ * G_TYPE_UINT, oversampling to use when interpolating filters
+ * 8 is the default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE "GstAudioResampler.filter-oversample"
+
+/**
+ * GST_AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR:
+ *
+ * G_TYPE_DOUBLE: The maximum allowed phase error when switching sample
+ * rates.
+ * 0.1 is the default.
+ */
+#define GST_AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR "GstAudioResampler.max-phase-error"
+
+/**
+ * GstAudioResamplerMethod:
+ * @GST_AUDIO_RESAMPLER_METHOD_NEAREST: Duplicates the samples when
+ *    upsampling and drops when downsampling
+ * @GST_AUDIO_RESAMPLER_METHOD_LINEAR: Uses linear interpolation to reconstruct
+ *    missing samples and averaging to downsample
+ * @GST_AUDIO_RESAMPLER_METHOD_CUBIC: Uses cubic interpolation
+ * @GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL: Uses Blackman-Nuttall windowed sinc interpolation
+ * @GST_AUDIO_RESAMPLER_METHOD_KAISER: Uses Kaiser windowed sinc interpolation
+ *
+ * Different subsampling and upsampling methods
+ *
+ * Since: 1.6
+ */
+typedef enum {
+  GST_AUDIO_RESAMPLER_METHOD_NEAREST,
+  GST_AUDIO_RESAMPLER_METHOD_LINEAR,
+  GST_AUDIO_RESAMPLER_METHOD_CUBIC,
+  GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL,
+  GST_AUDIO_RESAMPLER_METHOD_KAISER
+} GstAudioResamplerMethod;
+
+/**
+ * GstAudioResamplerFlags:
+ * @GST_AUDIO_RESAMPLER_FLAG_NONE: no flags
+ * @GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN: input samples are non-interleaved.
+ *    an array of blocks of samples, one for each channel, should be passed to the
+ *    resample function.
+ * @GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT: output samples are non-interleaved.
+ *    an array of blocks of samples, one for each channel, should be passed to the
+ *    resample function.
+ * @GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE: optimize for dynamic updates of the sample
+ *    rates with gst_audio_resampler_update(). This will select an interpolating filter
+ *    when #GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO is configured.
+ *
+ * Different resampler flags.
+ */
+typedef enum {
+  GST_AUDIO_RESAMPLER_FLAG_NONE                 = (0),
+  GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN   = (1 << 0),
+  GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT  = (1 << 1),
+  GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE        = (1 << 2),
+} GstAudioResamplerFlags;
+
+#define GST_AUDIO_RESAMPLER_QUALITY_MIN 0
+#define GST_AUDIO_RESAMPLER_QUALITY_MAX 10
+#define GST_AUDIO_RESAMPLER_QUALITY_DEFAULT 4
+
+void           gst_audio_resampler_options_set_quality   (GstAudioResamplerMethod method,
+                                                          guint quality,
+                                                          gint in_rate, gint out_rate,
+                                                          GstStructure *options);
+
+GstAudioResampler * gst_audio_resampler_new              (GstAudioResamplerMethod method,
+                                                          GstAudioResamplerFlags flags,
+                                                          GstAudioFormat format, gint channels,
+                                                          gint in_rate, gint out_rate,
+                                                          GstStructure *options);
+void                gst_audio_resampler_free             (GstAudioResampler *resampler);
+
+void                gst_audio_resampler_reset            (GstAudioResampler *resampler);
+
+gboolean            gst_audio_resampler_update           (GstAudioResampler *resampler,
+                                                          gint in_rate, gint out_rate,
+                                                          GstStructure *options);
+
+gsize               gst_audio_resampler_get_out_frames   (GstAudioResampler *resampler,
+                                                          gsize in_frames);
+gsize               gst_audio_resampler_get_in_frames    (GstAudioResampler *resampler,
+                                                          gsize out_frames);
+
+gsize               gst_audio_resampler_get_max_latency  (GstAudioResampler *resampler);
+
+void                gst_audio_resampler_resample         (GstAudioResampler * resampler,
+                                                          gpointer in[], gsize in_frames,
+                                                          gpointer out[], gsize out_frames);
+
+G_END_DECLS
+
+#endif /* __GST_AUDIO_RESAMPLER_H__ */
diff --git a/gst-libs/gst/audio/audio.c b/gst-libs/gst/audio/audio.c
index 5f3556f..a005e45 100644
--- a/gst-libs/gst/audio/audio.c
+++ b/gst-libs/gst/audio/audio.c
@@ -75,8 +75,8 @@
  * is not clipped
  */
 GstBuffer *
-gst_audio_buffer_clip (GstBuffer * buffer, GstSegment * segment, gint rate,
-    gint bpf)
+gst_audio_buffer_clip (GstBuffer * buffer, const GstSegment * segment,
+    gint rate, gint bpf)
 {
   GstBuffer *ret;
   GstClockTime timestamp = GST_CLOCK_TIME_NONE, duration = GST_CLOCK_TIME_NONE;
diff --git a/gst-libs/gst/audio/audio.h b/gst-libs/gst/audio/audio.h
index 0aa83bd..ac45b2e 100644
--- a/gst-libs/gst/audio/audio.h
+++ b/gst-libs/gst/audio/audio.h
@@ -30,6 +30,7 @@
 #include <gst/audio/audio-info.h>
 #include <gst/audio/audio-quantize.h>
 #include <gst/audio/audio-converter.h>
+#include <gst/audio/audio-resampler.h>
 
 G_BEGIN_DECLS
 
@@ -87,7 +88,8 @@
  * handling
  */
 
-GstBuffer *    gst_audio_buffer_clip     (GstBuffer *buffer, GstSegment *segment,
+GstBuffer *    gst_audio_buffer_clip     (GstBuffer *buffer,
+                                          const GstSegment *segment,
                                           gint rate, gint bpf);
 
 
diff --git a/gst-libs/gst/audio/dbesi0.c b/gst-libs/gst/audio/dbesi0.c
new file mode 100644
index 0000000..958eba7
--- /dev/null
+++ b/gst-libs/gst/audio/dbesi0.c
@@ -0,0 +1,147 @@
+/*  Copyright(C) 1996 Takuya OOURA
+
+You may use, copy, modify this code for any purpose and
+without fee.
+
+Package home:  http://www.kurims.kyoto-u.ac.jp/~ooura/bessel.html
+*/
+
+/* Bessel I_0(x) function in double precision */
+
+#include <math.h>
+
+static double
+dbesi0 (double x)
+{
+  int k;
+  double w, t, y;
+  static double a[65] = {
+    8.5246820682016865877e-11, 2.5966600546497407288e-9,
+    7.9689994568640180274e-8, 1.9906710409667748239e-6,
+    4.0312469446528002532e-5, 6.4499871606224265421e-4,
+    0.0079012345761930579108, 0.071111111109207045212,
+    0.444444444444724909, 1.7777777777777532045,
+    4.0000000000000011182, 3.99999999999999998,
+    1.0000000000000000001,
+    1.1520919130377195927e-10, 2.2287613013610985225e-9,
+    8.1903951930694585113e-8, 1.9821560631611544984e-6,
+    4.0335461940910133184e-5, 6.4495330974432203401e-4,
+    0.0079013012611467520626, 0.071111038160875566622,
+    0.44444450319062699316, 1.7777777439146450067,
+    4.0000000132337935071, 3.9999999968569015366,
+    1.0000000003426703174,
+    1.5476870780515238488e-10, 1.2685004214732975355e-9,
+    9.2776861851114223267e-8, 1.9063070109379044378e-6,
+    4.0698004389917945832e-5, 6.4370447244298070713e-4,
+    0.0079044749458444976958, 0.071105052411749363882,
+    0.44445280640924755082, 1.7777694934432109713,
+    4.0000055808824003386, 3.9999977081165740932,
+    1.0000004333949319118,
+    2.0675200625006793075e-10, -6.1689554705125681442e-10,
+    1.2436765915401571654e-7, 1.5830429403520613423e-6,
+    4.2947227560776583326e-5, 6.3249861665073441312e-4,
+    0.0079454472840953930811, 0.070994327785661860575,
+    0.44467219586283000332, 1.7774588182255374745,
+    4.0003038986252717972, 3.9998233869142057195,
+    1.0000472932961288324,
+    2.7475684794982708655e-10, -3.8991472076521332023e-9,
+    1.9730170483976049388e-7, 5.9651531561967674521e-7,
+    5.1992971474748995357e-5, 5.7327338675433770752e-4,
+    0.0082293143836530412024, 0.069990934858728039037,
+    0.44726764292723985087, 1.7726685170014087784,
+    4.0062907863712704432, 3.9952750700487845355,
+    1.0016354346654179322
+  };
+  static double b[70] = {
+    6.7852367144945531383e-8, 4.6266061382821826854e-7,
+    6.9703135812354071774e-6, 7.6637663462953234134e-5,
+    7.9113515222612691636e-4, 0.0073401204731103808981,
+    0.060677114958668837046, 0.43994941411651569622,
+    2.7420017097661750609, 14.289661921740860534,
+    59.820609640320710779, 188.78998681199150629,
+    399.8731367825601118, 427.56411572180478514,
+    1.8042097874891098754e-7, 1.2277164312044637357e-6,
+    1.8484393221474274861e-5, 2.0293995900091309208e-4,
+    0.0020918539850246207459, 0.019375315654033949297,
+    0.15985869016767185908, 1.1565260527420641724,
+    7.1896341224206072113, 37.354773811947484532,
+    155.80993164266268457, 489.5211371158540918,
+    1030.9147225169564806, 1093.5883545113746958,
+    4.8017305613187493564e-7, 3.261317843912380074e-6,
+    4.9073137508166159639e-5, 5.3806506676487583755e-4,
+    0.0055387918291051866561, 0.051223717488786549025,
+    0.42190298621367914765, 3.0463625987357355872,
+    18.895299447327733204, 97.915189029455461554,
+    407.13940115493494659, 1274.3088990480582632,
+    2670.9883037012547506, 2815.7166284662544712,
+    1.2789926338424623394e-6, 8.6718263067604918916e-6,
+    1.3041508821299929489e-4, 0.001428224737372747892,
+    0.014684070635768789378, 0.13561403190404185755,
+    1.1152592585977393953, 8.0387088559465389038,
+    49.761318895895479206, 257.2684232313529138,
+    1066.8543146269566231, 3328.3874581009636362,
+    6948.8586598121634874, 7288.4893398212481055,
+    3.409350368197032893e-6, 2.3079025203103376076e-5,
+    3.4691373283901830239e-4, 0.003794994977222908545,
+    0.038974209677945602145, 0.3594948380414878371,
+    2.9522878893539528226, 21.246564609514287056,
+    131.28727387146173141, 677.38107093296675421,
+    2802.3724744545046518, 8718.5731420798254081,
+    18141.348781638832286, 18948.925349296308859
+  };
+  static double c[45] = {
+    2.5568678676452702768e-15, 3.0393953792305924324e-14,
+    6.3343751991094840009e-13, 1.5041298011833009649e-11,
+    4.4569436918556541414e-10, 1.746393051427167951e-8,
+    1.0059224011079852317e-6, 1.0729838945088577089e-4,
+    0.05150322693642527738,
+    5.2527963991711562216e-15, 7.202118481421005641e-15,
+    7.2561421229904797156e-13, 1.482312146673104251e-11,
+    4.4602670450376245434e-10, 1.7463600061788679671e-8,
+    1.005922609132234756e-6, 1.0729838937545111487e-4,
+    0.051503226936437300716,
+    1.3365917359358069908e-14, -1.2932643065888544835e-13,
+    1.7450199447905602915e-12, 1.0419051209056979788e-11,
+    4.58047881980598326e-10, 1.7442405450073548966e-8,
+    1.0059461453281292278e-6, 1.0729837434500161228e-4,
+    0.051503226940658446941,
+    5.3771611477352308649e-14, -1.1396193006413731702e-12,
+    1.2858641335221653409e-11, -5.9802086004570057703e-11,
+    7.3666894305929510222e-10, 1.6731837150730356448e-8,
+    1.0070831435812128922e-6, 1.0729733111203704813e-4,
+    0.051503227360726294675,
+    3.7819492084858931093e-14, -4.8600496888588034879e-13,
+    1.6898350504817224909e-12, 4.5884624327524255865e-11,
+    1.2521615963377513729e-10, 1.8959658437754727957e-8,
+    1.0020716710561353622e-6, 1.073037119856927559e-4,
+    0.05150322383300230775
+  };
+
+  w = fabs (x);
+  if (w < 8.5) {
+    t = w * w * 0.0625;
+    k = 13 * ((int) t);
+    y = (((((((((((a[k] * t + a[k + 1]) * t +
+                                            a[k + 2]) * t + a[k + 3]) * t +
+                                    a[k + 4]) * t + a[k + 5]) * t + a[k +
+                                6]) * t + a[k + 7]) * t + a[k + 8]) * t + a[k +
+                    9]) * t + a[k + 10]) * t + a[k + 11]) * t + a[k + 12];
+  } else if (w < 12.5) {
+    k = (int) w;
+    t = w - k;
+    k = 14 * (k - 8);
+    y = ((((((((((((b[k] * t + b[k + 1]) * t + b[k + 2]) * t + b[k + 3]) * t +
+                                        b[k + 4]) * t + b[k + 5]) * t + b[k +
+                                    6]) * t + b[k + 7]) * t + b[k + 8]) * t +
+                    b[k + 9]) * t + b[k + 10]) * t + b[k + 11]) * t + b[k +
+            12]) * t + b[k + 13];
+  } else {
+    t = 60 / w;
+    k = 9 * ((int) t);
+    y = ((((((((c[k] * t + c[k + 1]) * t +
+                                c[k + 2]) * t + c[k + 3]) * t + c[k + 4]) * t +
+                    c[k + 5]) * t + c[k + 6]) * t + c[k + 7]) * t +
+        c[k + 8]) * sqrt (t) * exp (w);
+  }
+  return y;
+}
diff --git a/gst-libs/gst/audio/gstaudiocdsrc.c b/gst-libs/gst/audio/gstaudiocdsrc.c
index 5c4a056..79b7423 100644
--- a/gst-libs/gst/audio/gstaudiocdsrc.c
+++ b/gst-libs/gst/audio/gstaudiocdsrc.c
@@ -291,8 +291,8 @@
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 #endif
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_audio_cd_src_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_audio_cd_src_src_template);
 
 #if 0
   element_class->set_index = GST_DEBUG_FUNCPTR (gst_audio_cd_src_set_index);
diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
index 0083759..e583e2f 100644
--- a/gst-libs/gst/audio/gstaudiodecoder.c
+++ b/gst-libs/gst/audio/gstaudiodecoder.c
@@ -203,6 +203,7 @@
   gboolean do_plc;
   gboolean do_estimate_rate;
   gint max_errors;
+  GstCaps *allocation_caps;
   /* MT-protected (with LOCK) */
   GstClockTime min_latency;
   GstClockTime max_latency;
@@ -241,6 +242,8 @@
   gboolean force;
   /* input_segment are output_segment identical */
   gboolean in_out_segment_sync;
+  /* expecting the buffer with DISCONT flag */
+  gboolean expecting_discont_buf;
 
 
   /* input bps estimatation */
@@ -496,8 +499,10 @@
 
   if (full) {
     dec->priv->active = FALSE;
+    GST_OBJECT_LOCK (dec);
     dec->priv->bytes_in = 0;
     dec->priv->samples_out = 0;
+    GST_OBJECT_UNLOCK (dec);
     dec->priv->agg = -1;
     dec->priv->error_count = 0;
     gst_audio_decoder_clear_queues (dec);
@@ -524,11 +529,14 @@
     if (dec->priv->ctx.allocator)
       gst_object_unref (dec->priv->ctx.allocator);
 
+    GST_OBJECT_LOCK (dec);
     gst_caps_replace (&dec->priv->ctx.input_caps, NULL);
+    gst_caps_replace (&dec->priv->ctx.allocation_caps, NULL);
 
     memset (&dec->priv->ctx, 0, sizeof (dec->priv->ctx));
 
     gst_audio_info_init (&dec->priv->ctx.info);
+    GST_OBJECT_UNLOCK (dec);
     dec->priv->ctx.max_errors = GST_AUDIO_DECODER_MAX_ERRORS;
     dec->priv->ctx.had_output_data = FALSE;
     dec->priv->ctx.had_input_data = FALSE;
@@ -639,6 +647,8 @@
   klass = GST_AUDIO_DECODER_GET_CLASS (dec);
 
   caps = gst_audio_info_to_caps (&dec->priv->ctx.info);
+  if (dec->priv->ctx.allocation_caps == NULL)
+    dec->priv->ctx.allocation_caps = gst_caps_ref (caps);
 
   GST_DEBUG_OBJECT (dec, "setting src caps %" GST_PTR_FORMAT, caps);
 
@@ -673,7 +683,7 @@
     goto done;
   dec->priv->ctx.output_format_changed = FALSE;
 
-  query = gst_query_new_allocation (caps, TRUE);
+  query = gst_query_new_allocation (dec->priv->ctx.allocation_caps, TRUE);
   if (!gst_pad_peer_query (dec->srcpad, query)) {
     GST_DEBUG_OBJECT (dec, "didn't get downstream ALLOCATION hints");
   }
@@ -811,7 +821,9 @@
   }
 
   /* copy the GstAudioInfo */
+  GST_OBJECT_LOCK (dec);
   dec->priv->ctx.info = *info;
+  GST_OBJECT_UNLOCK (dec);
   dec->priv->ctx.output_format_changed = TRUE;
 
 done:
@@ -1382,8 +1394,10 @@
     }
   }
 
+  GST_OBJECT_LOCK (dec);
   priv->samples += samples;
   priv->samples_out += samples;
+  GST_OBJECT_UNLOCK (dec);
 
   /* we got data, so note things are looking up */
   if (G_UNLIKELY (dec->priv->error_count))
@@ -1444,7 +1458,9 @@
         GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
     g_queue_push_tail (&dec->priv->frames, buffer);
     dec->priv->ctx.delay = dec->priv->frames.length;
+    GST_OBJECT_LOCK (dec);
     dec->priv->bytes_in += size;
+    GST_OBJECT_UNLOCK (dec);
   } else {
     GST_LOG_OBJECT (dec, "providing subclass with NULL frame");
   }
@@ -1883,9 +1899,6 @@
 
   dec = GST_AUDIO_DECODER (parent);
 
-  if (G_UNLIKELY (!gst_pad_has_current_caps (pad) && dec->priv->needs_format))
-    goto not_negotiated;
-
   GST_LOG_OBJECT (dec,
       "received buffer of size %" G_GSIZE_FORMAT " with ts %" GST_TIME_FORMAT
       ", duration %" GST_TIME_FORMAT, gst_buffer_get_size (buffer),
@@ -1894,9 +1907,13 @@
 
   GST_AUDIO_DECODER_STREAM_LOCK (dec);
 
+  if (G_UNLIKELY (dec->priv->ctx.input_caps == NULL && dec->priv->needs_format))
+    goto not_negotiated;
+
   dec->priv->ctx.had_input_data = TRUE;
 
-  if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT)) {
+  if (!dec->priv->expecting_discont_buf &&
+      GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT)) {
     gint64 samples, ts;
 
     /* track present position */
@@ -1917,6 +1934,7 @@
       dec->priv->samples = samples;
     }
   }
+  dec->priv->expecting_discont_buf = FALSE;
 
   if (dec->input_segment.rate > 0.0)
     ret = gst_audio_decoder_chain_forward (dec, buffer);
@@ -1930,6 +1948,7 @@
   /* ERRORS */
 not_negotiated:
   {
+    GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
     GST_ELEMENT_ERROR (dec, CORE, NEGOTIATION, (NULL),
         ("decoder not initialized"));
     gst_buffer_unref (buffer);
@@ -1942,8 +1961,14 @@
 static inline gboolean
 gst_audio_decoder_do_byte (GstAudioDecoder * dec)
 {
-  return dec->priv->ctx.do_estimate_rate && dec->priv->ctx.info.bpf &&
+  gboolean ret;
+
+  GST_OBJECT_LOCK (dec);
+  ret = dec->priv->ctx.do_estimate_rate && dec->priv->ctx.info.bpf &&
       dec->priv->ctx.info.rate <= dec->priv->samples_out;
+  GST_OBJECT_UNLOCK (dec);
+
+  return ret;
 }
 
 /* Must be called holding the GST_AUDIO_DECODER_STREAM_LOCK */
@@ -1957,6 +1982,7 @@
   guint64 channel_mask = 0;
   gint caps_size;
   GstStructure *structure;
+  GstAudioInfo info;
 
   templcaps = gst_pad_get_pad_template_caps (dec->srcpad);
   caps = gst_pad_peer_query_caps (dec->srcpad, templcaps);
@@ -2003,10 +2029,18 @@
 
   for (i = 0; i < caps_size; i++) {
     structure = gst_caps_get_structure (caps, i);
-    gst_structure_fixate_field_nearest_int (structure,
-        "channels", GST_AUDIO_DEF_CHANNELS);
-    gst_structure_fixate_field_nearest_int (structure,
-        "rate", GST_AUDIO_DEF_RATE);
+    if (gst_structure_has_field (structure, "channels"))
+      gst_structure_fixate_field_nearest_int (structure,
+          "channels", GST_AUDIO_DEF_CHANNELS);
+    else
+      gst_structure_set (structure, "channels", G_TYPE_INT,
+          GST_AUDIO_DEF_CHANNELS, NULL);
+    if (gst_structure_has_field (structure, "rate"))
+      gst_structure_fixate_field_nearest_int (structure,
+          "rate", GST_AUDIO_DEF_RATE);
+    else
+      gst_structure_set (structure, "rate", G_TYPE_INT, GST_AUDIO_DEF_RATE,
+          NULL);
   }
   caps = gst_caps_fixate (caps);
   structure = gst_caps_get_structure (caps, 0);
@@ -2024,9 +2058,13 @@
     }
   }
 
-  if (!caps || !gst_audio_info_from_caps (&dec->priv->ctx.info, caps))
+  if (!caps || !gst_audio_info_from_caps (&info, caps))
     goto caps_error;
 
+  GST_OBJECT_LOCK (dec);
+  dec->priv->ctx.info = info;
+  GST_OBJECT_UNLOCK (dec);
+
   GST_INFO_OBJECT (dec,
       "Chose default caps %" GST_PTR_FORMAT " for initial gap", caps);
   gst_caps_unref (caps);
@@ -2090,6 +2128,7 @@
     /* best effort, not much error handling */
     gst_audio_decoder_handle_frame (dec, klass, buf);
     ret = TRUE;
+    dec->priv->expecting_discont_buf = TRUE;
     gst_event_unref (event);
   } else {
     GstFlowReturn flowret;
@@ -2518,77 +2557,6 @@
   return TRUE;
 }
 
-/*
- * gst_audio_encoded_audio_convert:
- * @fmt: audio format of the encoded audio
- * @bytes: number of encoded bytes
- * @samples: number of encoded samples
- * @src_format: source format
- * @src_value: source value
- * @dest_format: destination format
- * @dest_value: destination format
- *
- * Helper function to convert @src_value in @src_format to @dest_value in
- * @dest_format for encoded audio data.  Conversion is possible between
- * BYTE and TIME format by using estimated bitrate based on
- * @samples and @bytes (and @fmt).
- */
-/* FIXME: make gst_audio_encoded_audio_convert() public? */
-static gboolean
-gst_audio_encoded_audio_convert (GstAudioInfo * fmt,
-    gint64 bytes, gint64 samples, GstFormat src_format,
-    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (samples == 0 || bytes == 0 || fmt->rate == 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  bytes *= fmt->rate;
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value,
-              GST_SECOND * samples, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes,
-              samples * GST_SECOND);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 /**
  * gst_audio_decoder_proxy_getcaps:
  * @decoder: a #GstAudioDecoder
@@ -2651,9 +2619,12 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_encoded_audio_convert (&dec->priv->ctx.info,
-                  dec->priv->bytes_in, dec->priv->samples_out,
-                  src_fmt, src_val, &dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (dec);
+      res = __gst_audio_encoded_audio_convert (&dec->priv->ctx.info,
+          dec->priv->bytes_in, dec->priv->samples_out,
+          src_fmt, src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (dec);
+      if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       break;
@@ -2832,8 +2803,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_info_convert (&dec->priv->ctx.info,
-                  src_fmt, src_val, dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (dec);
+      res = gst_audio_info_convert (&dec->priv->ctx.info,
+          src_fmt, src_val, dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (dec);
+      if (!res)
         break;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       break;
@@ -3265,6 +3239,27 @@
 }
 
 /**
+ * gst_audio_decoder_set_allocation_caps:
+ * @dec: a #GstAudioDecoder
+ * @allocation_caps: (allow-none): a #GstCaps or %NULL
+ *
+ * Sets a caps in allocation query which are different from the set
+ * pad's caps. Use this function before calling
+ * gst_audio_decoder_negotiate(). Setting to %NULL the allocation
+ * query will use the caps from the pad.
+ *
+ * Since: 1.10
+ */
+void
+gst_audio_decoder_set_allocation_caps (GstAudioDecoder * dec,
+    GstCaps * allocation_caps)
+{
+  g_return_if_fail (GST_IS_AUDIO_DECODER (dec));
+
+  gst_caps_replace (&dec->priv->ctx.allocation_caps, allocation_caps);
+}
+
+/**
  * gst_audio_decoder_set_plc:
  * @dec: a #GstAudioDecoder
  * @enabled: new state
diff --git a/gst-libs/gst/audio/gstaudiodecoder.h b/gst-libs/gst/audio/gstaudiodecoder.h
index f364161..71e0ce7 100644
--- a/gst-libs/gst/audio/gstaudiodecoder.h
+++ b/gst-libs/gst/audio/gstaudiodecoder.h
@@ -360,6 +360,8 @@
                                                      gboolean        * sync,
                                                      gboolean        * eos);
 
+void              gst_audio_decoder_set_allocation_caps (GstAudioDecoder * dec,
+                                                         GstCaps         * allocation_caps);
 
 /* object properties */
 void              gst_audio_decoder_set_plc (GstAudioDecoder * dec,
diff --git a/gst-libs/gst/audio/gstaudioencoder.c b/gst-libs/gst/audio/gstaudioencoder.c
index bdabaab..6b6d9ad 100644
--- a/gst-libs/gst/audio/gstaudioencoder.c
+++ b/gst-libs/gst/audio/gstaudioencoder.c
@@ -194,6 +194,7 @@
 
   /* output */
   GstCaps *caps;
+  GstCaps *allocation_caps;
   gboolean output_caps_changed;
   gint frame_samples_min, frame_samples_max;
   gint frame_max;
@@ -478,8 +479,10 @@
 
   if (full) {
     enc->priv->active = FALSE;
+    GST_OBJECT_LOCK (enc);
     enc->priv->samples_in = 0;
     enc->priv->bytes_out = 0;
+    GST_OBJECT_UNLOCK (enc);
 
     g_list_foreach (enc->priv->ctx.headers, (GFunc) gst_buffer_unref, NULL);
     g_list_free (enc->priv->ctx.headers);
@@ -490,11 +493,14 @@
       gst_object_unref (enc->priv->ctx.allocator);
     enc->priv->ctx.allocator = NULL;
 
+    GST_OBJECT_LOCK (enc);
     gst_caps_replace (&enc->priv->ctx.input_caps, NULL);
     gst_caps_replace (&enc->priv->ctx.caps, NULL);
+    gst_caps_replace (&enc->priv->ctx.allocation_caps, NULL);
 
     memset (&enc->priv->ctx, 0, sizeof (enc->priv->ctx));
     gst_audio_info_init (&enc->priv->ctx.info);
+    GST_OBJECT_UNLOCK (enc);
 
     if (enc->priv->upstream_tags) {
       gst_tag_list_unref (enc->priv->upstream_tags);
@@ -909,7 +915,9 @@
           GST_BUFFER_OFFSET_END (tmpbuf) = priv->bytes_out + size;
         }
 
+        GST_OBJECT_LOCK (enc);
         priv->bytes_out += size;
+        GST_OBJECT_UNLOCK (enc);
 
         gst_pad_push (enc->srcpad, tmpbuf);
       }
@@ -971,7 +979,9 @@
       }
     }
 
+    GST_OBJECT_LOCK (enc);
     priv->bytes_out += size;
+    GST_OBJECT_UNLOCK (enc);
 
     if (G_UNLIKELY (priv->discont)) {
       GST_LOG_OBJECT (enc, "marking discont");
@@ -1116,7 +1126,9 @@
     /* mark this already as consumed,
      * which it should be when subclass gives us data in exchange for samples */
     priv->offset += need;
+    GST_OBJECT_LOCK (enc);
     priv->samples_in += need / ctx->info.bpf;
+    GST_OBJECT_UNLOCK (enc);
 
     /* subclass might not want to be bothered with leftover data,
      * so take care of that here if so, otherwise pass along */
@@ -1428,8 +1440,10 @@
     res = klass->set_format (enc, &state);
 
   if (res) {
+    GST_OBJECT_LOCK (enc);
     ctx->info = state;
     gst_caps_replace (&enc->priv->ctx.input_caps, caps);
+    GST_OBJECT_UNLOCK (enc);
   } else {
     /* invalidate state to ensure no casual carrying on */
     GST_DEBUG_OBJECT (enc, "subclass did not accept format");
@@ -1715,8 +1729,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_info_convert (&enc->priv->ctx.info,
-                  src_fmt, src_val, dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (enc);
+      res = gst_audio_info_convert (&enc->priv->ctx.info,
+          src_fmt, src_val, dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (enc);
+      if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       res = TRUE;
@@ -1848,77 +1865,6 @@
   return TRUE;
 }
 
-/*
- * gst_audio_encoded_audio_convert:
- * @fmt: audio format of the encoded audio
- * @bytes: number of encoded bytes
- * @samples: number of encoded samples
- * @src_format: source format
- * @src_value: source value
- * @dest_format: destination format
- * @dest_value: destination format
- *
- * Helper function to convert @src_value in @src_format to @dest_value in
- * @dest_format for encoded audio data.  Conversion is possible between
- * BYTE and TIME format by using estimated bitrate based on
- * @samples and @bytes (and @fmt).
- */
-/* FIXME: make gst_audio_encoded_audio_convert() public? */
-static gboolean
-gst_audio_encoded_audio_convert (GstAudioInfo * fmt,
-    gint64 bytes, gint64 samples, GstFormat src_format,
-    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (samples == 0 || bytes == 0 || fmt->rate == 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  bytes *= fmt->rate;
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value,
-              GST_SECOND * samples, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes,
-              samples * GST_SECOND);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 /* FIXME ? are any of these queries (other than latency) an encoder's business
  * also, the conversion stuff might seem to make sense, but seems to not mind
  * segment stuff etc at all
@@ -1988,9 +1934,12 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_encoded_audio_convert (&enc->priv->ctx.info,
-                  enc->priv->bytes_out, enc->priv->samples_in, src_fmt, src_val,
-                  &dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (enc);
+      res = __gst_audio_encoded_audio_convert (&enc->priv->ctx.info,
+          enc->priv->bytes_out, enc->priv->samples_in, src_fmt, src_val,
+          &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (enc);
+      if (!res)
         break;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       break;
@@ -2387,6 +2336,27 @@
 }
 
 /**
+ * gst_audio_encoder_set_allocation_caps:
+ * @enc: a #GstAudioEncoder
+ * @allocation_caps: (allow-none): a #GstCaps or %NULL
+ *
+ * Sets a caps in allocation query which are different from the set
+ * pad's caps. Use this function before calling
+ * gst_audio_encoder_negotiate(). Setting to %NULL the allocation
+ * query will use the caps from the pad.
+ *
+ * Since: 1.10
+ */
+void
+gst_audio_encoder_set_allocation_caps (GstAudioEncoder * enc,
+    GstCaps * allocation_caps)
+{
+  g_return_if_fail (GST_IS_AUDIO_ENCODER (enc));
+
+  gst_caps_replace (&enc->priv->ctx.allocation_caps, allocation_caps);
+}
+
+/**
  * gst_audio_encoder_set_mark_granule:
  * @enc: a #GstAudioEncoder
  * @enabled: new state
@@ -2717,6 +2687,8 @@
   klass = GST_AUDIO_ENCODER_GET_CLASS (enc);
 
   caps = enc->priv->ctx.caps;
+  if (enc->priv->ctx.allocation_caps == NULL)
+    enc->priv->ctx.allocation_caps = gst_caps_ref (caps);
 
   GST_DEBUG_OBJECT (enc, "Setting srcpad caps %" GST_PTR_FORMAT, caps);
 
@@ -2751,7 +2723,7 @@
     goto done;
   enc->priv->ctx.output_caps_changed = FALSE;
 
-  query = gst_query_new_allocation (caps, TRUE);
+  query = gst_query_new_allocation (enc->priv->ctx.allocation_caps, TRUE);
   if (!gst_pad_peer_query (enc->srcpad, query)) {
     GST_DEBUG_OBJECT (enc, "didn't get downstream ALLOCATION hints");
   }
@@ -2837,7 +2809,7 @@
   return ret;
 }
 
-/*
+/**
  * gst_audio_encoder_set_output_format:
  * @enc: a #GstAudioEncoder
  * @caps: (transfer none): #GstCaps
@@ -2845,7 +2817,7 @@
  * Configure output caps on the srcpad of @enc.
  *
  * Returns: %TRUE on success.
- **/
+ */
 gboolean
 gst_audio_encoder_set_output_format (GstAudioEncoder * enc, GstCaps * caps)
 {
diff --git a/gst-libs/gst/audio/gstaudioencoder.h b/gst-libs/gst/audio/gstaudioencoder.h
index 47ca340..a186bd5 100644
--- a/gst-libs/gst/audio/gstaudioencoder.h
+++ b/gst-libs/gst/audio/gstaudioencoder.h
@@ -295,6 +295,9 @@
 void            gst_audio_encoder_set_headers (GstAudioEncoder * enc,
                                                GList           * headers);
 
+void            gst_audio_encoder_set_allocation_caps (GstAudioEncoder * enc,
+                                                       GstCaps         * allocation_caps);
+
 /* object properties */
 
 void            gst_audio_encoder_set_mark_granule (GstAudioEncoder * enc,
diff --git a/gst-libs/gst/audio/gstaudioringbuffer.c b/gst-libs/gst/audio/gstaudioringbuffer.c
index 14f3c22..a8c81a1 100644
--- a/gst-libs/gst/audio/gstaudioringbuffer.c
+++ b/gst-libs/gst/audio/gstaudioringbuffer.c
@@ -1940,6 +1940,23 @@
   g_atomic_int_set (&buf->may_start, allowed);
 }
 
+/* GST_AUDIO_CHANNEL_POSITION_NONE is used for position-less
+ * mutually exclusive channels. In this case we should not attempt
+ * to do any reordering.
+ */
+static gboolean
+position_less_channels (const GstAudioChannelPosition * pos, guint channels)
+{
+  guint i;
+
+  for (i = 0; i < channels; i++) {
+    if (pos[i] != GST_AUDIO_CHANNEL_POSITION_NONE)
+      return FALSE;
+  }
+
+  return TRUE;
+}
+
 /**
  * gst_audio_ring_buffer_set_channel_positions:
  * @buf: the #GstAudioRingBuffer
@@ -1965,6 +1982,11 @@
   if (memcmp (position, to, channels * sizeof (to[0])) == 0)
     return;
 
+  if (position_less_channels (position, channels)) {
+    GST_LOG_OBJECT (buf, "position-less channels, no need to reorder");
+    return;
+  }
+
   buf->need_reorder = FALSE;
   if (!gst_audio_get_channel_reorder_map (channels, position, to,
           buf->channel_reorder_map))
@@ -1972,6 +1994,19 @@
 
   for (i = 0; i < channels; i++) {
     if (buf->channel_reorder_map[i] != i) {
+#ifndef GST_DISABLE_GST_DEBUG
+      {
+        gchar *tmp1, *tmp2;
+
+        tmp1 = gst_audio_channel_positions_to_string (position, channels);
+        tmp2 = gst_audio_channel_positions_to_string (to, channels);
+        GST_LOG_OBJECT (buf, "may have to reorder channels: %s -> %s", tmp1,
+            tmp2);
+        g_free (tmp1);
+        g_free (tmp2);
+      }
+#endif /* GST_DISABLE_GST_DEBUG */
+
       buf->need_reorder = TRUE;
       break;
     }
diff --git a/gst-libs/gst/audio/gstaudioutilsprivate.c b/gst-libs/gst/audio/gstaudioutilsprivate.c
index 870bcd6..27b056b 100644
--- a/gst-libs/gst/audio/gstaudioutilsprivate.c
+++ b/gst-libs/gst/audio/gstaudioutilsprivate.c
@@ -142,3 +142,73 @@
 
   return fcaps;
 }
+
+/**
+ * __gst_audio_encoded_audio_convert:
+ * @fmt: audio format of the encoded audio
+ * @bytes: number of encoded bytes
+ * @samples: number of encoded samples
+ * @src_format: source format
+ * @src_value: source value
+ * @dest_format: destination format
+ * @dest_value: destination format
+ *
+ * Helper function to convert @src_value in @src_format to @dest_value in
+ * @dest_format for encoded audio data.  Conversion is possible between
+ * BYTE and TIME format by using estimated bitrate based on
+ * @samples and @bytes (and @fmt).
+ */
+gboolean
+__gst_audio_encoded_audio_convert (GstAudioInfo * fmt,
+    gint64 bytes, gint64 samples, GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
+{
+  gboolean res = FALSE;
+
+  g_return_val_if_fail (dest_format != NULL, FALSE);
+  g_return_val_if_fail (dest_value != NULL, FALSE);
+
+  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
+          src_value == -1)) {
+    if (dest_value)
+      *dest_value = src_value;
+    return TRUE;
+  }
+
+  if (samples == 0 || bytes == 0 || fmt->rate == 0) {
+    GST_DEBUG ("not enough metadata yet to convert");
+    goto exit;
+  }
+
+  bytes *= fmt->rate;
+
+  switch (src_format) {
+    case GST_FORMAT_BYTES:
+      switch (*dest_format) {
+        case GST_FORMAT_TIME:
+          *dest_value = gst_util_uint64_scale (src_value,
+              GST_SECOND * samples, bytes);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    case GST_FORMAT_TIME:
+      switch (*dest_format) {
+        case GST_FORMAT_BYTES:
+          *dest_value = gst_util_uint64_scale (src_value, bytes,
+              samples * GST_SECOND);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    default:
+      res = FALSE;
+  }
+
+exit:
+  return res;
+}
diff --git a/gst-libs/gst/audio/gstaudioutilsprivate.h b/gst-libs/gst/audio/gstaudioutilsprivate.h
index a7cf96b..976765f 100644
--- a/gst-libs/gst/audio/gstaudioutilsprivate.h
+++ b/gst-libs/gst/audio/gstaudioutilsprivate.h
@@ -36,6 +36,12 @@
                                             GstPad * srcpad, GstCaps * initial_caps,
                                             GstCaps * filter);
 
+G_GNUC_INTERNAL
+gboolean __gst_audio_encoded_audio_convert (GstAudioInfo * fmt, gint64 bytes,
+                                            gint64 samples, GstFormat src_format,
+                                            gint64 src_value, GstFormat * dest_format,
+                                            gint64 * dest_value);
+
 G_END_DECLS
 
 #endif
diff --git a/gst-libs/gst/fft/Makefile.am b/gst-libs/gst/fft/Makefile.am
index 3e24aaf..0d70422 100644
--- a/gst-libs/gst/fft/Makefile.am
+++ b/gst-libs/gst/fft/Makefile.am
@@ -54,6 +54,7 @@
 GstFft-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstfft-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstFft \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/fft/Makefile.in b/gst-libs/gst/fft/Makefile.in
index 0508c73..43b64bb 100644
--- a/gst-libs/gst/fft/Makefile.in
+++ b/gst-libs/gst/fft/Makefile.in
@@ -1103,6 +1103,7 @@
 @HAVE_INTROSPECTION_TRUE@GstFft-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstfft-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstFft \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
index 88c79e7..c5a25ca 100644
--- a/gst-libs/gst/pbutils/Makefile.am
+++ b/gst-libs/gst/pbutils/Makefile.am
@@ -76,6 +76,7 @@
 GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstPbutils \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/pbutils/Makefile.in b/gst-libs/gst/pbutils/Makefile.in
index 45d10c4..7a62c92 100644
--- a/gst-libs/gst/pbutils/Makefile.in
+++ b/gst-libs/gst/pbutils/Makefile.in
@@ -1210,6 +1210,7 @@
 @HAVE_INTROSPECTION_TRUE@GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@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@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstPbutils \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/pbutils/codec-utils.c b/gst-libs/gst/pbutils/codec-utils.c
index af1a788..1fe2dc1 100644
--- a/gst-libs/gst/pbutils/codec-utils.c
+++ b/gst-libs/gst/pbutils/codec-utils.c
@@ -110,6 +110,59 @@
 }
 
 /**
+ * gst_codec_utils_aac_get_sample_rate:
+ * @audio_config: a pointer to the AudioSpecificConfig as specified in the
+ *                Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.
+ * @len: Length of @audio_config in bytes
+ *
+ * Translates the sample rate index found in AAC headers to the actual sample
+ * rate.
+ *
+ * Returns: The sample rate if sr_idx is valid, 0 otherwise.
+ *
+ * Since 1.10
+ */
+guint
+gst_codec_utils_aac_get_sample_rate (const guint8 * audio_config, guint len)
+{
+  guint rate_index;
+
+  if (len < 2)
+    return 0;
+
+  rate_index = ((audio_config[0] & 0x7) << 1) | ((audio_config[1] & 0x80) >> 7);
+  return gst_codec_utils_aac_get_sample_rate_from_index (rate_index);
+}
+
+/**
+ * gst_codec_utils_aac_get_channels:
+ * @audio_config: a pointer to the AudioSpecificConfig as specified in the
+ *                Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.
+ *
+ * Returns the channels of the given AAC stream.
+ *
+ * Returns: The channels or 0 if the channel could not be determined.
+ *
+ * Since 1.10
+ */
+guint
+gst_codec_utils_aac_get_channels (const guint8 * audio_config, guint len)
+{
+  guint channels;
+
+  if (len < 2)
+    return 0;
+
+  channels = (audio_config[1] & 0x7f) >> 3;
+  if (channels > 0 && channels < 7)
+    return channels;
+  else if (channels == 7)
+    return 8;
+  else
+    return 0;
+}
+
+/**
  * gst_codec_utils_aac_get_profile:
  * @audio_config: a pointer to the AudioSpecificConfig as specified in the
  *                Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
diff --git a/gst-libs/gst/pbutils/codec-utils.h b/gst-libs/gst/pbutils/codec-utils.h
index e1def83..979abaf 100644
--- a/gst-libs/gst/pbutils/codec-utils.h
+++ b/gst-libs/gst/pbutils/codec-utils.h
@@ -35,6 +35,10 @@
 
 const gchar * gst_codec_utils_aac_get_level   (const guint8 * audio_config, guint len);
 
+guint         gst_codec_utils_aac_get_sample_rate (const guint8 * audio_config, guint len);
+
+guint         gst_codec_utils_aac_get_channels (const guint8 * audio_config, guint len);
+
 gboolean      gst_codec_utils_aac_caps_set_level_and_profile (GstCaps      * caps,
                                                               const guint8 * audio_config,
                                                               guint          len);
diff --git a/gst-libs/gst/pbutils/descriptions.c b/gst-libs/gst/pbutils/descriptions.c
index 83aa413..cdea6b7 100644
--- a/gst-libs/gst/pbutils/descriptions.c
+++ b/gst-libs/gst/pbutils/descriptions.c
@@ -287,6 +287,7 @@
   {"application/x-teletext", "Teletext", 0, ""},
   {"application/x-kate", "Kate", 0, ""},
   {"subtitle/x-kate", N_("Kate subtitle format"), FLAG_SUB, ""},
+  {"application/x-subtitle-vtt", N_("WebVTT subtitle format"), FLAG_SUB, ""},
   {"subpicture/x-dvb", "DVB subtitles", FLAG_SUB, ""},
   {"subpicture/x-pgs", "PGS subtitles", FLAG_SUB, ""},
   {"subpicture/x-xsub", "XSUB subtitles", FLAG_SUB, ""},
diff --git a/gst-libs/gst/pbutils/gstaudiovisualizer.c b/gst-libs/gst/pbutils/gstaudiovisualizer.c
index 39b6b8a..717c2be 100644
--- a/gst-libs/gst/pbutils/gstaudiovisualizer.c
+++ b/gst-libs/gst/pbutils/gstaudiovisualizer.c
@@ -1036,7 +1036,7 @@
   guint64 dist, ts;
   guint avail, sbpf;
   gpointer adata;
-  gint bps, channels, rate;
+  gint bpf, rate;
 
   scope = GST_AUDIO_VISUALIZER (parent);
   klass = GST_AUDIO_VISUALIZER_CLASS (G_OBJECT_GET_CLASS (scope));
@@ -1056,11 +1056,10 @@
     }
   }
 
-  channels = GST_AUDIO_INFO_CHANNELS (&scope->ainfo);
   rate = GST_AUDIO_INFO_RATE (&scope->ainfo);
-  bps = GST_AUDIO_INFO_BPS (&scope->ainfo);
+  bpf = GST_AUDIO_INFO_BPF (&scope->ainfo);
 
-  if (bps == 0) {
+  if (bpf == 0) {
     ret = GST_FLOW_NOT_NEGOTIATED;
     goto beach;
   }
@@ -1070,7 +1069,7 @@
   g_mutex_lock (&scope->priv->config_lock);
 
   /* this is what we want */
-  sbpf = scope->req_spf * channels * sizeof (gint16);
+  sbpf = scope->req_spf * bpf;
 
   inbuf = scope->priv->inbuf;
   /* FIXME: the timestamp in the adapter would be different */
@@ -1087,8 +1086,7 @@
     ts = gst_adapter_prev_pts (scope->priv->adapter, &dist);
     if (GST_CLOCK_TIME_IS_VALID (ts)) {
       /* convert bytes to time */
-      dist /= bps;
-      ts += gst_util_uint64_scale_int (dist, GST_SECOND, rate);
+      ts += gst_util_uint64_scale_int (dist, GST_SECOND, rate * bpf);
     }
 
     /* check for QoS, don't compute buffers that are known to be late */
@@ -1135,7 +1133,7 @@
     ret = default_prepare_output_buffer (scope, &outbuf);
     g_mutex_lock (&scope->priv->config_lock);
     /* recheck as the value could have changed */
-    sbpf = scope->req_spf * channels * sizeof (gint16);
+    sbpf = scope->req_spf * bpf;
 
     /* no buffer allocated, we don't care why. */
     if (ret != GST_FLOW_OK)
@@ -1145,7 +1143,7 @@
     if (GST_CLOCK_TIME_IS_VALID (ts))
       gst_object_sync_values (GST_OBJECT (scope), ts);
 
-    GST_BUFFER_TIMESTAMP (outbuf) = ts;
+    GST_BUFFER_PTS (outbuf) = ts;
     GST_BUFFER_DURATION (outbuf) = scope->priv->frame_duration;
 
     /* this can fail as the data size we need could have changed */
@@ -1193,7 +1191,7 @@
 
   skip:
     /* recheck as the value could have changed */
-    sbpf = scope->req_spf * channels * sizeof (gint16);
+    sbpf = scope->req_spf * bpf;
     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) {
diff --git a/gst-libs/gst/pbutils/gstdiscoverer-types.c b/gst-libs/gst/pbutils/gstdiscoverer-types.c
index e743430..60a49cc 100644
--- a/gst-libs/gst/pbutils/gstdiscoverer-types.c
+++ b/gst-libs/gst/pbutils/gstdiscoverer-types.c
@@ -410,6 +410,8 @@
         stream_map);
   }
   ret->duration = ptr->duration;
+  ret->result = ptr->result;
+  ret->seekable = ptr->seekable;
   if (ptr->misc)
     ret->misc = gst_structure_copy (ptr->misc);
 
diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c
index af2046a..45de5f5 100644
--- a/gst-libs/gst/pbutils/gstdiscoverer.c
+++ b/gst-libs/gst/pbutils/gstdiscoverer.c
@@ -2200,11 +2200,14 @@
   /* FIXME: implement TOC support */
   GVariant *stream_variant;
   GVariant *variant;
-  GstDiscovererStreamInfo *sinfo = gst_discoverer_info_get_stream_info (info);
+  GstDiscovererStreamInfo *sinfo;
   GVariant *wrapper;
 
   g_return_val_if_fail (GST_IS_DISCOVERER_INFO (info), NULL);
+  g_return_val_if_fail (gst_discoverer_info_get_result (info) ==
+      GST_DISCOVERER_OK, NULL);
 
+  sinfo = gst_discoverer_info_get_stream_info (info);
   stream_variant = gst_discoverer_info_to_variant_recurse (sinfo, flags);
   variant =
       g_variant_new ("(vv)", _serialize_info (info, flags), stream_variant);
diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
index 83d83cb..5fa26e5 100644
--- a/gst-libs/gst/riff/Makefile.am
+++ b/gst-libs/gst/riff/Makefile.am
@@ -34,6 +34,7 @@
 #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 \
+#		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 #		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
 #		--nsversion=@GST_API_VERSION@ \
 #		--strip-prefix=Gst \
diff --git a/gst-libs/gst/riff/Makefile.in b/gst-libs/gst/riff/Makefile.in
index a996d5f..81c6d1d 100644
--- a/gst-libs/gst/riff/Makefile.in
+++ b/gst-libs/gst/riff/Makefile.in
@@ -874,6 +874,7 @@
 #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 \
+#		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 #		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
 #		--nsversion=@GST_API_VERSION@ \
 #		--strip-prefix=Gst \
diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
index fed44a8..04b1f90 100644
--- a/gst-libs/gst/rtp/Makefile.am
+++ b/gst-libs/gst/rtp/Makefile.am
@@ -52,6 +52,7 @@
 GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstRtp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/rtp/Makefile.in b/gst-libs/gst/rtp/Makefile.in
index 23df853..bc1a112 100644
--- a/gst-libs/gst/rtp/Makefile.in
+++ b/gst-libs/gst/rtp/Makefile.in
@@ -1131,6 +1131,7 @@
 @HAVE_INTROSPECTION_TRUE@GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@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@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstRtp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/rtp/gstrtcpbuffer.c b/gst-libs/gst/rtp/gstrtcpbuffer.c
index e5e4ca7..e540576 100644
--- a/gst-libs/gst/rtp/gstrtcpbuffer.c
+++ b/gst-libs/gst/rtp/gstrtcpbuffer.c
@@ -956,6 +956,9 @@
       packet->type == GST_RTCP_TYPE_SR, FALSE);
   g_return_val_if_fail (packet->rtcp != NULL, FALSE);
   g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_WRITE, FALSE);
+  /* if profile-specific extension is added, fail for now!? */
+  g_return_val_if_fail (gst_rtcp_packet_get_profile_specific_ext_length (packet)
+      == 0, FALSE);
 
   if (packet->count >= GST_RTCP_MAX_RB_COUNT)
     goto no_space;
@@ -1040,6 +1043,156 @@
 
 
 /**
+ * gst_rtcp_packet_set_profile_specific_ext:
+ * @packet: a valid SR or RR #GstRTCPPacket
+ * @data: (array length=len) (transfer none): profile-specific data
+ * @len: length of the profile-specific data in bytes
+ *
+ * Add profile-specific extension @data to @packet. If @packet already
+ * contains profile-specific extension @data will be appended to the existing
+ * extension.
+ *
+ * Returns: %TRUE if the profile specific extension data was added.
+ */
+gboolean
+gst_rtcp_packet_add_profile_specific_ext (GstRTCPPacket * packet,
+    const guint8 * data, guint len)
+{
+  guint8 *bdata;
+  guint maxsize, offset;
+
+  g_return_val_if_fail (packet != NULL, FALSE);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_RR ||
+      packet->type == GST_RTCP_TYPE_SR, FALSE);
+  g_return_val_if_fail (packet->rtcp != NULL, FALSE);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_WRITE, FALSE);
+  g_return_val_if_fail ((len & 0x03) == 0, FALSE);
+
+  bdata = packet->rtcp->map.data;
+  maxsize = packet->rtcp->map.maxsize;
+
+  /* skip to the end of the packet */
+  offset = packet->offset + (packet->length << 2) + 4;
+
+  /* we need 'len' free bytes now */
+  if (G_UNLIKELY (offset + len > maxsize))
+    return FALSE;
+
+  memcpy (&bdata[offset], data, len);
+  packet->length += len >> 2;
+  bdata[packet->offset + 2] = (packet->length) >> 8;
+  bdata[packet->offset + 3] = (packet->length) & 0xff;
+  packet->rtcp->map.size += len;
+
+  return TRUE;
+}
+
+/**
+ * gst_rtcp_packet_get_profile_specific_ext_length:
+ * @packet: a valid SR or RR #GstRTCPPacket
+ *
+ * Returns: The number of 32-bit words containing profile-specific extension
+ *          data from @packet.
+ */
+guint16
+gst_rtcp_packet_get_profile_specific_ext_length (GstRTCPPacket * packet)
+{
+  guint pse_offset = 2;
+
+  g_return_val_if_fail (packet != NULL, 0);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_RR ||
+      packet->type == GST_RTCP_TYPE_SR, 0);
+  g_return_val_if_fail (packet->rtcp != NULL, 0);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, 0);
+
+  if (packet->type == GST_RTCP_TYPE_SR)
+    pse_offset += 5;
+  pse_offset += (packet->count * 6);
+
+  if (pse_offset <= (packet->length + 1))
+    return packet->length + 1 - pse_offset;
+
+  /* This means that the packet is invalid! */
+  return 0;
+}
+
+/**
+ * gst_rtcp_packet_get_profile_specific_ext:
+ * @packet: a valid SR or RR #GstRTCPPacket
+ * @data: (out) (array length=len) (transfer none): result profile-specific data
+ * @len: (out): result length of the profile-specific data
+ *
+ * Returns: %TRUE if there was valid data.
+ */
+gboolean
+gst_rtcp_packet_get_profile_specific_ext (GstRTCPPacket * packet,
+    guint8 ** data, guint * len)
+{
+  guint16 pse_len;
+
+  g_return_val_if_fail (packet != NULL, FALSE);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_RR ||
+      packet->type == GST_RTCP_TYPE_SR, FALSE);
+  g_return_val_if_fail (packet->rtcp != NULL, FALSE);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, FALSE);
+
+  pse_len = gst_rtcp_packet_get_profile_specific_ext_length (packet);
+  if (pse_len > 0) {
+    if (len != NULL)
+      *len = pse_len * sizeof (guint32);
+    if (data != NULL) {
+      *data = packet->rtcp->map.data;
+      *data += packet->offset;
+      *data += ((packet->length + 1 - pse_len) * sizeof (guint32));
+    }
+
+    return TRUE;
+  }
+
+  return FALSE;
+}
+
+/**
+ * gst_rtcp_packet_copy_profile_specific_ext:
+ * @packet: a valid SR or RR #GstRTCPPacket
+ * @data: (out) (array length=len): result profile-specific data
+ * @len: (out): length of the profile-specific extension data
+ *
+ * The profile-specific extension data is copied into a new allocated
+ * memory area @data. This must be freed with g_free() after usage.
+ *
+ * Returns: %TRUE if there was valid data.
+ */
+gboolean
+gst_rtcp_packet_copy_profile_specific_ext (GstRTCPPacket * packet,
+    guint8 ** data, guint * len)
+{
+  guint16 pse_len;
+
+  g_return_val_if_fail (packet != NULL, FALSE);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_RR ||
+      packet->type == GST_RTCP_TYPE_SR, FALSE);
+  g_return_val_if_fail (packet->rtcp != NULL, FALSE);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, FALSE);
+
+  pse_len = gst_rtcp_packet_get_profile_specific_ext_length (packet);
+  if (pse_len > 0) {
+    if (len != NULL)
+      *len = pse_len * sizeof (guint32);
+    if (data != NULL) {
+      guint8 *ptr = packet->rtcp->map.data + packet->offset;
+      ptr += ((packet->length + 1 - pse_len) * sizeof (guint32));
+      *data = g_memdup (ptr, pse_len * sizeof (guint32));
+    }
+
+    return TRUE;
+  }
+
+  return FALSE;
+}
+
+
+/**
  * gst_rtcp_packet_sdes_get_item_count:
  * @packet: a valid SDES #GstRTCPPacket
  *
@@ -2158,3 +2311,232 @@
 
   return data + 12;
 }
+
+/**
+ * gst_rtcp_packet_app_set_subtype:
+ * @packet: a valid APP #GstRTCPPacket
+ * @subtype: subtype of the packet
+ *
+ * Set the subtype field of the APP @packet.
+ *
+ * Since: 1.10
+ **/
+void
+gst_rtcp_packet_app_set_subtype (GstRTCPPacket * packet, guint8 subtype)
+{
+  guint8 *data;
+
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (packet->type == GST_RTCP_TYPE_APP);
+  g_return_if_fail (packet->rtcp != NULL);
+  g_return_if_fail (packet->rtcp->map.flags & GST_MAP_WRITE);
+
+  data = packet->rtcp->map.data + packet->offset;
+  data[0] = (data[0] & 0xe0) | subtype;
+}
+
+/**
+ * gst_rtcp_packet_app_get_subtype:
+ * @packet: a valid APP #GstRTCPPacket
+ *
+ * Get the subtype field of the APP @packet.
+ *
+ * Returns: The subtype.
+ *
+ * Since: 1.10
+ */
+guint8
+gst_rtcp_packet_app_get_subtype (GstRTCPPacket * packet)
+{
+  guint8 *data;
+
+  g_return_val_if_fail (packet != NULL, 0);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_APP, 0);
+  g_return_val_if_fail (packet->rtcp != NULL, 0);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, 0);
+
+  data = packet->rtcp->map.data + packet->offset;
+
+  return data[0] & 0x1f;
+}
+
+/**
+ * gst_rtcp_packet_app_set_ssrc:
+ * @packet: a valid APP #GstRTCPPacket
+ * @ssrc: SSRC/CSRC of the packet
+ *
+ * Set the SSRC/CSRC field of the APP @packet.
+ *
+ * Since: 1.10
+ */
+void
+gst_rtcp_packet_app_set_ssrc (GstRTCPPacket * packet, guint32 ssrc)
+{
+  guint8 *data;
+
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (packet->type == GST_RTCP_TYPE_APP);
+  g_return_if_fail (packet->rtcp != NULL);
+  g_return_if_fail (packet->rtcp->map.flags & GST_MAP_WRITE);
+
+  data = packet->rtcp->map.data + packet->offset + 4;
+  GST_WRITE_UINT32_BE (data, ssrc);
+}
+
+/**
+ * gst_rtcp_packet_app_get_ssrc:
+ * @packet: a valid APP #GstRTCPPacket
+ *
+ * Get the SSRC/CSRC field of the APP @packet.
+ *
+ * Returns: The SSRC/CSRC.
+ *
+ * Since: 1.10
+ */
+guint32
+gst_rtcp_packet_app_get_ssrc (GstRTCPPacket * packet)
+{
+  guint8 *data;
+
+  g_return_val_if_fail (packet != NULL, 0);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_APP, 0);
+  g_return_val_if_fail (packet->rtcp != NULL, 0);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, 0);
+
+  data = packet->rtcp->map.data + packet->offset + 4;
+
+  return GST_READ_UINT32_BE (data);
+}
+
+/**
+ * gst_rtcp_packet_app_set_name:
+ * @packet: a valid APP #GstRTCPPacket
+ * @name: 4-byte ASCII name
+ *
+ * Set the name field of the APP @packet.
+ *
+ * Since: 1.10
+ */
+void
+gst_rtcp_packet_app_set_name (GstRTCPPacket * packet, const gchar * name)
+{
+  guint8 *data;
+
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (packet->type == GST_RTCP_TYPE_APP);
+  g_return_if_fail (packet->rtcp != NULL);
+  g_return_if_fail (packet->rtcp->map.flags & GST_MAP_WRITE);
+
+  data = packet->rtcp->map.data + packet->offset + 8;
+  memcpy (data, name, 4);
+}
+
+/**
+ * gst_rtcp_packet_app_get_name:
+ * @packet: a valid APP #GstRTCPPacket
+ *
+ * Get the name field of the APP @packet.
+ *
+ * Returns: The 4-byte name field, not zero-terminated.
+ *
+ * Since: 1.10
+ */
+const gchar *
+gst_rtcp_packet_app_get_name (GstRTCPPacket * packet)
+{
+  g_return_val_if_fail (packet != NULL, NULL);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_APP, NULL);
+  g_return_val_if_fail (packet->rtcp != NULL, NULL);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, NULL);
+
+  return (const gchar *) &packet->rtcp->map.data[packet->offset + 8];
+}
+
+/**
+ * gst_rtcp_packet_app_get_data_length:
+ * @packet: a valid APP #GstRTCPPacket
+ *
+ * Get the length of the application-dependent data attached to an APP
+ * @packet.
+ *
+ * Returns: The length of data in 32-bit words.
+ *
+ * Since: 1.10
+ */
+guint16
+gst_rtcp_packet_app_get_data_length (GstRTCPPacket * packet)
+{
+  guint8 *data;
+
+  g_return_val_if_fail (packet != NULL, 0);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_APP, 0);
+  g_return_val_if_fail (packet->rtcp != NULL, 0);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, 0);
+
+  data = packet->rtcp->map.data + packet->offset + 2;
+
+  return GST_READ_UINT16_BE (data) - 2;
+}
+
+/**
+ * gst_rtcp_packet_app_set_data_length:
+ * @packet: a valid APP #GstRTCPPacket
+ * @wordlen: Length of the data in 32-bit words
+ *
+ * Set the length of the application-dependent data attached to an APP
+ * @packet.
+ *
+ * Returns: %TRUE if there was enough space in the packet to add this much
+ * data.
+ *
+ * Since: 1.10
+ */
+gboolean
+gst_rtcp_packet_app_set_data_length (GstRTCPPacket * packet, guint16 wordlen)
+{
+  guint8 *data;
+
+  g_return_val_if_fail (packet != NULL, FALSE);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_APP, FALSE);
+  g_return_val_if_fail (packet->rtcp != NULL, FALSE);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_WRITE, FALSE);
+
+  if (packet->rtcp->map.maxsize < packet->offset + ((wordlen + 3) * 4))
+    return FALSE;
+
+  data = packet->rtcp->map.data + packet->offset + 2;
+  wordlen += 2;
+  GST_WRITE_UINT16_BE (data, wordlen);
+
+  packet->rtcp->map.size = packet->offset + ((wordlen + 1) * 4);
+
+  return TRUE;
+}
+
+/**
+ * gst_rtcp_packet_app_get_data:
+ * @packet: a valid APP #GstRTCPPacket
+ *
+ * Get the application-dependent data attached to a RTPFB or PSFB @packet.
+ *
+ * Returns: A pointer to the data
+ *
+ * Since: 1.10
+ */
+guint8 *
+gst_rtcp_packet_app_get_data (GstRTCPPacket * packet)
+{
+  guint8 *data;
+
+  g_return_val_if_fail (packet != NULL, NULL);
+  g_return_val_if_fail (packet->type == GST_RTCP_TYPE_APP, NULL);
+  g_return_val_if_fail (packet->rtcp != NULL, NULL);
+  g_return_val_if_fail (packet->rtcp->map.flags & GST_MAP_READ, NULL);
+
+  data = packet->rtcp->map.data + packet->offset;
+
+  if (GST_READ_UINT16_BE (data + 2) <= 2)
+    return NULL;
+
+  return data + 12;
+}
diff --git a/gst-libs/gst/rtp/gstrtcpbuffer.h b/gst-libs/gst/rtp/gstrtcpbuffer.h
index 328ecdd..c28fb8b 100644
--- a/gst-libs/gst/rtp/gstrtcpbuffer.h
+++ b/gst-libs/gst/rtp/gstrtcpbuffer.h
@@ -279,6 +279,15 @@
                                                        guint32 exthighestseq, guint32 jitter,
                                                        guint32 lsr, guint32 dlsr);
 
+/* profile-specific extensions for SR and RR */
+gboolean        gst_rtcp_packet_add_profile_specific_ext        (GstRTCPPacket * packet,
+                                                                 const guint8 * data, guint len);
+guint16         gst_rtcp_packet_get_profile_specific_ext_length (GstRTCPPacket * packet);
+gboolean        gst_rtcp_packet_get_profile_specific_ext        (GstRTCPPacket * packet,
+                                                                 guint8 ** data, guint * len);
+gboolean        gst_rtcp_packet_copy_profile_specific_ext       (GstRTCPPacket * packet,
+                                                                 guint8 ** data, guint * len);
+
 /* source description packet */
 guint           gst_rtcp_packet_sdes_get_item_count   (GstRTCPPacket *packet);
 gboolean        gst_rtcp_packet_sdes_first_item       (GstRTCPPacket *packet);
@@ -306,6 +315,17 @@
 gchar*          gst_rtcp_packet_bye_get_reason        (GstRTCPPacket *packet);
 gboolean        gst_rtcp_packet_bye_set_reason        (GstRTCPPacket *packet, const gchar *reason);
 
+/* app packets */
+void            gst_rtcp_packet_app_set_subtype       (GstRTCPPacket * packet, guint8 subtype);
+guint8          gst_rtcp_packet_app_get_subtype       (GstRTCPPacket * packet);
+void            gst_rtcp_packet_app_set_ssrc          (GstRTCPPacket * packet, guint32 ssrc);
+guint32         gst_rtcp_packet_app_get_ssrc          (GstRTCPPacket * packet);
+void            gst_rtcp_packet_app_set_name          (GstRTCPPacket * packet, const gchar *name);
+const gchar*    gst_rtcp_packet_app_get_name          (GstRTCPPacket * packet);
+guint16         gst_rtcp_packet_app_get_data_length   (GstRTCPPacket * packet);
+gboolean        gst_rtcp_packet_app_set_data_length   (GstRTCPPacket * packet, guint16 wordlen);
+guint8*         gst_rtcp_packet_app_get_data          (GstRTCPPacket * packet);
+
 /* feedback packets */
 guint32         gst_rtcp_packet_fb_get_sender_ssrc    (GstRTCPPacket *packet);
 void            gst_rtcp_packet_fb_set_sender_ssrc    (GstRTCPPacket *packet, guint32 ssrc);
diff --git a/gst-libs/gst/rtp/gstrtpbasedepayload.c b/gst-libs/gst/rtp/gstrtpbasedepayload.c
index 8a313af..e3a43c2 100644
--- a/gst-libs/gst/rtp/gstrtpbasedepayload.c
+++ b/gst-libs/gst/rtp/gstrtpbasedepayload.c
@@ -46,6 +46,7 @@
   GstClockTime dts;
   GstClockTime duration;
 
+  guint32 last_ssrc;
   guint32 last_seqnum;
   guint32 last_rtptime;
   guint32 next_seqnum;
@@ -356,6 +357,7 @@
   GstRTPBaseDepayloadPrivate *priv;
   GstFlowReturn ret = GST_FLOW_OK;
   GstBuffer *out_buf;
+  guint32 ssrc;
   guint16 seqnum;
   guint32 rtptime;
   gboolean discont, buf_discont;
@@ -380,6 +382,7 @@
   priv->dts = GST_BUFFER_DTS (in);
   priv->duration = GST_BUFFER_DURATION (in);
 
+  ssrc = gst_rtp_buffer_get_ssrc (&rtp);
   seqnum = gst_rtp_buffer_get_seq (&rtp);
   rtptime = gst_rtp_buffer_get_timestamp (&rtp);
 
@@ -396,32 +399,40 @@
    * are strictly increasing, dropping anything that is out of the ordinary. We
    * can only do this when the next_seqnum is known. */
   if (G_LIKELY (priv->next_seqnum != -1)) {
-    gap = gst_rtp_buffer_compare_seqnum (seqnum, priv->next_seqnum);
+    if (ssrc != priv->last_ssrc) {
+      GST_LOG_OBJECT (filter,
+          "New ssrc %u (current ssrc %u), sender restarted",
+          ssrc, priv->last_ssrc);
+      discont = TRUE;
+    } else {
+      gap = gst_rtp_buffer_compare_seqnum (seqnum, priv->next_seqnum);
 
-    /* if we have no gap, all is fine */
-    if (G_UNLIKELY (gap != 0)) {
-      GST_LOG_OBJECT (filter, "got packet %u, expected %u, gap %d", seqnum,
-          priv->next_seqnum, gap);
-      if (gap < 0) {
-        /* seqnum > next_seqnum, we are missing some packets, this is always a
-         * DISCONT. */
-        GST_LOG_OBJECT (filter, "%d missing packets", gap);
-        discont = TRUE;
-      } else {
-        /* seqnum < next_seqnum, we have seen this packet before or the sender
-         * could be restarted. If the packet is not too old, we throw it away as
-         * a duplicate, otherwise we mark discont and continue. 100 misordered
-         * packets is a good threshold. See also RFC 4737. */
-        if (gap < 100)
-          goto dropping;
+      /* if we have no gap, all is fine */
+      if (G_UNLIKELY (gap != 0)) {
+        GST_LOG_OBJECT (filter, "got packet %u, expected %u, gap %d", seqnum,
+            priv->next_seqnum, gap);
+        if (gap < 0) {
+          /* seqnum > next_seqnum, we are missing some packets, this is always a
+           * DISCONT. */
+          GST_LOG_OBJECT (filter, "%d missing packets", gap);
+          discont = TRUE;
+        } else {
+          /* seqnum < next_seqnum, we have seen this packet before or the sender
+           * could be restarted. If the packet is not too old, we throw it away as
+           * a duplicate, otherwise we mark discont and continue. 100 misordered
+           * packets is a good threshold. See also RFC 4737. */
+          if (gap < 100)
+            goto dropping;
 
-        GST_LOG_OBJECT (filter,
-            "%d > 100, packet too old, sender likely restarted", gap);
-        discont = TRUE;
+          GST_LOG_OBJECT (filter,
+              "%d > 100, packet too old, sender likely restarted", gap);
+          discont = TRUE;
+        }
       }
     }
   }
   priv->next_seqnum = (seqnum + 1) & 0xffff;
+  priv->last_ssrc = ssrc;
 
   if (G_UNLIKELY (discont)) {
     priv->discont = TRUE;
@@ -602,6 +613,9 @@
     {
       GST_OBJECT_LOCK (filter);
       gst_event_copy_segment (event, &filter->segment);
+      if (filter->segment.format != GST_FORMAT_TIME)
+        GST_ERROR_OBJECT (filter,
+            "Non-TIME segments are not supported and will likely fail");
       GST_OBJECT_UNLOCK (filter);
 
       /* don't pass the event downstream, we generate our own segment including
@@ -706,8 +720,11 @@
   if (position == -1)
     position = start;
 
-  running_time = gst_segment_to_running_time (&filter->segment,
-      GST_FORMAT_TIME, start);
+  if (G_LIKELY (filter->segment.format == GST_FORMAT_TIME))
+    running_time = gst_segment_to_running_time (&filter->segment,
+        GST_FORMAT_TIME, start);
+  else
+    running_time = 0;
 
   gst_segment_init (&segment, GST_FORMAT_TIME);
   segment.rate = priv->play_speed;
diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
index 1df45ea..88f0853 100644
--- a/gst-libs/gst/rtsp/Makefile.am
+++ b/gst-libs/gst/rtsp/Makefile.am
@@ -58,6 +58,7 @@
 GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstRtsp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/rtsp/Makefile.in b/gst-libs/gst/rtsp/Makefile.in
index f975d0a..6dcfc3e 100644
--- a/gst-libs/gst/rtsp/Makefile.in
+++ b/gst-libs/gst/rtsp/Makefile.in
@@ -1136,6 +1136,7 @@
 @HAVE_INTROSPECTION_TRUE@GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@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@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstRtsp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
index 2d35703..6fd9693 100644
--- a/gst-libs/gst/sdp/Makefile.am
+++ b/gst-libs/gst/sdp/Makefile.am
@@ -22,6 +22,7 @@
 GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstSdp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/sdp/Makefile.in b/gst-libs/gst/sdp/Makefile.in
index 8820791..b612b9b 100644
--- a/gst-libs/gst/sdp/Makefile.in
+++ b/gst-libs/gst/sdp/Makefile.in
@@ -965,6 +965,7 @@
 @HAVE_INTROSPECTION_TRUE@GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstSdp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
index a26bbde..c0c2d6b 100644
--- a/gst-libs/gst/tag/Makefile.am
+++ b/gst-libs/gst/tag/Makefile.am
@@ -32,6 +32,7 @@
 GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstTag \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/tag/Makefile.in b/gst-libs/gst/tag/Makefile.in
index 5cd60f8..e9103b5 100644
--- a/gst-libs/gst/tag/Makefile.in
+++ b/gst-libs/gst/tag/Makefile.in
@@ -1174,6 +1174,7 @@
 @HAVE_INTROSPECTION_TRUE@GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstTag \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/tag/gstexiftag.c b/gst-libs/gst/tag/gstexiftag.c
index 1f0528e..bcdcdde 100644
--- a/gst-libs/gst/tag/gstexiftag.c
+++ b/gst-libs/gst/tag/gstexiftag.c
@@ -311,6 +311,7 @@
 #define EXIF_TAG_EXPOSURE_MODE 0xA402
 #define EXIF_TAG_WHITE_BALANCE 0xA403
 #define EXIF_TAG_DIGITAL_ZOOM_RATIO 0xA404
+#define EXIF_TAG_FOCAL_LENGTH_IN_35_MM_FILM 0xa405
 #define EXIF_TAG_SCENE_CAPTURE_TYPE 0xA406
 #define EXIF_TAG_GAIN_CONTROL 0xA407
 #define EXIF_TAG_CONTRAST 0xA408
@@ -411,6 +412,8 @@
   {GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO, EXIF_TAG_DIGITAL_ZOOM_RATIO,
         EXIF_TYPE_RATIONAL, 0, NULL,
       NULL},
+  {GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM, EXIF_TAG_FOCAL_LENGTH_IN_35_MM_FILM,
+      EXIF_TYPE_SHORT, 0, NULL, NULL},
   {GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE, EXIF_TAG_SCENE_CAPTURE_TYPE,
         EXIF_TYPE_SHORT, 0, serialize_scene_capture_type,
       deserialize_scene_capture_type},
@@ -1048,6 +1051,9 @@
     case G_TYPE_INT:
       num = g_value_get_int (value);
       break;
+    case G_TYPE_DOUBLE:
+      num = (gint) g_value_get_double (value);
+      break;
     default:
       GST_WARNING ("Conversion from %s to int not supported",
           G_VALUE_TYPE_NAME (value));
@@ -1314,6 +1320,37 @@
 }
 
 static void
+parse_exif_short_tag (GstExifReader * reader, const GstExifTagMatch * tag,
+    guint32 count, guint32 offset, const guint8 * offset_as_data)
+{
+  GType tagtype;
+  guint16 value;
+
+  if (count > 1) {
+    GST_WARNING ("Short tags with more than one value are not supported");
+    return;
+  }
+
+  /* value is encoded into offset */
+  if (reader->byte_order == G_LITTLE_ENDIAN)
+    value = GST_READ_UINT16_LE (offset_as_data);
+  else
+    value = GST_READ_UINT16_BE (offset_as_data);
+
+  tagtype = gst_tag_get_type (tag->gst_tag);
+  if (tagtype == G_TYPE_INT) {
+    gst_tag_list_add (reader->taglist, GST_TAG_MERGE_REPLACE, tag->gst_tag,
+        value, NULL);
+  } else if (tagtype == G_TYPE_DOUBLE) {
+    gst_tag_list_add (reader->taglist, GST_TAG_MERGE_REPLACE, tag->gst_tag,
+        (gdouble) value, NULL);
+  } else {
+    GST_WARNING ("No parsing function associated to %x(%s)", tag->exif_tag,
+        tag->gst_tag);
+  }
+}
+
+static void
 parse_exif_long_tag (GstExifReader * reader, const GstExifTagMatch * tag,
     guint32 count, guint32 offset, const guint8 * offset_as_data)
 {
@@ -1763,6 +1800,10 @@
         parse_exif_long_tag (exif_reader, &tag_map[map_index],
             tagdata.count, tagdata.offset, tagdata.offset_as_data);
         break;
+      case EXIF_TYPE_SHORT:
+        parse_exif_short_tag (exif_reader, &tag_map[map_index],
+            tagdata.count, tagdata.offset, tagdata.offset_as_data);
+        break;
       default:
         GST_WARNING ("Unhandled tag type: %u", tagdata.tag_type);
         break;
@@ -2049,9 +2090,9 @@
 {
   gboolean latitude;
   gdouble value;
-  gint degrees;
-  gint minutes;
-  gint seconds;
+  guint32 degrees;
+  guint32 minutes;
+  guint32 seconds_numerator, seconds_denominator;
   guint32 offset;
 
   latitude = exiftag->exif_tag == EXIF_TAG_GPS_LATITUDE;        /* exif tag for latitude */
@@ -2079,21 +2120,24 @@
   }
 
   /* now write the degrees stuff */
-  GST_LOG ("Converting geo location %lf to degrees", value);
-  degrees = (gint) value;
+  GST_DEBUG ("Converting %lf degrees geo location to HMS", value);
+  degrees = (guint32) value;
   value -= degrees;
-  minutes = (gint) (value * 60);
+  minutes = (guint32) (value * 60);
   value = (value * 60) - minutes;
-  seconds = (gint) (value * 60);
-  GST_LOG ("Converted geo location to %d.%d'%d'' degrees", degrees,
-      minutes, seconds);
+  seconds_denominator = 10000000UL;
+  seconds_numerator = (guint32) (value * 60 * seconds_denominator);
+
+  GST_DEBUG ("Converted rational geo location to %u/%u %u/%u %u/%u degrees ",
+      degrees, 1U, minutes, 1U, seconds_numerator, seconds_denominator);
 
   offset = gst_byte_writer_get_size (&writer->datawriter);
   gst_exif_writer_write_tag_header (writer, exiftag->exif_tag,
       EXIF_TYPE_RATIONAL, 3, offset, NULL);
   gst_exif_writer_write_rational_data (writer, degrees, 1);
   gst_exif_writer_write_rational_data (writer, minutes, 1);
-  gst_exif_writer_write_rational_data (writer, seconds, 1);
+  gst_exif_writer_write_rational_data (writer, seconds_numerator,
+      seconds_denominator);
 }
 
 static gint
@@ -2210,12 +2254,11 @@
   gst_util_fraction_to_double (degrees_n, degrees_d, &degrees);
   gst_util_fraction_to_double (minutes_n, minutes_d, &minutes);
   gst_util_fraction_to_double (seconds_n, seconds_d, &seconds);
-
   minutes += seconds / 60;
   degrees += minutes / 60;
   degrees *= multiplier;
 
-  GST_DEBUG ("Adding %s tag: %lf", exiftag->gst_tag, degrees);
+  GST_DEBUG ("Adding %s tag: %lf degrees", exiftag->gst_tag, degrees);
   gst_tag_list_add (exif_reader->taglist, GST_TAG_MERGE_REPLACE,
       exiftag->gst_tag, degrees, NULL);
 
diff --git a/gst-libs/gst/tag/gsttagdemux.c b/gst-libs/gst/tag/gsttagdemux.c
index b736276..cd94009 100644
--- a/gst-libs/gst/tag/gsttagdemux.c
+++ b/gst-libs/gst/tag/gsttagdemux.c
@@ -228,8 +228,7 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (element_class, &src_factory);
 
   GST_DEBUG_CATEGORY_INIT (tagdemux_debug, "tagdemux", 0,
       "tag demux base class");
@@ -467,6 +466,10 @@
           gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, trim_start,
           out_size);
       g_return_val_if_fail (sub != NULL, FALSE);
+      if (GST_BUFFER_TIMESTAMP_IS_VALID (buf))
+        GST_BUFFER_TIMESTAMP (sub) = GST_BUFFER_TIMESTAMP (buf);
+      if (GST_BUFFER_DURATION_IS_VALID (buf))
+        GST_BUFFER_DURATION (sub) = GST_BUFFER_DURATION (buf);
       gst_buffer_unref (buf);
       *buf_ref = buf = sub;
       *buf_size = out_size;
@@ -623,13 +626,11 @@
 }
 
 static GstFlowReturn
-gst_tag_demux_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+gst_tag_demux_chain_buffer (GstTagDemux * demux, GstBuffer * buf,
+    gboolean at_eos)
 {
-  GstTagDemux *demux;
   gsize size;
 
-  demux = GST_TAG_DEMUX (parent);
-
   size = gst_buffer_get_size (buf);
 
   /* Update our segment position info */
@@ -661,7 +662,7 @@
 
       update_collected (demux);
 
-      if (demux->priv->collect_size <
+      if (!at_eos && demux->priv->collect_size <
           TYPE_FIND_MIN_SIZE + demux->priv->strip_start)
         break;                  /* Go get more data first */
 
@@ -742,7 +743,7 @@
           demux->priv->send_tag_event = FALSE;
         }
 
-        GST_LOG_OBJECT (demux, "Pushing buffer %p", outbuf);
+        GST_LOG_OBJECT (demux, "Pushing buffer %" GST_PTR_FORMAT, outbuf);
 
         return gst_pad_push (demux->priv->srcpad, outbuf);
       }
@@ -751,6 +752,12 @@
   return GST_FLOW_OK;
 }
 
+static GstFlowReturn
+gst_tag_demux_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+{
+  return gst_tag_demux_chain_buffer (GST_TAG_DEMUX (parent), buf, FALSE);
+}
+
 static gboolean
 gst_tag_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
@@ -761,10 +768,15 @@
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_EOS:
-      /* FIXME, detect this differently */
-      if (demux->priv->srcpad == NULL) {
-        GST_WARNING_OBJECT (demux, "EOS before we found a type");
-        GST_ELEMENT_ERROR (demux, STREAM, TYPE_NOT_FOUND, (NULL), (NULL));
+      if (!gst_pad_has_current_caps (demux->priv->srcpad)) {
+        GST_INFO_OBJECT (demux, "EOS before we found a type");
+
+        /* push final buffer with eos indication to force typefinding */
+        gst_tag_demux_chain_buffer (demux, gst_buffer_new (), TRUE);
+
+        if (!gst_pad_has_current_caps (demux->priv->srcpad)) {
+          GST_ELEMENT_ERROR (demux, STREAM, TYPE_NOT_FOUND, (NULL), (NULL));
+        }
       }
       ret = gst_pad_event_default (pad, parent, event);
       break;
diff --git a/gst-libs/gst/tag/tag.h b/gst-libs/gst/tag/tag.h
index 48631d3..7ca444f 100644
--- a/gst-libs/gst/tag/tag.h
+++ b/gst-libs/gst/tag/tag.h
@@ -152,6 +152,15 @@
 #define GST_TAG_CAPTURING_FOCAL_LENGTH         "capturing-focal-length"
 
 /**
+ * GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM:
+ *
+ * 35 mm equivalent focal length used when capturing an image, in mm. (double)
+ *
+ * Since: 1.10
+ */
+#define GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM   "capturing-focal-length-35mm"
+
+/**
  * GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO:
  *
  * Digital zoom ratio used when capturing an image. (double)
diff --git a/gst-libs/gst/tag/tags.c b/gst-libs/gst/tag/tags.c
index 1931d18..5a0214d 100644
--- a/gst-libs/gst/tag/tags.c
+++ b/gst-libs/gst/tag/tags.c
@@ -118,6 +118,12 @@
       G_TYPE_DOUBLE, _("capturing focal length"),
       _("Focal length of the lens used capturing the image, in mm"), NULL);
 
+  gst_tag_register_static (GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM,
+      GST_TAG_FLAG_META, G_TYPE_DOUBLE,
+      _("capturing 35 mm equivalent focal length"),
+      _("35 mm equivalent focal length of the lens used capturing the image, "
+          "in mm"), NULL);
+
   gst_tag_register_static (GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO,
       GST_TAG_FLAG_META, G_TYPE_DOUBLE, _("capturing digital zoom ratio"),
       _("Digital zoom ratio used when capturing an image"), NULL);
diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index 91b72ff..93bcbd4 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
@@ -103,6 +103,7 @@
 GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@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 \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstVideo \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 3720c35..2a6d511 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -1480,6 +1480,7 @@
 @HAVE_INTROSPECTION_TRUE@GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@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@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstVideo \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/video/gstvideoaffinetransformationmeta.h b/gst-libs/gst/video/gstvideoaffinetransformationmeta.h
index 3838a01..f1ee629 100644
--- a/gst-libs/gst/video/gstvideoaffinetransformationmeta.h
+++ b/gst-libs/gst/video/gstvideoaffinetransformationmeta.h
@@ -45,6 +45,13 @@
  * matrix. The transformation matrix can be composed with
  * gst_video_affine_transformation_meta_apply_matrix().
  *
+ * The vertices operated on are all in the range 0 to 1, not in
+ * Normalized Device Coordinates (-1 to +1). Transforming points in this space
+ * are assumed to have an origin at (0.5, 0.5, 0.5) in a left-handed coordinate
+ * system with the x-axis moving horizontally (positive values to the right),
+ * the y-axis moving vertically (positive values up the screen) and the z-axis
+ * perpendicular to the screen (positive values into the screen).
+ *
  * Since: 1.8
  */
 
diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
index d13484a..06c0043 100644
--- a/gst-libs/gst/video/gstvideodecoder.c
+++ b/gst-libs/gst/video/gstvideodecoder.c
@@ -216,7 +216,7 @@
  *   gather queue:  9  8  7
  *                        D
  *
- * Whe buffer 4 is received (with a DISCONT), we flush the gather queue like
+ * When buffer 4 is received (with a DISCONT), we flush the gather queue like
  * this:
  *
  *   while (gather)
@@ -602,117 +602,6 @@
   gst_video_decoder_reset (decoder, TRUE, TRUE);
 }
 
-static gboolean
-gst_video_rawvideo_convert (GstVideoCodecState * state,
-    GstFormat src_format, gint64 src_value,
-    GstFormat * dest_format, gint64 * dest_value)
-{
-  gboolean res = FALSE;
-  guint vidsize;
-  guint fps_n, fps_d;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (src_format == *dest_format || src_value == 0 || src_value == -1) {
-    *dest_value = src_value;
-    return TRUE;
-  }
-
-  vidsize = GST_VIDEO_INFO_SIZE (&state->info);
-  fps_n = GST_VIDEO_INFO_FPS_N (&state->info);
-  fps_d = GST_VIDEO_INFO_FPS_D (&state->info);
-
-  if (src_format == GST_FORMAT_BYTES &&
-      *dest_format == GST_FORMAT_DEFAULT && vidsize) {
-    /* convert bytes to frames */
-    *dest_value = gst_util_uint64_scale_int (src_value, 1, vidsize);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_DEFAULT &&
-      *dest_format == GST_FORMAT_BYTES && vidsize) {
-    /* convert bytes to frames */
-    *dest_value = src_value * vidsize;
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_DEFAULT &&
-      *dest_format == GST_FORMAT_TIME && fps_n) {
-    /* convert frames to time */
-    *dest_value = gst_util_uint64_scale (src_value, GST_SECOND * fps_d, fps_n);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_TIME &&
-      *dest_format == GST_FORMAT_DEFAULT && fps_d) {
-    /* convert time to frames */
-    *dest_value = gst_util_uint64_scale (src_value, fps_n, GST_SECOND * fps_d);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_TIME &&
-      *dest_format == GST_FORMAT_BYTES && fps_d && vidsize) {
-    /* convert time to bytes */
-    *dest_value = gst_util_uint64_scale (src_value,
-        fps_n * (guint64) vidsize, GST_SECOND * fps_d);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_BYTES &&
-      *dest_format == GST_FORMAT_TIME && fps_n && vidsize) {
-    /* convert bytes to time */
-    *dest_value = gst_util_uint64_scale (src_value,
-        GST_SECOND * fps_d, fps_n * (guint64) vidsize);
-    res = TRUE;
-  }
-
-  return res;
-}
-
-static gboolean
-gst_video_encoded_video_convert (gint64 bytes, gint64 time,
-    GstFormat src_format, gint64 src_value, GstFormat * dest_format,
-    gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (bytes <= 0 || time <= 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value, time, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes, time);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      GST_DEBUG ("unhandled conversion from %d to %d", src_format,
-          *dest_format);
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 static GstVideoCodecState *
 _new_input_state (GstCaps * caps)
 {
@@ -1031,6 +920,7 @@
   }
 }
 
+/* This function has to be called with the stream lock taken. */
 static GstFlowReturn
 gst_video_decoder_drain_out (GstVideoDecoder * dec, gboolean at_eos)
 {
@@ -1038,8 +928,6 @@
   GstVideoDecoderPrivate *priv = dec->priv;
   GstFlowReturn ret = GST_FLOW_OK;
 
-  GST_VIDEO_DECODER_STREAM_LOCK (dec);
-
   if (dec->input_segment.rate > 0.0) {
     /* Forward mode, if unpacketized, give the child class
      * a final chance to flush out packets */
@@ -1062,8 +950,6 @@
     ret = gst_video_decoder_flush_parse (dec, TRUE);
   }
 
-  GST_VIDEO_DECODER_STREAM_UNLOCK (dec);
-
   return ret;
 }
 
@@ -1152,16 +1038,29 @@
   for (i = 0; i < caps_size; i++) {
     structure = gst_caps_get_structure (caps, i);
     /* Random 1280x720@30 for fixation */
-    gst_structure_fixate_field_nearest_int (structure, "width", 1280);
-    gst_structure_fixate_field_nearest_int (structure, "height", 720);
-    gst_structure_fixate_field_nearest_fraction (structure, "framerate", 30, 1);
-    if (gst_structure_has_field (structure, "pixel-aspect-ratio")) {
+    if (gst_structure_has_field (structure, "width"))
+      gst_structure_fixate_field_nearest_int (structure, "width", 1280);
+    else
+      gst_structure_set (structure, "width", G_TYPE_INT, 1280, NULL);
+
+    if (gst_structure_has_field (structure, "height"))
+      gst_structure_fixate_field_nearest_int (structure, "height", 720);
+    else
+      gst_structure_set (structure, "height", G_TYPE_INT, 720, NULL);
+
+    if (gst_structure_has_field (structure, "framerate"))
+      gst_structure_fixate_field_nearest_fraction (structure, "framerate", 30,
+          1);
+    else
+      gst_structure_set (structure, "framerate", GST_TYPE_FRACTION, 30, 1,
+          NULL);
+
+    if (gst_structure_has_field (structure, "pixel-aspect-ratio"))
       gst_structure_fixate_field_nearest_fraction (structure,
           "pixel-aspect-ratio", 1, 1);
-    } else {
+    else
       gst_structure_set (structure, "pixel-aspect-ratio", GST_TYPE_FRACTION,
           1, 1, NULL);
-    }
   }
   caps = gst_caps_fixate (caps);
   structure = gst_caps_get_structure (caps, 0);
@@ -1202,11 +1101,11 @@
     {
       GstFlowReturn flow_ret = GST_FLOW_OK;
 
+      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
       flow_ret = gst_video_decoder_drain_out (decoder, FALSE);
       ret = (flow_ret == GST_FLOW_OK);
 
       GST_DEBUG_OBJECT (decoder, "received STREAM_START. Clearing taglist");
-      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
       /* Flush upstream tags after a STREAM_START */
       if (priv->upstream_tags) {
         gst_tag_list_unref (priv->upstream_tags);
@@ -1236,7 +1135,9 @@
     {
       GstFlowReturn flow_ret = GST_FLOW_OK;
 
+      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
       flow_ret = gst_video_decoder_drain_out (decoder, TRUE);
+      GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
       ret = (flow_ret == GST_FLOW_OK);
 
       /* Forward SEGMENT_DONE immediately. This is required
@@ -1255,7 +1156,9 @@
     {
       GstFlowReturn flow_ret = GST_FLOW_OK;
 
+      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
       flow_ret = gst_video_decoder_drain_out (decoder, TRUE);
+      GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
       ret = (flow_ret == GST_FLOW_OK);
 
       /* Error out even if EOS was ok when we had input, but no output */
@@ -1283,11 +1186,11 @@
       GList *events;
       GList *frame_events;
 
+      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
       flow_ret = gst_video_decoder_drain_out (decoder, FALSE);
       ret = (flow_ret == GST_FLOW_OK);
 
       /* Ensure we have caps before forwarding the event */
-      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
       if (!decoder->priv->output_state) {
         if (!gst_video_decoder_negotiate_default_caps (decoder)) {
           GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
@@ -1335,7 +1238,9 @@
       if (gst_video_event_parse_still_frame (event, &in_still)) {
         if (in_still) {
           GST_DEBUG_OBJECT (decoder, "draining current data for still-frame");
+          GST_VIDEO_DECODER_STREAM_LOCK (decoder);
           flow_ret = gst_video_decoder_drain_out (decoder, FALSE);
+          GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
           ret = (flow_ret == GST_FLOW_OK);
         }
         /* Forward STILL_FRAME immediately. Everything is drained after
@@ -1496,8 +1401,14 @@
 static inline gboolean
 gst_video_decoder_do_byte (GstVideoDecoder * dec)
 {
-  return dec->priv->do_estimate_rate && (dec->priv->bytes_out > 0)
+  gboolean ret;
+
+  GST_OBJECT_LOCK (dec);
+  ret = dec->priv->do_estimate_rate && (dec->priv->bytes_out > 0)
       && (dec->priv->time > GST_SECOND);
+  GST_OBJECT_UNLOCK (dec);
+
+  return ret;
 }
 
 static gboolean
@@ -1753,7 +1664,7 @@
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
       GST_OBJECT_LOCK (dec);
       if (dec->priv->output_state != NULL)
-        res = gst_video_rawvideo_convert (dec->priv->output_state,
+        res = __gst_video_rawvideo_convert (dec->priv->output_state,
             src_fmt, src_val, &dest_fmt, &dest_val);
       else
         res = FALSE;
@@ -1877,11 +1788,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
+      GST_OBJECT_LOCK (decoder);
       res =
-          gst_video_encoded_video_convert (priv->bytes_out, priv->time, src_fmt,
-          src_val, &dest_fmt, &dest_val);
-      GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
+          __gst_video_encoded_video_convert (priv->bytes_out, priv->time,
+          src_fmt, src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (decoder);
       if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
@@ -1975,6 +1886,7 @@
   GstClockTime pts;
   GstClockTime dts;
   GstClockTime duration;
+  guint flags;
 };
 
 static void
@@ -2001,6 +1913,7 @@
   ts->pts = GST_BUFFER_PTS (buffer);
   ts->dts = GST_BUFFER_DTS (buffer);
   ts->duration = GST_BUFFER_DURATION (buffer);
+  ts->flags = GST_BUFFER_FLAGS (buffer);
 
   priv->timestamps = g_list_append (priv->timestamps, ts);
 }
@@ -2008,7 +1921,7 @@
 static void
 gst_video_decoder_get_timestamp_at_offset (GstVideoDecoder *
     decoder, guint64 offset, GstClockTime * pts, GstClockTime * dts,
-    GstClockTime * duration)
+    GstClockTime * duration, guint * flags)
 {
 #ifndef GST_DISABLE_GST_DEBUG
   guint64 got_offset = 0;
@@ -2019,6 +1932,7 @@
   *pts = GST_CLOCK_TIME_NONE;
   *dts = GST_CLOCK_TIME_NONE;
   *duration = GST_CLOCK_TIME_NONE;
+  *flags = 0;
 
   g = decoder->priv->timestamps;
   while (g) {
@@ -2030,6 +1944,7 @@
       *pts = ts->pts;
       *dts = ts->dts;
       *duration = ts->duration;
+      *flags = ts->flags;
       g = g->next;
       decoder->priv->timestamps = g_list_remove (decoder->priv->timestamps, ts);
       timestamp_free (ts);
@@ -2160,8 +2075,10 @@
   g_list_free_full (priv->timestamps, (GDestroyNotify) timestamp_free);
   priv->timestamps = NULL;
 
+  GST_OBJECT_LOCK (decoder);
   priv->bytes_out = 0;
   priv->time = 0;
+  GST_OBJECT_UNLOCK (decoder);
 
   GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
 }
@@ -2179,6 +2096,12 @@
 
   g_return_val_if_fail (priv->packetized || klass->parse, GST_FLOW_ERROR);
 
+  /* Draining on DISCONT is handled in chain_reverse() for reverse playback,
+   * and this function would only be called to get everything collected GOP
+   * by GOP in the parse_gather list */
+  if (decoder->input_segment.rate > 0.0 && GST_BUFFER_IS_DISCONT (buf))
+    ret = gst_video_decoder_drain_out (decoder, FALSE);
+
   if (priv->current_frame == NULL)
     priv->current_frame = gst_video_decoder_new_frame (decoder);
 
@@ -2188,7 +2111,9 @@
   priv->input_offset += gst_buffer_get_size (buf);
 
   if (priv->packetized) {
+    gboolean was_keyframe = FALSE;
     if (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT)) {
+      was_keyframe = TRUE;
       GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (priv->current_frame);
     }
 
@@ -2201,6 +2126,16 @@
       ret = gst_video_decoder_decode_frame (decoder, priv->current_frame);
     }
     priv->current_frame = NULL;
+    /* If in trick mode and it was a keyframe, drain decoder to avoid extra
+     * latency. Only do this for forwards playback as reverse playback handles
+     * draining on keyframes in flush_parse(), and would otherwise call back
+     * from drain_out() to here causing an infinite loop.
+     * Also this function is only called for reverse playback to gather frames
+     * GOP by GOP, and does not do any actual decoding. That would be done by
+     * flush_decode() */
+    if (was_keyframe && decoder->input_segment.rate > 0.0
+        && (decoder->output_segment.flags & GST_SEEK_FLAG_TRICKMODE_KEY_UNITS))
+      gst_video_decoder_drain_out (decoder, FALSE);
   } else {
     gst_adapter_push (priv->input_adapter, buf);
 
@@ -3071,7 +3006,6 @@
 
   if (priv->discont) {
     GST_BUFFER_FLAG_SET (output_buffer, GST_BUFFER_FLAG_DISCONT);
-    priv->discont = FALSE;
   }
 
   if (decoder_class->transform_meta) {
@@ -3189,7 +3123,33 @@
     goto done;
   }
 
+  /* Is buffer too late (QoS) ? */
+  if (GST_CLOCK_TIME_IS_VALID (priv->earliest_time)
+      && GST_CLOCK_TIME_IS_VALID (cstart)) {
+    GstClockTime deadline =
+        gst_segment_to_running_time (segment, GST_FORMAT_TIME, cstart);
+    if (GST_CLOCK_TIME_IS_VALID (deadline) && deadline < priv->earliest_time) {
+      GST_DEBUG_OBJECT (decoder,
+          "Dropping frame due to QoS. start:%" GST_TIME_FORMAT " deadline:%"
+          GST_TIME_FORMAT " earliest_time:%" GST_TIME_FORMAT,
+          GST_TIME_ARGS (start), GST_TIME_ARGS (deadline),
+          GST_TIME_ARGS (priv->earliest_time));
+      gst_buffer_unref (buf);
+      priv->discont = TRUE;
+      goto done;
+    }
+  }
+
+  /* Set DISCONT flag here ! */
+
+  if (priv->discont) {
+    GST_DEBUG_OBJECT (decoder, "Setting discont on output buffer");
+    GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
+    priv->discont = FALSE;
+  }
+
   /* update rate estimate */
+  GST_OBJECT_LOCK (decoder);
   priv->bytes_out += gst_buffer_get_size (buf);
   if (GST_CLOCK_TIME_IS_VALID (duration)) {
     priv->time += duration;
@@ -3200,6 +3160,7 @@
     /* better none than nothing valid */
     priv->time = GST_CLOCK_TIME_NONE;
   }
+  GST_OBJECT_UNLOCK (decoder);
 
   GST_DEBUG_OBJECT (decoder, "pushing buffer %p of size %" G_GSIZE_FORMAT ", "
       "PTS %" GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT, buf,
@@ -3313,6 +3274,7 @@
   GstBuffer *buffer;
   int n_available;
   GstClockTime pts, dts, duration;
+  guint flags;
   GstFlowReturn ret = GST_FLOW_OK;
 
   GST_LOG_OBJECT (decoder, "have_frame");
@@ -3329,11 +3291,16 @@
   priv->current_frame->input_buffer = buffer;
 
   gst_video_decoder_get_timestamp_at_offset (decoder,
-      priv->frame_offset, &pts, &dts, &duration);
+      priv->frame_offset, &pts, &dts, &duration, &flags);
 
   GST_BUFFER_PTS (buffer) = pts;
   GST_BUFFER_DTS (buffer) = dts;
   GST_BUFFER_DURATION (buffer) = duration;
+  GST_BUFFER_FLAGS (buffer) = flags;
+
+  if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT)) {
+    GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (priv->current_frame);
+  }
 
   GST_LOG_OBJECT (decoder, "collected frame size %d, "
       "PTS %" GST_TIME_FORMAT ", DTS %" GST_TIME_FORMAT ", dur %"
@@ -3341,7 +3308,7 @@
       GST_TIME_ARGS (duration));
 
   /* In reverse playback, just capture and queue frames for later processing */
-  if (decoder->output_segment.rate < 0.0) {
+  if (decoder->input_segment.rate < 0.0) {
     priv->parse_gather =
         g_list_prepend (priv->parse_gather, priv->current_frame);
   } else {
@@ -3397,9 +3364,9 @@
   frame->abidata.ABI.ts = frame->dts;
   frame->abidata.ABI.ts2 = frame->pts;
 
-  GST_LOG_OBJECT (decoder, "PTS %" GST_TIME_FORMAT ", DTS %" GST_TIME_FORMAT,
-      GST_TIME_ARGS (frame->pts), GST_TIME_ARGS (frame->dts));
-  GST_LOG_OBJECT (decoder, "dist %d", frame->distance_from_sync);
+  GST_LOG_OBJECT (decoder, "PTS %" GST_TIME_FORMAT ", DTS %" GST_TIME_FORMAT
+      ", dist %d", GST_TIME_ARGS (frame->pts), GST_TIME_ARGS (frame->dts),
+      frame->distance_from_sync);
 
   gst_video_codec_frame_ref (frame);
   priv->frames = g_list_append (priv->frames, frame);
@@ -3797,6 +3764,8 @@
 
   if (state->caps == NULL)
     state->caps = gst_video_info_to_caps (&state->info);
+  if (state->allocation_caps == NULL)
+    state->allocation_caps = gst_caps_ref (state->caps);
 
   GST_DEBUG_OBJECT (decoder, "setting caps %" GST_PTR_FORMAT, state->caps);
 
@@ -3845,7 +3814,7 @@
     goto done;
   decoder->priv->output_state_changed = FALSE;
   /* Negotiate pool */
-  ret = gst_video_decoder_negotiate_pool (decoder, state->caps);
+  ret = gst_video_decoder_negotiate_pool (decoder, state->allocation_caps);
 
 done:
   return ret;
diff --git a/gst-libs/gst/video/gstvideodecoder.h b/gst-libs/gst/video/gstvideodecoder.h
index 34fa113..02e6753 100644
--- a/gst-libs/gst/video/gstvideodecoder.h
+++ b/gst-libs/gst/video/gstvideodecoder.h
@@ -40,7 +40,7 @@
   (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_VIDEO_DECODER,GstVideoDecoderClass))
 #define GST_IS_VIDEO_DECODER(obj) \
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEO_DECODER))
-#define GST_IS_VIDEO_DECODER_CLASS(obj) \
+#define GST_IS_VIDEO_DECODER_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEO_DECODER))
 #define GST_VIDEO_DECODER_CAST(obj) ((GstVideoDecoder *)(obj))
 
diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c
index a13d4ed..6765e28 100644
--- a/gst-libs/gst/video/gstvideoencoder.c
+++ b/gst-libs/gst/video/gstvideoencoder.c
@@ -355,8 +355,10 @@
 
   priv->drained = TRUE;
 
+  GST_OBJECT_LOCK (encoder);
   priv->bytes = 0;
   priv->time = 0;
+  GST_OBJECT_UNLOCK (encoder);
 
   priv->time_adjustment = GST_CLOCK_TIME_NONE;
 
@@ -483,59 +485,6 @@
   gst_video_encoder_reset (encoder, TRUE);
 }
 
-static gboolean
-gst_video_encoded_video_convert (gint64 bytes, gint64 time,
-    GstFormat src_format, gint64 src_value, GstFormat * dest_format,
-    gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (bytes <= 0 || time <= 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value, time, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes, time);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      GST_DEBUG ("unhandled conversion from %d to %d", src_format,
-          *dest_format);
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 /**
  * gst_video_encoder_set_headers:
  * @encoder: a #GstVideoEncoder
@@ -836,6 +785,26 @@
       res = TRUE;
       break;
     }
+    case GST_QUERY_CONVERT:
+    {
+      GstFormat src_fmt, dest_fmt;
+      gint64 src_val, dest_val;
+
+      GST_DEBUG_OBJECT (encoder, "convert query");
+
+      gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_LOCK (encoder);
+      if (encoder->priv->input_state != NULL)
+        res = __gst_video_rawvideo_convert (encoder->priv->input_state,
+            src_fmt, src_val, &dest_fmt, &dest_val);
+      else
+        res = FALSE;
+      GST_OBJECT_UNLOCK (encoder);
+      if (!res)
+        goto error;
+      gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
+      break;
+    }
     case GST_QUERY_ALLOCATION:
     {
       GstVideoEncoderClass *klass = GST_VIDEO_ENCODER_GET_CLASS (encoder);
@@ -849,6 +818,10 @@
       break;
   }
   return res;
+
+error:
+  GST_DEBUG_OBJECT (encoder, "query failed");
+  return res;
 }
 
 static gboolean
@@ -1266,9 +1239,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_LOCK (enc);
       res =
-          gst_video_encoded_video_convert (priv->bytes, priv->time, src_fmt,
+          __gst_video_encoded_video_convert (priv->bytes, priv->time, src_fmt,
           src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (enc);
       if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
@@ -1630,6 +1605,9 @@
     encoder->priv->output_state_changed = FALSE;
   }
 
+  if (state->allocation_caps == NULL)
+    state->allocation_caps = gst_caps_ref (state->caps);
+
   /* Push all pending pre-caps events of the oldest frame before
    * setting caps */
   frame = encoder->priv->frames ? encoder->priv->frames->data : NULL;
@@ -1668,7 +1646,7 @@
   if (!ret)
     goto done;
 
-  query = gst_query_new_allocation (state->caps, TRUE);
+  query = gst_query_new_allocation (state->allocation_caps, TRUE);
   if (!gst_pad_peer_query (encoder->srcpad, query)) {
     GST_DEBUG_OBJECT (encoder, "didn't get downstream ALLOCATION hints");
   }
@@ -2122,6 +2100,7 @@
   GST_BUFFER_DTS (frame->output_buffer) = frame->dts;
   GST_BUFFER_DURATION (frame->output_buffer) = frame->duration;
 
+  GST_OBJECT_LOCK (encoder);
   /* update rate estimate */
   priv->bytes += gst_buffer_get_size (frame->output_buffer);
   if (GST_CLOCK_TIME_IS_VALID (frame->duration)) {
@@ -2130,6 +2109,7 @@
     /* better none than nothing valid */
     priv->time = GST_CLOCK_TIME_NONE;
   }
+  GST_OBJECT_UNLOCK (encoder);
 
   if (G_UNLIKELY (send_headers || priv->new_headers)) {
     GList *tmp, *copy = NULL;
@@ -2148,7 +2128,9 @@
     for (tmp = priv->headers; tmp; tmp = tmp->next) {
       GstBuffer *tmpbuf = GST_BUFFER (tmp->data);
 
+      GST_OBJECT_LOCK (encoder);
       priv->bytes += gst_buffer_get_size (tmpbuf);
+      GST_OBJECT_UNLOCK (encoder);
       if (G_UNLIKELY (discont)) {
         GST_LOG_OBJECT (encoder, "marking discont");
         GST_BUFFER_FLAG_SET (tmpbuf, GST_BUFFER_FLAG_DISCONT);
diff --git a/gst-libs/gst/video/gstvideoencoder.h b/gst-libs/gst/video/gstvideoencoder.h
index 171d3c9..9282b1c 100644
--- a/gst-libs/gst/video/gstvideoencoder.h
+++ b/gst-libs/gst/video/gstvideoencoder.h
@@ -39,7 +39,7 @@
   (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_VIDEO_ENCODER,GstVideoEncoderClass))
 #define GST_IS_VIDEO_ENCODER(obj) \
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEO_ENCODER))
-#define GST_IS_VIDEO_ENCODER_CLASS(obj) \
+#define GST_IS_VIDEO_ENCODER_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEO_ENCODER))
 #define GST_VIDEO_ENCODER_CAST(enc) ((GstVideoEncoder*)enc)
 
diff --git a/gst-libs/gst/video/gstvideometa.c b/gst-libs/gst/video/gstvideometa.c
index 30c259c..ae3e43f 100644
--- a/gst-libs/gst/video/gstvideometa.c
+++ b/gst-libs/gst/video/gstvideometa.c
@@ -43,6 +43,24 @@
 #endif /* GST_DISABLE_GST_DEBUG */
 
 static gboolean
+gst_video_meta_init (GstMeta * meta, gpointer params, GstBuffer * buffer)
+{
+  GstVideoMeta *emeta = (GstVideoMeta *) meta;
+
+  emeta->buffer = NULL;
+  emeta->flags = GST_VIDEO_FRAME_FLAG_NONE;
+  emeta->format = GST_VIDEO_FORMAT_UNKNOWN;
+  emeta->id = 0;
+  emeta->width = emeta->height = emeta->n_planes = 0;
+  memset (emeta->offset, 0, sizeof (emeta->offset));
+  memset (emeta->stride, 0, sizeof (emeta->stride));
+  emeta->map = NULL;
+  emeta->unmap = NULL;
+
+  return TRUE;
+}
+
+static gboolean
 gst_video_meta_transform (GstBuffer * dest, GstMeta * meta,
     GstBuffer * buffer, GQuark type, gpointer data)
 {
@@ -113,7 +131,7 @@
   if (g_once_init_enter (&video_meta_info)) {
     const GstMetaInfo *meta =
         gst_meta_register (GST_VIDEO_META_API_TYPE, "GstVideoMeta",
-        sizeof (GstVideoMeta), (GstMetaInitFunction) NULL,
+        sizeof (GstVideoMeta), (GstMetaInitFunction) gst_video_meta_init,
         (GstMetaFreeFunction) NULL, gst_video_meta_transform);
     g_once_init_leave (&video_meta_info, meta);
   }
@@ -425,6 +443,15 @@
   return type;
 }
 
+static gboolean
+gst_video_crop_meta_init (GstMeta * meta, gpointer params, GstBuffer * buffer)
+{
+  GstVideoCropMeta *emeta = (GstVideoCropMeta *) meta;
+  emeta->x = emeta->y = emeta->width = emeta->height = 0;
+
+  return TRUE;
+}
+
 const GstMetaInfo *
 gst_video_crop_meta_get_info (void)
 {
@@ -433,7 +460,8 @@
   if (g_once_init_enter (&video_crop_meta_info)) {
     const GstMetaInfo *meta =
         gst_meta_register (GST_VIDEO_CROP_META_API_TYPE, "GstVideoCropMeta",
-        sizeof (GstVideoCropMeta), (GstMetaInitFunction) NULL,
+        sizeof (GstVideoCropMeta),
+        (GstMetaInitFunction) gst_video_crop_meta_init,
         (GstMetaFreeFunction) NULL, gst_video_crop_meta_transform);
     g_once_init_leave (&video_crop_meta_info, meta);
   }
@@ -474,6 +502,25 @@
   return type;
 }
 
+static gboolean
+gst_video_gl_texture_upload_meta_init (GstMeta * meta, gpointer params,
+    GstBuffer * buffer)
+{
+  GstVideoGLTextureUploadMeta *vmeta = (GstVideoGLTextureUploadMeta *) meta;
+
+  vmeta->texture_orientation =
+      GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL;
+  vmeta->n_textures = 0;
+  memset (vmeta->texture_type, 0, sizeof (vmeta->texture_type));
+  vmeta->buffer = NULL;
+  vmeta->upload = NULL;
+  vmeta->user_data = NULL;
+  vmeta->user_data_copy = NULL;
+  vmeta->user_data_free = NULL;
+
+  return TRUE;
+}
+
 static void
 gst_video_gl_texture_upload_meta_free (GstMeta * meta, GstBuffer * buffer)
 {
@@ -532,7 +579,7 @@
         gst_meta_register (GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE,
         "GstVideoGLTextureUploadMeta",
         sizeof (GstVideoGLTextureUploadMeta),
-        NULL,
+        gst_video_gl_texture_upload_meta_init,
         gst_video_gl_texture_upload_meta_free,
         gst_video_gl_texture_upload_meta_transform);
     g_once_init_leave (&info, meta);
@@ -682,6 +729,7 @@
     GstBuffer * buffer)
 {
   GstVideoRegionOfInterestMeta *emeta = (GstVideoRegionOfInterestMeta *) meta;
+  emeta->roi_type = 0;
   emeta->id = 0;
   emeta->parent_id = 0;
   emeta->x = emeta->y = emeta->w = emeta->h = 0;
diff --git a/gst-libs/gst/video/gstvideoutils.c b/gst-libs/gst/video/gstvideoutils.c
index b3decaf..8a3a230 100644
--- a/gst-libs/gst/video/gstvideoutils.c
+++ b/gst-libs/gst/video/gstvideoutils.c
@@ -162,6 +162,8 @@
 
   if (state->caps)
     gst_caps_unref (state->caps);
+  if (state->allocation_caps)
+    gst_caps_unref (state->allocation_caps);
   if (state->codec_data)
     gst_buffer_unref (state->codec_data);
   g_slice_free (GstVideoCodecState, state);
diff --git a/gst-libs/gst/video/gstvideoutils.h b/gst-libs/gst/video/gstvideoutils.h
index deea0ee..f7aed89 100644
--- a/gst-libs/gst/video/gstvideoutils.h
+++ b/gst-libs/gst/video/gstvideoutils.h
@@ -41,9 +41,11 @@
 /**
  * GstVideoCodecState:
  * @info: The #GstVideoInfo describing the stream
- * @caps: The #GstCaps
+ * @caps: The #GstCaps used in the caps negotiation of the pad.
  * @codec_data: a #GstBuffer corresponding to the
  *     'codec_data' field of a stream, or NULL.
+ * @allocation_caps: The #GstCaps for allocation query and pool
+ *     negotiation. Since: 1.10
  *
  * Structure representing the state of an incoming or outgoing video
  * stream for encoders and decoders.
@@ -67,8 +69,10 @@
 
   GstBuffer *codec_data;
 
+  GstCaps *allocation_caps;
+
   /*< private >*/
-  void         *padding[GST_PADDING_LARGE];
+  void         *padding[GST_PADDING_LARGE - 1];
 };
 
 /**
diff --git a/gst-libs/gst/video/gstvideoutilsprivate.c b/gst-libs/gst/video/gstvideoutilsprivate.c
index 652c60d..e5e7c2d 100644
--- a/gst-libs/gst/video/gstvideoutilsprivate.c
+++ b/gst-libs/gst/video/gstvideoutilsprivate.c
@@ -144,3 +144,114 @@
 
   return fcaps;
 }
+
+gboolean
+__gst_video_rawvideo_convert (GstVideoCodecState * state,
+    GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value)
+{
+  gboolean res = FALSE;
+  guint vidsize;
+  guint fps_n, fps_d;
+
+  g_return_val_if_fail (dest_format != NULL, FALSE);
+  g_return_val_if_fail (dest_value != NULL, FALSE);
+
+  if (src_format == *dest_format || src_value == 0 || src_value == -1) {
+    *dest_value = src_value;
+    return TRUE;
+  }
+
+  vidsize = GST_VIDEO_INFO_SIZE (&state->info);
+  fps_n = GST_VIDEO_INFO_FPS_N (&state->info);
+  fps_d = GST_VIDEO_INFO_FPS_D (&state->info);
+
+  if (src_format == GST_FORMAT_BYTES &&
+      *dest_format == GST_FORMAT_DEFAULT && vidsize) {
+    /* convert bytes to frames */
+    *dest_value = gst_util_uint64_scale_int (src_value, 1, vidsize);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_DEFAULT &&
+      *dest_format == GST_FORMAT_BYTES && vidsize) {
+    /* convert bytes to frames */
+    *dest_value = src_value * vidsize;
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_DEFAULT &&
+      *dest_format == GST_FORMAT_TIME && fps_n) {
+    /* convert frames to time */
+    *dest_value = gst_util_uint64_scale (src_value, GST_SECOND * fps_d, fps_n);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_TIME &&
+      *dest_format == GST_FORMAT_DEFAULT && fps_d) {
+    /* convert time to frames */
+    *dest_value = gst_util_uint64_scale (src_value, fps_n, GST_SECOND * fps_d);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_TIME &&
+      *dest_format == GST_FORMAT_BYTES && fps_d && vidsize) {
+    /* convert time to bytes */
+    *dest_value = gst_util_uint64_scale (src_value,
+        fps_n * (guint64) vidsize, GST_SECOND * fps_d);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_BYTES &&
+      *dest_format == GST_FORMAT_TIME && fps_n && vidsize) {
+    /* convert bytes to time */
+    *dest_value = gst_util_uint64_scale (src_value,
+        GST_SECOND * fps_d, fps_n * (guint64) vidsize);
+    res = TRUE;
+  }
+
+  return res;
+}
+
+gboolean
+__gst_video_encoded_video_convert (gint64 bytes, gint64 time,
+    GstFormat src_format, gint64 src_value, GstFormat * dest_format,
+    gint64 * dest_value)
+{
+  gboolean res = FALSE;
+
+  g_return_val_if_fail (dest_format != NULL, FALSE);
+  g_return_val_if_fail (dest_value != NULL, FALSE);
+
+  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
+          src_value == -1)) {
+    if (dest_value)
+      *dest_value = src_value;
+    return TRUE;
+  }
+
+  if (bytes <= 0 || time <= 0) {
+    GST_DEBUG ("not enough metadata yet to convert");
+    goto exit;
+  }
+
+  switch (src_format) {
+    case GST_FORMAT_BYTES:
+      switch (*dest_format) {
+        case GST_FORMAT_TIME:
+          *dest_value = gst_util_uint64_scale (src_value, time, bytes);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    case GST_FORMAT_TIME:
+      switch (*dest_format) {
+        case GST_FORMAT_BYTES:
+          *dest_value = gst_util_uint64_scale (src_value, bytes, time);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    default:
+      GST_DEBUG ("unhandled conversion from %d to %d", src_format,
+          *dest_format);
+      res = FALSE;
+  }
+
+exit:
+  return res;
+}
diff --git a/gst-libs/gst/video/gstvideoutilsprivate.h b/gst-libs/gst/video/gstvideoutilsprivate.h
index a968790..bee1106 100644
--- a/gst-libs/gst/video/gstvideoutilsprivate.h
+++ b/gst-libs/gst/video/gstvideoutilsprivate.h
@@ -36,6 +36,16 @@
                                             GstPad * srcpad, GstCaps * initial_caps,
                                             GstCaps * filter);
 
+G_GNUC_INTERNAL
+gboolean __gst_video_encoded_video_convert (gint64 bytes, gint64 time,
+                                            GstFormat src_format, gint64 src_value,
+                                            GstFormat * dest_format, gint64 * dest_value);
+
+G_GNUC_INTERNAL
+gboolean __gst_video_rawvideo_convert (GstVideoCodecState * state, GstFormat src_format,
+                                       gint64 src_value, GstFormat * dest_format,
+                                       gint64 * dest_value);
+
 G_END_DECLS
 
 #endif
diff --git a/gst-libs/gst/video/video-converter.c b/gst-libs/gst/video/video-converter.c
index f29278d..de9bab4 100644
--- a/gst-libs/gst/video/video-converter.c
+++ b/gst-libs/gst/video/video-converter.c
@@ -395,8 +395,6 @@
       g_ptr_array_remove_range (cache->lines, 0, to_remove);
     }
     cache->first += to_remove;
-    if (cache->first < in_line)
-      cache->first = in_line;
   } else if (in_line < cache->first) {
     gst_line_cache_clear (cache);
     cache->first = in_line;
@@ -1457,7 +1455,7 @@
         taps, convert->in_height, convert->out_height, convert->config);
 
     gst_video_scaler_get_coeff (convert->v_scaler_i, 0, NULL, &taps_i);
-    backlog = BACKLOG;
+    backlog = taps_i;
   }
   convert->v_scaler_p =
       gst_video_scaler_new (method, 0, taps, convert->in_height,
@@ -1909,8 +1907,8 @@
     if (!cache->pass_alloc) {
       /* can't pass allocator, make new temp line allocator */
       user_data =
-          converter_alloc_new (sizeof (guint16) * width * 4, n_lines + BACKLOG,
-          convert, NULL);
+          converter_alloc_new (sizeof (guint16) * width * 4,
+          n_lines + cache->backlog, convert, NULL);
       notify = (GDestroyNotify) converter_alloc_free;
       alloc_line = get_temp_line;
       alloc_writable = FALSE;
@@ -3599,9 +3597,93 @@
     sv = FRAME_GET_V_LINE (src, (i + convert->in_y) >> 1);
     sv += (convert->in_x >> 1);
 
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
     video_orc_convert_I420_BGRA (d, sy, su, sv,
         data->im[0][0], data->im[0][2],
         data->im[2][1], data->im[1][1], data->im[1][2], width);
+#else
+    video_orc_convert_I420_ARGB (d, sy, su, sv,
+        data->im[0][0], data->im[0][2],
+        data->im[2][1], data->im[1][1], data->im[1][2], width);
+#endif
+  }
+  convert_fill_border (convert, dest);
+}
+
+static void
+convert_I420_ARGB (GstVideoConverter * convert, const GstVideoFrame * src,
+    GstVideoFrame * dest)
+{
+  int i;
+  gint width = convert->in_width;
+  gint height = convert->in_height;
+  MatrixData *data = &convert->convert_matrix;
+
+  for (i = 0; i < height; i++) {
+    guint8 *sy, *su, *sv, *d;
+
+    d = FRAME_GET_LINE (dest, i + convert->out_y);
+    d += (convert->out_x * 4);
+    sy = FRAME_GET_Y_LINE (src, i + convert->in_y);
+    sy += convert->in_x;
+    su = FRAME_GET_U_LINE (src, (i + convert->in_y) >> 1);
+    su += (convert->in_x >> 1);
+    sv = FRAME_GET_V_LINE (src, (i + convert->in_y) >> 1);
+    sv += (convert->in_x >> 1);
+
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+    video_orc_convert_I420_ARGB (d, sy, su, sv,
+        data->im[0][0], data->im[0][2],
+        data->im[2][1], data->im[1][1], data->im[1][2], width);
+#else
+    video_orc_convert_I420_BGRA (d, sy, su, sv,
+        data->im[0][0], data->im[0][2],
+        data->im[2][1], data->im[1][1], data->im[1][2], width);
+#endif
+  }
+  convert_fill_border (convert, dest);
+}
+
+static void
+convert_I420_pack_ARGB (GstVideoConverter * convert, const GstVideoFrame * src,
+    GstVideoFrame * dest)
+{
+  int i;
+  gint width = convert->in_width;
+  gint height = convert->in_height;
+  MatrixData *data = &convert->convert_matrix;
+  gpointer tmp = convert->tmpline;
+  gpointer d[GST_VIDEO_MAX_PLANES];
+  gint pstride = GST_VIDEO_FORMAT_INFO_PSTRIDE (dest->info.finfo, 0);
+
+  d[0] = FRAME_GET_LINE (dest, 0);
+  d[0] = (guint8 *) d[0] + convert->out_x * pstride;
+
+  for (i = 0; i < height; i++) {
+    guint8 *sy, *su, *sv;
+
+    sy = FRAME_GET_Y_LINE (src, i + convert->in_y);
+    sy += convert->in_x;
+    su = FRAME_GET_U_LINE (src, (i + convert->in_y) >> 1);
+    su += (convert->in_x >> 1);
+    sv = FRAME_GET_V_LINE (src, (i + convert->in_y) >> 1);
+    sv += (convert->in_x >> 1);
+
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+    video_orc_convert_I420_ARGB (tmp, sy, su, sv,
+        data->im[0][0], data->im[0][2],
+        data->im[2][1], data->im[1][1], data->im[1][2], width);
+#else
+    video_orc_convert_I420_BGRA (tmp, sy, su, sv,
+        data->im[0][0], data->im[0][2],
+        data->im[2][1], data->im[1][1], data->im[1][2], width);
+#endif
+    dest->info.finfo->pack_func (dest->info.finfo,
+        (GST_VIDEO_FRAME_IS_INTERLACED (dest) ?
+            GST_VIDEO_PACK_FLAG_INTERLACED :
+            GST_VIDEO_PACK_FLAG_NONE),
+        tmp, 0, d, dest->info.stride,
+        dest->info.chroma_site, i + convert->out_y, width);
   }
   convert_fill_border (convert, dest);
 }
@@ -3968,6 +4050,7 @@
     case GST_VIDEO_FORMAT_RGB:
     case GST_VIDEO_FORMAT_BGR:
     case GST_VIDEO_FORMAT_v308:
+    case GST_VIDEO_FORMAT_IYU2:
     case GST_VIDEO_FORMAT_ARGB64:
     case GST_VIDEO_FORMAT_AYUV64:
       res = format;
@@ -4008,6 +4091,8 @@
     case GST_VIDEO_FORMAT_A422_10LE:
     case GST_VIDEO_FORMAT_A444_10BE:
     case GST_VIDEO_FORMAT_A444_10LE:
+    case GST_VIDEO_FORMAT_P010_10BE:
+    case GST_VIDEO_FORMAT_P010_10LE:
       res = format;
       g_assert_not_reached ();
       break;
@@ -4609,6 +4694,7 @@
       FALSE, FALSE, FALSE, 0, 0, convert_AYUV_ABGR},    /* alias */
   {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_RGBx, TRUE, TRUE, TRUE, TRUE, TRUE,
       FALSE, FALSE, FALSE, 0, 0, convert_AYUV_RGBA},    /* alias */
+#endif
 
   {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_BGRA, FALSE, TRUE, TRUE, TRUE,
       TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_BGRA},
@@ -4618,7 +4704,57 @@
       TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_BGRA},
   {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_BGRx, FALSE, TRUE, TRUE, TRUE,
       TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_BGRA},
-#endif
+
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_ARGB, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_xRGB, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_ARGB, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_xRGB, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_ARGB},
+
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_ABGR, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_xBGR, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_RGBA, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_RGBx, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_RGB, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_BGR, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_RGB15, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_BGR15, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_RGB16, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_BGR16, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_ABGR, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_xBGR, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_RGBA, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_RGBx, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_RGB, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_BGR, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_RGB15, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_BGR15, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_RGB16, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
+  {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_BGR16, FALSE, TRUE, TRUE, TRUE,
+      TRUE, FALSE, FALSE, FALSE, 0, 0, convert_I420_pack_ARGB},
 
   /* scalers */
   {GST_VIDEO_FORMAT_GBR, GST_VIDEO_FORMAT_GBR, TRUE, FALSE, FALSE, TRUE,
@@ -4642,6 +4778,8 @@
       FALSE, FALSE, FALSE, 0, 0, convert_scale_planes},
   {GST_VIDEO_FORMAT_v308, GST_VIDEO_FORMAT_v308, TRUE, FALSE, FALSE, TRUE, TRUE,
       FALSE, FALSE, FALSE, 0, 0, convert_scale_planes},
+  {GST_VIDEO_FORMAT_IYU2, GST_VIDEO_FORMAT_IYU2, TRUE, FALSE, FALSE, TRUE, TRUE,
+      FALSE, FALSE, FALSE, 0, 0, convert_scale_planes},
 
   {GST_VIDEO_FORMAT_ARGB, GST_VIDEO_FORMAT_ARGB, TRUE, FALSE, FALSE, TRUE, TRUE,
       TRUE, FALSE, FALSE, 0, 0, convert_scale_planes},
diff --git a/gst-libs/gst/video/video-format.c b/gst-libs/gst/video/video-format.c
index cff8189..1369d6a 100644
--- a/gst-libs/gst/video/video-format.c
+++ b/gst-libs/gst/video/video-format.c
@@ -416,6 +416,43 @@
   }
 }
 
+#define PACK_IYU2 GST_VIDEO_FORMAT_AYUV, unpack_IYU2, 1, pack_IYU2
+static void
+unpack_IYU2 (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    gpointer dest, const gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], gint x, gint y, gint width)
+{
+  int i;
+  const guint8 *restrict s = GET_LINE (y);
+  guint8 *restrict d = dest;
+
+  s += x * 3;
+
+  for (i = 0; i < width; i++) {
+    d[i * 4 + 0] = 0xff;
+    d[i * 4 + 1] = s[i * 3 + 1];
+    d[i * 4 + 2] = s[i * 3 + 0];
+    d[i * 4 + 3] = s[i * 3 + 2];
+  }
+}
+
+static void
+pack_IYU2 (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    const gpointer src, gint sstride, gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], GstVideoChromaSite chroma_site,
+    gint y, gint width)
+{
+  int i;
+  guint8 *restrict d = GET_LINE (y);
+  const guint8 *restrict s = src;
+
+  for (i = 0; i < width; i++) {
+    d[i * 3 + 0] = s[i * 4 + 2];
+    d[i * 3 + 1] = s[i * 4 + 1];
+    d[i * 3 + 2] = s[i * 4 + 3];
+  }
+}
+
 #define PACK_AYUV GST_VIDEO_FORMAT_AYUV, unpack_copy4, 1, pack_copy4
 #define PACK_ARGB GST_VIDEO_FORMAT_ARGB, unpack_copy4, 1, pack_copy4
 static void
@@ -3306,6 +3343,252 @@
   }
 }
 
+#define PACK_P010_10BE GST_VIDEO_FORMAT_AYUV64, unpack_P010_10BE, 1, pack_P010_10BE
+static void
+unpack_P010_10BE (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    gpointer dest, const gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], gint x, gint y, gint width)
+{
+  int i;
+  gint uv = GET_UV_420 (y, flags);
+  const guint16 *restrict sy = GET_PLANE_LINE (0, y);
+  const guint16 *restrict suv = GET_PLANE_LINE (1, uv);
+  guint16 *restrict d = dest, Y0, Y1, U, V;
+
+  sy += x;
+  suv += (x & ~1);
+
+  if (x & 1) {
+    Y0 = GST_READ_UINT16_BE (sy);
+    U = GST_READ_UINT16_BE (suv);
+    V = GST_READ_UINT16_BE (suv + 1);
+
+    if (!(flags & GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE)) {
+      Y0 |= (Y0 >> 10);
+      U |= (U >> 10);
+      V |= (V >> 10);
+    }
+
+    d[0] = 0xffff;
+    d[1] = Y0;
+    d[2] = U;
+    d[3] = V;
+    width--;
+    d += 4;
+    sy += 1;
+    suv += 2;
+  }
+
+  for (i = 0; i < width / 2; i++) {
+    Y0 = GST_READ_UINT16_BE (sy + 2 * i);
+    Y1 = GST_READ_UINT16_BE (sy + 2 * i + 1);
+    U = GST_READ_UINT16_BE (suv + 2 * i);
+    V = GST_READ_UINT16_BE (suv + 2 * i + 1);
+
+    if (!(flags & GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE)) {
+      Y0 |= (Y0 >> 10);
+      Y1 |= (Y1 >> 10);
+      U |= (U >> 10);
+      V |= (V >> 10);
+    }
+
+    d[i * 8 + 0] = 0xffff;
+    d[i * 8 + 1] = Y0;
+    d[i * 8 + 2] = U;
+    d[i * 8 + 3] = V;
+    d[i * 8 + 4] = 0xffff;
+    d[i * 8 + 5] = Y1;
+    d[i * 8 + 6] = U;
+    d[i * 8 + 7] = V;
+  }
+
+  if (width & 1) {
+    gint i = width - 1;
+
+    Y0 = GST_READ_UINT16_BE (sy + i);
+    U = GST_READ_UINT16_BE (suv + i);
+    V = GST_READ_UINT16_BE (suv + i + 1);
+
+    if (!(flags & GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE)) {
+      Y0 |= (Y0 >> 10);
+      U |= (U >> 10);
+      V |= (V >> 10);
+    }
+
+    d[i * 4 + 0] = 0xffff;
+    d[i * 4 + 1] = Y0;
+    d[i * 4 + 2] = U;
+    d[i * 4 + 3] = V;
+  }
+}
+
+static void
+pack_P010_10BE (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    const gpointer src, gint sstride, gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], GstVideoChromaSite chroma_site,
+    gint y, gint width)
+{
+  int i;
+  gint uv = GET_UV_420 (y, flags);
+  guint16 *restrict dy = GET_PLANE_LINE (0, y);
+  guint16 *restrict duv = GET_PLANE_LINE (1, uv);
+  guint16 Y0, Y1, U, V;
+  const guint16 *restrict s = src;
+
+  if (IS_CHROMA_LINE_420 (y, flags)) {
+    for (i = 0; i < width / 2; i++) {
+      Y0 = s[i * 8 + 1] & 0xffc0;
+      Y1 = s[i * 8 + 5] & 0xffc0;
+      U = s[i * 8 + 2] & 0xffc0;
+      V = s[i * 8 + 3] & 0xffc0;
+
+      GST_WRITE_UINT16_BE (dy + i * 2 + 0, Y0);
+      GST_WRITE_UINT16_BE (dy + i * 2 + 1, Y1);
+      GST_WRITE_UINT16_BE (duv + i * 2 + 0, U);
+      GST_WRITE_UINT16_BE (duv + i * 2 + 1, V);
+    }
+    if (width & 1) {
+      gint i = width - 1;
+
+      Y0 = s[i * 4 + 1] & 0xffc0;
+      U = s[i * 4 + 2] & 0xffc0;
+      V = s[i * 4 + 3] & 0xffc0;
+
+      GST_WRITE_UINT16_BE (dy + i, Y0);
+      GST_WRITE_UINT16_BE (duv + i + 0, U);
+      GST_WRITE_UINT16_BE (duv + i + 1, V);
+    }
+  } else {
+    for (i = 0; i < width; i++) {
+      Y0 = s[i * 4 + 1] & 0xffc0;
+      GST_WRITE_UINT16_BE (dy + i, Y0);
+    }
+  }
+}
+
+#define PACK_P010_10LE GST_VIDEO_FORMAT_AYUV64, unpack_P010_10LE, 1, pack_P010_10LE
+static void
+unpack_P010_10LE (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    gpointer dest, const gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], gint x, gint y, gint width)
+{
+  int i;
+  gint uv = GET_UV_420 (y, flags);
+  const guint16 *restrict sy = GET_PLANE_LINE (0, y);
+  const guint16 *restrict suv = GET_PLANE_LINE (1, uv);
+  guint16 *restrict d = dest, Y0, Y1, U, V;
+
+  sy += x;
+  suv += (x & ~1);
+
+  if (x & 1) {
+    Y0 = GST_READ_UINT16_LE (sy);
+    U = GST_READ_UINT16_LE (suv);
+    V = GST_READ_UINT16_LE (suv + 1);
+
+    if (!(flags & GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE)) {
+      Y0 |= (Y0 >> 10);
+      U |= (U >> 10);
+      V |= (V >> 10);
+    }
+
+    d[0] = 0xffff;
+    d[1] = Y0;
+    d[2] = U;
+    d[3] = V;
+    width--;
+    d += 4;
+    sy += 1;
+    suv += 2;
+  }
+
+  for (i = 0; i < width / 2; i++) {
+    Y0 = GST_READ_UINT16_LE (sy + 2 * i);
+    Y1 = GST_READ_UINT16_LE (sy + 2 * i + 1);
+    U = GST_READ_UINT16_LE (suv + 2 * i);
+    V = GST_READ_UINT16_LE (suv + 2 * i + 1);
+
+    if (!(flags & GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE)) {
+      Y0 |= (Y0 >> 10);
+      Y1 |= (Y1 >> 10);
+      U |= (U >> 10);
+      V |= (V >> 10);
+    }
+
+    d[i * 8 + 0] = 0xffff;
+    d[i * 8 + 1] = Y0;
+    d[i * 8 + 2] = U;
+    d[i * 8 + 3] = V;
+    d[i * 8 + 4] = 0xffff;
+    d[i * 8 + 5] = Y1;
+    d[i * 8 + 6] = U;
+    d[i * 8 + 7] = V;
+  }
+
+  if (width & 1) {
+    gint i = width - 1;
+
+    Y0 = GST_READ_UINT16_LE (sy + i);
+    U = GST_READ_UINT16_LE (suv + i);
+    V = GST_READ_UINT16_LE (suv + i + 1);
+
+    if (!(flags & GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE)) {
+      Y0 |= (Y0 >> 10);
+      U |= (U >> 10);
+      V |= (V >> 10);
+    }
+
+    d[i * 4 + 0] = 0xffff;
+    d[i * 4 + 1] = Y0;
+    d[i * 4 + 2] = U;
+    d[i * 4 + 3] = V;
+  }
+}
+
+static void
+pack_P010_10LE (const GstVideoFormatInfo * info, GstVideoPackFlags flags,
+    const gpointer src, gint sstride, gpointer data[GST_VIDEO_MAX_PLANES],
+    const gint stride[GST_VIDEO_MAX_PLANES], GstVideoChromaSite chroma_site,
+    gint y, gint width)
+{
+  int i;
+  gint uv = GET_UV_420 (y, flags);
+  guint16 *restrict dy = GET_PLANE_LINE (0, y);
+  guint16 *restrict duv = GET_PLANE_LINE (1, uv);
+  guint16 Y0, Y1, U, V;
+  const guint16 *restrict s = src;
+
+  if (IS_CHROMA_LINE_420 (y, flags)) {
+    for (i = 0; i < width / 2; i++) {
+      Y0 = s[i * 8 + 1] & 0xffc0;
+      Y1 = s[i * 8 + 5] & 0xffc0;
+      U = s[i * 8 + 2] & 0xffc0;
+      V = s[i * 8 + 3] & 0xffc0;
+
+      GST_WRITE_UINT16_LE (dy + i * 2 + 0, Y0);
+      GST_WRITE_UINT16_LE (dy + i * 2 + 1, Y1);
+      GST_WRITE_UINT16_LE (duv + i * 2 + 0, U);
+      GST_WRITE_UINT16_LE (duv + i * 2 + 1, V);
+    }
+    if (width & 1) {
+      gint i = width - 1;
+
+      Y0 = s[i * 4 + 1] & 0xffc0;
+      U = s[i * 4 + 2] & 0xffc0;
+      V = s[i * 4 + 3] & 0xffc0;
+
+      GST_WRITE_UINT16_LE (dy + i, Y0);
+      GST_WRITE_UINT16_LE (duv + i + 0, U);
+      GST_WRITE_UINT16_LE (duv + i + 1, V);
+    }
+  } else {
+    for (i = 0; i < width; i++) {
+      Y0 = s[i * 4 + 1] & 0xffc0;
+      GST_WRITE_UINT16_LE (dy + i, Y0);
+    }
+  }
+}
+
 typedef struct
 {
   guint32 fourcc;
@@ -3321,6 +3604,7 @@
 #define DPTH8880         8, 4, { 0, 0, 0, 0 }, { 8, 8, 8, 0 }
 #define DPTH10_10_10     10, 3, { 0, 0, 0, 0 }, { 10, 10, 10, 0 }
 #define DPTH10_10_10_10  10, 4, { 0, 0, 0, 0 }, { 10, 10, 10, 10 }
+#define DPTH10_10_10_HI  16, 3, { 6, 6, 6, 0 }, { 10, 10, 10, 0 }
 #define DPTH16           16, 1, { 0, 0, 0, 0 }, { 16, 0, 0, 0 }
 #define DPTH16_16_16     16, 3, { 0, 0, 0, 0 }, { 16, 16, 16, 0 }
 #define DPTH16_16_16_16  16, 4, { 0, 0, 0, 0 }, { 16, 16, 16, 16 }
@@ -3574,6 +3858,12 @@
       PSTR2222, PLANE0123, OFFS0, SUB4444, PACK_A444_10LE),
   MAKE_YUV_FORMAT (NV61, "raw video", GST_MAKE_FOURCC ('N', 'V', '6', '1'),
       DPTH888, PSTR122, PLANE011, OFFS010, SUB422, PACK_NV61),
+  MAKE_YUV_FORMAT (P010_10BE, "raw video", 0x00000000, DPTH10_10_10_HI,
+      PSTR244, PLANE011, OFFS001, SUB420, PACK_P010_10BE),
+  MAKE_YUV_LE_FORMAT (P010_10LE, "raw video", 0x00000000, DPTH10_10_10_HI,
+      PSTR244, PLANE011, OFFS001, SUB420, PACK_P010_10LE),
+  MAKE_YUV_FORMAT (IYU2, "raw video", GST_MAKE_FOURCC ('I', 'Y', 'U', '2'),
+      DPTH888, PSTR333, PLANE0, OFFS102, SUB444, PACK_IYU2),
 };
 
 static GstVideoFormat
@@ -3784,6 +4074,8 @@
       return GST_VIDEO_FORMAT_NV24;
     case GST_MAKE_FOURCC ('v', '3', '0', '8'):
       return GST_VIDEO_FORMAT_v308;
+    case GST_MAKE_FOURCC ('I', 'Y', 'U', '2'):
+      return GST_VIDEO_FORMAT_IYU2;
     case GST_MAKE_FOURCC ('Y', '8', '0', '0'):
     case GST_MAKE_FOURCC ('Y', '8', ' ', ' '):
     case GST_MAKE_FOURCC ('G', 'R', 'E', 'Y'):
diff --git a/gst-libs/gst/video/video-format.h b/gst-libs/gst/video/video-format.h
index 86fe297..e7f83d8 100644
--- a/gst-libs/gst/video/video-format.h
+++ b/gst-libs/gst/video/video-format.h
@@ -60,7 +60,8 @@
  * @GST_VIDEO_FORMAT_GRAY8: 8-bit grayscale
  * @GST_VIDEO_FORMAT_GRAY16_BE: 16-bit grayscale, most significant byte first
  * @GST_VIDEO_FORMAT_GRAY16_LE: 16-bit grayscale, least significant byte first
- * @GST_VIDEO_FORMAT_v308: packed 4:4:4 YUV
+ * @GST_VIDEO_FORMAT_v308: packed 4:4:4 YUV (Y-U-V ...)
+ * @GST_VIDEO_FORMAT_IYU2: packed 4:4:4 YUV (U-Y-V ...) (Since 1.10)
  * @GST_VIDEO_FORMAT_RGB16: rgb 5-6-5 bits per component
  * @GST_VIDEO_FORMAT_BGR16: reverse rgb 5-6-5 bits per component
  * @GST_VIDEO_FORMAT_RGB15: rgb 5-5-5 bits per component
@@ -93,6 +94,8 @@
  * @GST_VIDEO_FORMAT_A422_10LE: planar 4:4:2:2 YUV, 10 bits per channel
  * @GST_VIDEO_FORMAT_A444_10BE: planar 4:4:4:4 YUV, 10 bits per channel
  * @GST_VIDEO_FORMAT_A444_10LE: planar 4:4:4:4 YUV, 10 bits per channel
+ * @GST_VIDEO_FORMAT_P010_10BE: planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel
+ * @GST_VIDEO_FORMAT_P010_10LE: planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel
  *
  * Enum value describing the most common video formats.
  */
@@ -158,6 +161,9 @@
   GST_VIDEO_FORMAT_A444_10BE,
   GST_VIDEO_FORMAT_A444_10LE,
   GST_VIDEO_FORMAT_NV61,
+  GST_VIDEO_FORMAT_P010_10BE,
+  GST_VIDEO_FORMAT_P010_10LE,
+  GST_VIDEO_FORMAT_IYU2,
 } GstVideoFormat;
 
 #define GST_VIDEO_MAX_PLANES 4
@@ -397,7 +403,7 @@
 #define GST_VIDEO_FORMAT_INFO_DEPTH(info,c)      ((info)->depth[c])
 /**
  * GST_VIDEO_FORMAT_INFO_PSTRIDE:
- * @info: a #GstVideoInfo
+ * @info: a #GstVideoFormatInfo
  * @c: the component index
  *
  * pixel stride for the given component. This is the amount of bytes to the
@@ -412,7 +418,7 @@
 #define GST_VIDEO_FORMAT_INFO_PSTRIDE(info,c)    ((info)->pixel_stride[c])
 /**
  * GST_VIDEO_FORMAT_INFO_N_PLANES:
- * @info: a #GstVideoInfo
+ * @info: a #GstVideoFormatInfo
  *
  * Number of planes. This is the number of planes the pixel layout is
  * organized in in memory. The number of planes can be less than the
@@ -425,7 +431,7 @@
 #define GST_VIDEO_FORMAT_INFO_N_PLANES(info)     ((info)->n_planes)
 /**
  * GST_VIDEO_FORMAT_INFO_PLANE:
- * @info: a #GstVideoInfo
+ * @info: a #GstVideoFormatInfo
  * @c: the component index
  *
  * Plane number where the given component can be found. A plane may
@@ -446,7 +452,7 @@
   (((guint8*)(planes)[(info)->plane[comp]]) + (info)->poffset[comp])
 /**
  * GST_VIDEO_FORMAT_INFO_STRIDE:
- * @info: a #GstVideoInfo
+ * @info: a #GstVideoFormatInfo
  * @strides: an array of strides
  * @comp: the component index
  *
@@ -493,10 +499,10 @@
 #define GST_VIDEO_FORMATS_ALL "{ I420, YV12, YUY2, UYVY, AYUV, RGBx, "  \
     "BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, "  \
     "YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, " \
-    "GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, " \
+    "GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, " \
     "IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, " \
-    " Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, "\
-    " A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }"
+    "Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, "\
+    "A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }"
 
 /**
  * GST_VIDEO_CAPS_MAKE:
diff --git a/gst-libs/gst/video/video-frame.c b/gst-libs/gst/video/video-frame.c
index 66e1fa9..cc5073c 100644
--- a/gst-libs/gst/video/video-frame.c
+++ b/gst-libs/gst/video/video-frame.c
@@ -202,7 +202,7 @@
  *   if (gst_video_frame_map (&amp;vframe, video_info, video_buffer)) {
  *     guint8 *pixels = GST_VIDEO_FRAME_PLANE_DATA (vframe, 0);
  *     guint stride = GST_VIDEO_FRAME_PLANE_STRIDE (vframe, 0);
- *     guint pixel_stride = GST_VIDEO_FRAME_PLANE_PSTRIDE (vframe, 0);
+ *     guint pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (vframe, 0);
  *
  *     for (h = 0; h < height; ++h) {
  *       for (w = 0; w < width; ++w) {
diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c
index cb9c777..57b9db7 100644
--- a/gst-libs/gst/video/video-info.c
+++ b/gst-libs/gst/video/video-info.c
@@ -644,6 +644,7 @@
     case GST_VIDEO_FORMAT_RGB:
     case GST_VIDEO_FORMAT_BGR:
     case GST_VIDEO_FORMAT_v308:
+    case GST_VIDEO_FORMAT_IYU2:
       info->stride[0] = GST_ROUND_UP_4 (width * 3);
       info->offset[0] = 0;
       info->size = info->stride[0] * height;
@@ -878,6 +879,15 @@
       info->offset[3] = info->offset[1] * 3;
       info->size = info->stride[0] * height * 4;
       break;
+    case GST_VIDEO_FORMAT_P010_10LE:
+    case GST_VIDEO_FORMAT_P010_10BE:
+      info->stride[0] = GST_ROUND_UP_4 (width * 2);
+      info->stride[1] = info->stride[0];
+      info->offset[0] = 0;
+      info->offset[1] = info->stride[0] * GST_ROUND_UP_2 (height);
+      cr_h = GST_ROUND_UP_2 (height) / 2;
+      info->size = info->offset[1] + info->stride[0] * cr_h;
+      break;
 
     case GST_VIDEO_FORMAT_ENCODED:
       break;
diff --git a/gst-libs/gst/video/video-multiview.c b/gst-libs/gst/video/video-multiview.c
index 2b2a5bc..12774b0 100644
--- a/gst-libs/gst/video/video-multiview.c
+++ b/gst-libs/gst/video/video-multiview.c
@@ -418,6 +418,16 @@
   return type;
 }
 
+static gboolean
+gst_video_multiview_meta_init (GstVideoMultiviewMeta * mview_meta,
+    gpointer params, GstBuffer * buffer)
+{
+  mview_meta->n_views = 0;
+  mview_meta->view_info = NULL;
+
+  return TRUE;
+}
+
 static void
 gst_video_multiview_meta_free (GstVideoMultiviewMeta * mview_meta,
     GstBuffer * buffer)
@@ -436,7 +446,7 @@
         gst_meta_register (GST_VIDEO_MULTIVIEW_META_API_TYPE,
         "GstVideoMultiviewMeta",
         sizeof (GstVideoMultiviewMeta),
-        (GstMetaInitFunction) NULL,
+        (GstMetaInitFunction) gst_video_multiview_meta_init,
         (GstMetaFreeFunction) gst_video_multiview_meta_free,
         NULL);
     g_once_init_leave (&video_meta_info, meta);
diff --git a/gst-libs/gst/video/video-orc-dist.c b/gst-libs/gst/video/video-orc-dist.c
index 09aeca2..1f72291 100644
--- a/gst-libs/gst/video/video-orc-dist.c
+++ b/gst-libs/gst/video/video-orc-dist.c
@@ -333,6 +333,10 @@
     const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
     const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
     int n);
+void video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1,
+    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
+    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
+    int n);
 void video_orc_matrix8 (guint8 * ORC_RESTRICT d1,
     const guint8 * ORC_RESTRICT s1, orc_int64 p1, orc_int64 p2, orc_int64 p3,
     orc_int64 p4, int n);
@@ -21911,15 +21915,15 @@
         1, 9, 27, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 99, 111, 110,
         118, 101, 114, 116, 95, 73, 52, 50, 48, 95, 66, 71, 82, 65, 11, 4,
         4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0,
-        14, 1, 127, 0, 0, 0, 16, 2, 16, 2, 16, 2, 16, 2, 16, 2,
-        20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1,
-        20, 1, 20, 4, 65, 38, 4, 16, 151, 32, 38, 45, 38, 5, 65, 38,
-        38, 16, 151, 33, 38, 45, 38, 6, 65, 38, 38, 16, 151, 34, 38, 90,
-        32, 32, 24, 90, 35, 34, 25, 70, 35, 32, 35, 159, 38, 35, 196, 35,
-        38, 17, 90, 37, 33, 26, 70, 37, 32, 37, 159, 40, 37, 90, 36, 33,
-        27, 70, 36, 32, 36, 90, 32, 34, 28, 70, 36, 36, 32, 159, 39, 36,
-        196, 37, 40, 39, 195, 41, 37, 35, 21, 2, 33, 0, 41, 16, 2, 0,
-
+        14, 4, 128, 0, 0, 0, 14, 1, 127, 0, 0, 0, 16, 2, 16, 2,
+        16, 2, 16, 2, 16, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2,
+        20, 2, 20, 1, 20, 1, 20, 1, 20, 4, 65, 38, 4, 16, 151, 32,
+        38, 45, 38, 5, 65, 38, 38, 16, 151, 33, 38, 45, 38, 6, 65, 38,
+        38, 16, 151, 34, 38, 90, 32, 32, 24, 90, 35, 34, 25, 70, 35, 32,
+        35, 159, 38, 35, 196, 35, 38, 18, 90, 37, 33, 26, 70, 37, 32, 37,
+        159, 40, 37, 90, 36, 33, 27, 70, 36, 32, 36, 90, 32, 34, 28, 70,
+        36, 36, 32, 159, 39, 36, 196, 37, 40, 39, 195, 41, 37, 35, 21, 2,
+        33, 0, 41, 17, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
       orc_program_set_backup_function (p, _backup_video_orc_convert_I420_BGRA);
@@ -21932,7 +21936,8 @@
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
       orc_program_add_constant (p, 1, 0x00000080, "c1");
-      orc_program_add_constant (p, 1, 0x0000007f, "c2");
+      orc_program_add_constant (p, 4, 0x00000080, "c2");
+      orc_program_add_constant (p, 1, 0x0000007f, "c3");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_parameter (p, 2, "p3");
@@ -21973,7 +21978,7 @@
           ORC_VAR_D1);
       orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T7, ORC_VAR_T4,
           ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T7, ORC_VAR_C2,
+      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T7, ORC_VAR_C3,
           ORC_VAR_D1);
       orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_P3,
           ORC_VAR_D1);
@@ -21995,7 +22000,459 @@
           ORC_VAR_D1);
       orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T10, ORC_VAR_T6,
           ORC_VAR_T4, ORC_VAR_D1);
-      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C1,
+      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C2,
+          ORC_VAR_D1);
+#endif
+
+      orc_program_compile (p);
+      c = orc_program_take_code (p);
+      orc_program_free (p);
+    }
+    p_inited = TRUE;
+    orc_once_mutex_unlock ();
+  }
+  ex->arrays[ORC_VAR_A2] = c;
+  ex->program = 0;
+
+  ex->n = n;
+  ex->arrays[ORC_VAR_D1] = d1;
+  ex->arrays[ORC_VAR_S1] = (void *) s1;
+  ex->arrays[ORC_VAR_S2] = (void *) s2;
+  ex->arrays[ORC_VAR_S3] = (void *) s3;
+  ex->params[ORC_VAR_P1] = p1;
+  ex->params[ORC_VAR_P2] = p2;
+  ex->params[ORC_VAR_P3] = p3;
+  ex->params[ORC_VAR_P4] = p4;
+  ex->params[ORC_VAR_P5] = p5;
+
+  func = c->exec;
+  func (ex);
+}
+#endif
+
+
+/* video_orc_convert_I420_ARGB */
+#ifdef DISABLE_ORC
+void
+video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1,
+    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
+    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
+    int n)
+{
+  int i;
+  orc_union32 *ORC_RESTRICT ptr0;
+  const orc_int8 *ORC_RESTRICT ptr4;
+  const orc_int8 *ORC_RESTRICT ptr5;
+  const orc_int8 *ORC_RESTRICT ptr6;
+  orc_int8 var42;
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
+  volatile orc_int8 var43;
+#else
+  orc_int8 var43;
+#endif
+  orc_union16 var44;
+  orc_union16 var45;
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
+  volatile orc_int8 var46;
+#else
+  orc_int8 var46;
+#endif
+  orc_union16 var47;
+  orc_union16 var48;
+  orc_union16 var49;
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
+  volatile orc_union32 var50;
+#else
+  orc_union32 var50;
+#endif
+  orc_union32 var51;
+  orc_int8 var52;
+  orc_union16 var53;
+  orc_int8 var54;
+  orc_int8 var55;
+  orc_union16 var56;
+  orc_int8 var57;
+  orc_int8 var58;
+  orc_union16 var59;
+  orc_union16 var60;
+  orc_union16 var61;
+  orc_union16 var62;
+  orc_int8 var63;
+  orc_union16 var64;
+  orc_union16 var65;
+  orc_union16 var66;
+  orc_int8 var67;
+  orc_union16 var68;
+  orc_union16 var69;
+  orc_union16 var70;
+  orc_union16 var71;
+  orc_int8 var72;
+  orc_union16 var73;
+  orc_union32 var74;
+
+  ptr0 = (orc_union32 *) d1;
+  ptr4 = (orc_int8 *) s1;
+  ptr5 = (orc_int8 *) s2;
+  ptr6 = (orc_int8 *) s3;
+
+  /* 1: loadpb */
+  var43 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  /* 10: loadpw */
+  var44.i = p1;
+  /* 12: loadpw */
+  var45.i = p2;
+  /* 16: loadpb */
+  var46 = (int) 0x0000007f;     /* 127 or 6.27463e-322f */
+  /* 18: loadpw */
+  var47.i = p3;
+  /* 22: loadpw */
+  var48.i = p4;
+  /* 25: loadpw */
+  var49.i = p5;
+  /* 31: loadpb */
+  var50.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+
+  for (i = 0; i < n; i++) {
+    /* 0: loadb */
+    var42 = ptr4[i];
+    /* 2: subb */
+    var52 = var42 - var43;
+    /* 3: splatbw */
+    var53.i = ((var52 & 0xff) << 8) | (var52 & 0xff);
+    /* 4: loadupdb */
+    var54 = ptr5[i >> 1];
+    /* 5: subb */
+    var55 = var54 - var43;
+    /* 6: splatbw */
+    var56.i = ((var55 & 0xff) << 8) | (var55 & 0xff);
+    /* 7: loadupdb */
+    var57 = ptr6[i >> 1];
+    /* 8: subb */
+    var58 = var57 - var43;
+    /* 9: splatbw */
+    var59.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+    /* 11: mulhsw */
+    var60.i = (var53.i * var44.i) >> 16;
+    /* 13: mulhsw */
+    var61.i = (var59.i * var45.i) >> 16;
+    /* 14: addw */
+    var62.i = var60.i + var61.i;
+    /* 15: convssswb */
+    var63 = ORC_CLAMP_SB (var62.i);
+    /* 17: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46;
+      _dest.x2[1] = var63;
+      var64.i = _dest.i;
+    }
+    /* 19: mulhsw */
+    var65.i = (var56.i * var47.i) >> 16;
+    /* 20: addw */
+    var66.i = var60.i + var65.i;
+    /* 21: convssswb */
+    var67 = ORC_CLAMP_SB (var66.i);
+    /* 23: mulhsw */
+    var68.i = (var56.i * var48.i) >> 16;
+    /* 24: addw */
+    var69.i = var60.i + var68.i;
+    /* 26: mulhsw */
+    var70.i = (var59.i * var49.i) >> 16;
+    /* 27: addw */
+    var71.i = var69.i + var70.i;
+    /* 28: convssswb */
+    var72 = ORC_CLAMP_SB (var71.i);
+    /* 29: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var72;
+      _dest.x2[1] = var67;
+      var73.i = _dest.i;
+    }
+    /* 30: mergewl */
+    {
+      orc_union32 _dest;
+      _dest.x2[0] = var64.i;
+      _dest.x2[1] = var73.i;
+      var74.i = _dest.i;
+    }
+    /* 32: addb */
+    var51.x4[0] = var74.x4[0] + var50.x4[0];
+    var51.x4[1] = var74.x4[1] + var50.x4[1];
+    var51.x4[2] = var74.x4[2] + var50.x4[2];
+    var51.x4[3] = var74.x4[3] + var50.x4[3];
+    /* 33: storel */
+    ptr0[i] = var51;
+  }
+
+}
+
+#else
+static void
+_backup_video_orc_convert_I420_ARGB (OrcExecutor * ORC_RESTRICT ex)
+{
+  int i;
+  int n = ex->n;
+  orc_union32 *ORC_RESTRICT ptr0;
+  const orc_int8 *ORC_RESTRICT ptr4;
+  const orc_int8 *ORC_RESTRICT ptr5;
+  const orc_int8 *ORC_RESTRICT ptr6;
+  orc_int8 var42;
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
+  volatile orc_int8 var43;
+#else
+  orc_int8 var43;
+#endif
+  orc_union16 var44;
+  orc_union16 var45;
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
+  volatile orc_int8 var46;
+#else
+  orc_int8 var46;
+#endif
+  orc_union16 var47;
+  orc_union16 var48;
+  orc_union16 var49;
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
+  volatile orc_union32 var50;
+#else
+  orc_union32 var50;
+#endif
+  orc_union32 var51;
+  orc_int8 var52;
+  orc_union16 var53;
+  orc_int8 var54;
+  orc_int8 var55;
+  orc_union16 var56;
+  orc_int8 var57;
+  orc_int8 var58;
+  orc_union16 var59;
+  orc_union16 var60;
+  orc_union16 var61;
+  orc_union16 var62;
+  orc_int8 var63;
+  orc_union16 var64;
+  orc_union16 var65;
+  orc_union16 var66;
+  orc_int8 var67;
+  orc_union16 var68;
+  orc_union16 var69;
+  orc_union16 var70;
+  orc_union16 var71;
+  orc_int8 var72;
+  orc_union16 var73;
+  orc_union32 var74;
+
+  ptr0 = (orc_union32 *) ex->arrays[0];
+  ptr4 = (orc_int8 *) ex->arrays[4];
+  ptr5 = (orc_int8 *) ex->arrays[5];
+  ptr6 = (orc_int8 *) ex->arrays[6];
+
+  /* 1: loadpb */
+  var43 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  /* 10: loadpw */
+  var44.i = ex->params[24];
+  /* 12: loadpw */
+  var45.i = ex->params[25];
+  /* 16: loadpb */
+  var46 = (int) 0x0000007f;     /* 127 or 6.27463e-322f */
+  /* 18: loadpw */
+  var47.i = ex->params[26];
+  /* 22: loadpw */
+  var48.i = ex->params[27];
+  /* 25: loadpw */
+  var49.i = ex->params[28];
+  /* 31: loadpb */
+  var50.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+
+  for (i = 0; i < n; i++) {
+    /* 0: loadb */
+    var42 = ptr4[i];
+    /* 2: subb */
+    var52 = var42 - var43;
+    /* 3: splatbw */
+    var53.i = ((var52 & 0xff) << 8) | (var52 & 0xff);
+    /* 4: loadupdb */
+    var54 = ptr5[i >> 1];
+    /* 5: subb */
+    var55 = var54 - var43;
+    /* 6: splatbw */
+    var56.i = ((var55 & 0xff) << 8) | (var55 & 0xff);
+    /* 7: loadupdb */
+    var57 = ptr6[i >> 1];
+    /* 8: subb */
+    var58 = var57 - var43;
+    /* 9: splatbw */
+    var59.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+    /* 11: mulhsw */
+    var60.i = (var53.i * var44.i) >> 16;
+    /* 13: mulhsw */
+    var61.i = (var59.i * var45.i) >> 16;
+    /* 14: addw */
+    var62.i = var60.i + var61.i;
+    /* 15: convssswb */
+    var63 = ORC_CLAMP_SB (var62.i);
+    /* 17: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46;
+      _dest.x2[1] = var63;
+      var64.i = _dest.i;
+    }
+    /* 19: mulhsw */
+    var65.i = (var56.i * var47.i) >> 16;
+    /* 20: addw */
+    var66.i = var60.i + var65.i;
+    /* 21: convssswb */
+    var67 = ORC_CLAMP_SB (var66.i);
+    /* 23: mulhsw */
+    var68.i = (var56.i * var48.i) >> 16;
+    /* 24: addw */
+    var69.i = var60.i + var68.i;
+    /* 26: mulhsw */
+    var70.i = (var59.i * var49.i) >> 16;
+    /* 27: addw */
+    var71.i = var69.i + var70.i;
+    /* 28: convssswb */
+    var72 = ORC_CLAMP_SB (var71.i);
+    /* 29: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var72;
+      _dest.x2[1] = var67;
+      var73.i = _dest.i;
+    }
+    /* 30: mergewl */
+    {
+      orc_union32 _dest;
+      _dest.x2[0] = var64.i;
+      _dest.x2[1] = var73.i;
+      var74.i = _dest.i;
+    }
+    /* 32: addb */
+    var51.x4[0] = var74.x4[0] + var50.x4[0];
+    var51.x4[1] = var74.x4[1] + var50.x4[1];
+    var51.x4[2] = var74.x4[2] + var50.x4[2];
+    var51.x4[3] = var74.x4[3] + var50.x4[3];
+    /* 33: storel */
+    ptr0[i] = var51;
+  }
+
+}
+
+void
+video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1,
+    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
+    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
+    int n)
+{
+  OrcExecutor _ex, *ex = &_ex;
+  static volatile int p_inited = 0;
+  static OrcCode *c = 0;
+  void (*func) (OrcExecutor *);
+
+  if (!p_inited) {
+    orc_once_mutex_lock ();
+    if (!p_inited) {
+      OrcProgram *p;
+
+#if 1
+      static const orc_uint8 bc[] = {
+        1, 9, 27, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 99, 111, 110,
+        118, 101, 114, 116, 95, 73, 52, 50, 48, 95, 65, 82, 71, 66, 11, 4,
+        4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0,
+        14, 4, 128, 0, 0, 0, 14, 1, 127, 0, 0, 0, 16, 2, 16, 2,
+        16, 2, 16, 2, 16, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2,
+        20, 2, 20, 1, 20, 1, 20, 1, 20, 4, 65, 38, 4, 16, 151, 32,
+        38, 45, 38, 5, 65, 38, 38, 16, 151, 33, 38, 45, 38, 6, 65, 38,
+        38, 16, 151, 34, 38, 90, 32, 32, 24, 90, 35, 34, 25, 70, 35, 32,
+        35, 159, 38, 35, 196, 35, 18, 38, 90, 37, 33, 26, 70, 37, 32, 37,
+        159, 40, 37, 90, 36, 33, 27, 70, 36, 32, 36, 90, 32, 34, 28, 70,
+        36, 36, 32, 159, 39, 36, 196, 37, 39, 40, 195, 41, 35, 37, 21, 2,
+        33, 0, 41, 17, 2, 0,
+      };
+      p = orc_program_new_from_static_bytecode (bc);
+      orc_program_set_backup_function (p, _backup_video_orc_convert_I420_ARGB);
+#else
+      p = orc_program_new ();
+      orc_program_set_name (p, "video_orc_convert_I420_ARGB");
+      orc_program_set_backup_function (p, _backup_video_orc_convert_I420_ARGB);
+      orc_program_add_destination (p, 4, "d1");
+      orc_program_add_source (p, 1, "s1");
+      orc_program_add_source (p, 1, "s2");
+      orc_program_add_source (p, 1, "s3");
+      orc_program_add_constant (p, 1, 0x00000080, "c1");
+      orc_program_add_constant (p, 4, 0x00000080, "c2");
+      orc_program_add_constant (p, 1, 0x0000007f, "c3");
+      orc_program_add_parameter (p, 2, "p1");
+      orc_program_add_parameter (p, 2, "p2");
+      orc_program_add_parameter (p, 2, "p3");
+      orc_program_add_parameter (p, 2, "p4");
+      orc_program_add_parameter (p, 2, "p5");
+      orc_program_add_temporary (p, 2, "t1");
+      orc_program_add_temporary (p, 2, "t2");
+      orc_program_add_temporary (p, 2, "t3");
+      orc_program_add_temporary (p, 2, "t4");
+      orc_program_add_temporary (p, 2, "t5");
+      orc_program_add_temporary (p, 2, "t6");
+      orc_program_add_temporary (p, 1, "t7");
+      orc_program_add_temporary (p, 1, "t8");
+      orc_program_add_temporary (p, 1, "t9");
+      orc_program_add_temporary (p, 4, "t10");
+
+      orc_program_append_2 (p, "subb", 0, ORC_VAR_T7, ORC_VAR_S1, ORC_VAR_C1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_D1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T7, ORC_VAR_S2,
+          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append_2 (p, "subb", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_C1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T2, ORC_VAR_T7, ORC_VAR_D1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T7, ORC_VAR_S3,
+          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append_2 (p, "subb", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_C1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T3, ORC_VAR_T7, ORC_VAR_D1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_P2,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_T4,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T7, ORC_VAR_T4,
+          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_C3, ORC_VAR_T7,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_P3,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "addw", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_T6,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T9, ORC_VAR_T6,
+          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_P4,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "addw", 0, ORC_VAR_T5, ORC_VAR_T1, ORC_VAR_T5,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_P5,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "addw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_T1,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T8, ORC_VAR_T5,
+          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T8, ORC_VAR_T9,
+          ORC_VAR_D1);
+      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T10, ORC_VAR_T4,
+          ORC_VAR_T6, ORC_VAR_D1);
+      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C2,
           ORC_VAR_D1);
 #endif
 
diff --git a/gst-libs/gst/video/video-orc-dist.h b/gst-libs/gst/video/video-orc-dist.h
index c2fef7d..d6a2aa6 100644
--- a/gst-libs/gst/video/video-orc-dist.h
+++ b/gst-libs/gst/video/video-orc-dist.h
@@ -177,6 +177,7 @@
 void video_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1, int p2, int p3, int p4, int p5, int n, int m);
 void video_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1, int p2, int p3, int p4, int p5, int n, int m);
 void video_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
+void video_orc_convert_I420_ARGB (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
 void video_orc_matrix8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, orc_int64 p1, orc_int64 p2, orc_int64 p3, orc_int64 p4, int n);
 void _custom_video_orc_matrix8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, orc_int64 p1, orc_int64 p2, orc_int64 p3, orc_int64 p4, int n);
 void video_orc_resample_h_near_u32_lq (guint32 * ORC_RESTRICT d1, const guint32 * ORC_RESTRICT s1, int p1, int p2, int n);
diff --git a/gst-libs/gst/video/video-orc.orc b/gst-libs/gst/video/video-orc.orc
index 60d7c95..5af6c90 100644
--- a/gst-libs/gst/video/video-orc.orc
+++ b/gst-libs/gst/video/video-orc.orc
@@ -1663,6 +1663,7 @@
 .temp 1 b
 .temp 4 x
 .const 1 c128 128
+.const 4 c4128 128
 
 subb r, y, c128
 splatbw wy, r
@@ -1693,7 +1694,61 @@
 
 mergebw wb, b, g
 mergewl x, wb, wr
-x4 addb argb, x, c128
+x4 addb argb, x, c4128
+
+.function video_orc_convert_I420_ARGB
+.dest 4 argb guint8
+.source 1 y guint8
+.source 1 u guint8
+.source 1 v guint8
+.param 2 p1
+.param 2 p2
+.param 2 p3
+.param 2 p4
+.param 2 p5
+.temp 2 wy
+.temp 2 wu
+.temp 2 wv
+.temp 2 wr
+.temp 2 wg
+.temp 2 wb
+.temp 1 r
+.temp 1 g
+.temp 1 b
+.temp 4 x
+.const 1 c128 128
+.const 4 c4128 128
+
+subb r, y, c128
+splatbw wy, r
+loadupdb r, u
+subb r, r, c128
+splatbw wu, r
+loadupdb r, v
+subb r, r, c128
+splatbw wv, r
+
+mulhsw wy, wy, p1
+
+mulhsw wr, wv, p2
+addw wr, wy, wr
+convssswb r, wr
+mergebw wr, 127, r
+
+mulhsw wb, wu, p3
+addw wb, wy, wb
+convssswb b, wb
+
+mulhsw wg, wu, p4
+addw wg, wy, wg
+mulhsw wy, wv, p5
+addw wg, wg, wy
+
+convssswb g, wg
+
+mergebw wb, g, b
+mergewl x, wr, wb
+x4 addb argb, x, c4128
 
 .function video_orc_matrix8
 .backup _custom_video_orc_matrix8
diff --git a/gst-libs/gst/video/video-overlay-composition.c b/gst-libs/gst/video/video-overlay-composition.c
index b256b99..12e7e07 100644
--- a/gst-libs/gst/video/video-overlay-composition.c
+++ b/gst-libs/gst/video/video-overlay-composition.c
@@ -186,6 +186,19 @@
   return (guint) g_atomic_int_add (&seqnum, 1);
 }
 
+static gboolean
+gst_video_overlay_composition_meta_init (GstMeta * meta, gpointer params,
+    GstBuffer * buf)
+{
+  GstVideoOverlayCompositionMeta *ometa;
+
+  ometa = (GstVideoOverlayCompositionMeta *) meta;
+
+  ometa->overlay = NULL;
+
+  return TRUE;
+}
+
 static void
 gst_video_overlay_composition_meta_free (GstMeta * meta, GstBuffer * buf)
 {
@@ -251,7 +264,8 @@
     const GstMetaInfo *meta =
         gst_meta_register (GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE,
         "GstVideoOverlayCompositionMeta",
-        sizeof (GstVideoOverlayCompositionMeta), (GstMetaInitFunction) NULL,
+        sizeof (GstVideoOverlayCompositionMeta),
+        (GstMetaInitFunction) gst_video_overlay_composition_meta_init,
         (GstMetaFreeFunction) gst_video_overlay_composition_meta_free,
         (GstMetaTransformFunction)
         gst_video_overlay_composition_meta_transform);
diff --git a/gst-libs/gst/video/video-resampler.c b/gst-libs/gst/video/video-resampler.c
index 07dddc9..0848961 100644
--- a/gst-libs/gst/video/video-resampler.c
+++ b/gst-libs/gst/video/video-resampler.c
@@ -410,6 +410,8 @@
     params.dx = ceil (2.0 * params.envelope / params.fx);
     n_taps = CLAMP (params.dx, 0, max_taps);
   }
+  if (flags & GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS && n_taps > 3)
+    n_taps /= 2;
   params.fx = 2.0 * params.envelope / n_taps;
   params.ex = 2.0 / n_taps;
 
diff --git a/gst-libs/gst/video/video-resampler.h b/gst-libs/gst/video/video-resampler.h
index 699f382..3338046 100644
--- a/gst-libs/gst/video/video-resampler.h
+++ b/gst-libs/gst/video/video-resampler.h
@@ -116,6 +116,9 @@
 /**
  * GstVideoResamplerFlags:
  * @GST_VIDEO_RESAMPLER_FLAG_NONE: no flags
+ * @GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS: when no taps are given, half the
+ *              number of calculated taps. This can be used when making scalers
+ *              for the different fields of an interlaced picture. Since 1.10
  *
  * Different resampler flags.
  *
@@ -123,6 +126,7 @@
  */
 typedef enum {
   GST_VIDEO_RESAMPLER_FLAG_NONE                 = (0),
+  GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS            = (1 << 0),
 } GstVideoResamplerFlags;
 
 /**
diff --git a/gst-libs/gst/video/video-scaler.c b/gst-libs/gst/video/video-scaler.c
index 18bd09c..d1b4b27 100644
--- a/gst-libs/gst/video/video-scaler.c
+++ b/gst-libs/gst/video/video-scaler.c
@@ -185,6 +185,8 @@
 #endif
 }
 
+#define INTERLACE_SHIFT 0.5
+
 /**
  * gst_video_scaler_new: (skip)
  * @method: a #GstVideoResamplerMethod
@@ -221,14 +223,18 @@
 
   if (flags & GST_VIDEO_SCALER_FLAG_INTERLACED) {
     GstVideoResampler tresamp, bresamp;
+    gdouble shift;
 
-    gst_video_resampler_init (&tresamp, method, 0, (out_size + 1) / 2, n_taps,
-        -0.5, (in_size + 1) / 2, (out_size + 1) / 2, options);
+    shift = (INTERLACE_SHIFT * out_size) / in_size;
+
+    gst_video_resampler_init (&tresamp, method,
+        GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS, (out_size + 1) / 2, n_taps, shift,
+        (in_size + 1) / 2, (out_size + 1) / 2, options);
 
     n_taps = tresamp.max_taps;
 
     gst_video_resampler_init (&bresamp, method, 0, out_size - tresamp.out_size,
-        n_taps, 0.5, in_size - tresamp.in_size,
+        n_taps, -shift, in_size - tresamp.in_size,
         out_size - tresamp.out_size, options);
 
     resampler_zip (&scale->resampler, &tresamp, &bresamp);
@@ -1212,6 +1218,7 @@
     case GST_VIDEO_FORMAT_RGB:
     case GST_VIDEO_FORMAT_BGR:
     case GST_VIDEO_FORMAT_v308:
+    case GST_VIDEO_FORMAT_IYU2:
       bits = 8;
       *n_elems = 3;
       break;
diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap
index d1c80ec..38c70c9 100644
--- a/gst-plugins-base.doap
+++ b/gst-plugins-base.doap
@@ -36,21 +36,11 @@
 
  <release>
   <Version>
-   <revision>1.8.2</revision>
-   <branch>1.8</branch>
+   <revision>1.9.1</revision>
+   <branch>master</branch>
    <name></name>
-   <created>2016-06-09</created>
-   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.8.2.tar.xz" />
-  </Version>
- </release>
-
- <release>
-  <Version>
-   <revision>1.8.1</revision>
-   <branch>1.8</branch>
-   <name></name>
-   <created>2016-04-20</created>
-   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.8.1.tar.xz" />
+   <created>2016-06-06</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.9.1.tar.xz" />
   </Version>
  </release>
 
diff --git a/gst-plugins-base.spec b/gst-plugins-base.spec
index 37df1f5..ec7cc2f 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.8.2
+Version: 	1.9.1
 Release: 	1.gst
 Summary: 	GStreamer streaming media framework plug-ins
 
diff --git a/gst/adder/gstadder.c b/gst/adder/gstadder.c
index 0f297d0..fe2d21a 100644
--- a/gst/adder/gstadder.c
+++ b/gst/adder/gstadder.c
@@ -856,13 +856,12 @@
           "object.", GST_TYPE_CAPS,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_adder_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_adder_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_adder_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_adder_sink_template);
   gst_element_class_set_static_metadata (gstelement_class, "Adder",
-      "Generic/Audio",
-      "Add N audio channels together",
+      "Generic/Audio", "Add N audio channels together",
       "Thomas Vander Stichele <thomas at apestaart dot org>");
 
   gstelement_class->request_new_pad =
diff --git a/gst/audioconvert/gstaudioconvert.c b/gst/audioconvert/gstaudioconvert.c
index a3a8fad..d320af4 100644
--- a/gst/audioconvert/gstaudioconvert.c
+++ b/gst/audioconvert/gstaudioconvert.c
@@ -158,13 +158,13 @@
           GST_TYPE_AUDIO_NOISE_SHAPING_METHOD, GST_AUDIO_NOISE_SHAPING_NONE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_audio_convert_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_audio_convert_sink_template));
-  gst_element_class_set_static_metadata (element_class,
-      "Audio converter", "Filter/Converter/Audio",
-      "Convert audio to different formats", "Benjamin Otte <otte@gnome.org>");
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_audio_convert_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_audio_convert_sink_template);
+  gst_element_class_set_static_metadata (element_class, "Audio converter",
+      "Filter/Converter/Audio", "Convert audio to different formats",
+      "Benjamin Otte <otte@gnome.org>");
 
   basetransform_class->get_unit_size =
       GST_DEBUG_FUNCPTR (gst_audio_convert_get_unit_size);
@@ -575,12 +575,12 @@
    * one reason or another, so just pick a default layout (we could be smarter
    * and try to add/remove channels from the input layout, or pick a default
    * layout based on LFE-presence in input layout, but let's save that for
-   * another day) */
-  if (out_chans > 0
+   * another day). For mono, no mask is required and the fallback mask is 0 */
+  if (out_chans > 1
       && (out_mask = gst_audio_channel_get_fallback_mask (out_chans))) {
     GST_DEBUG_OBJECT (base, "using default channel layout as fallback");
     gst_structure_set (outs, "channel-mask", GST_TYPE_BITMASK, out_mask, NULL);
-  } else {
+  } else if (out_chans > 1) {
     GST_ERROR_OBJECT (base, "Have no default layout for %d channels",
         out_chans);
   }
diff --git a/gst/audiorate/gstaudiorate.c b/gst/audiorate/gstaudiorate.c
index 1927ec3..ad8720c 100644
--- a/gst/audiorate/gstaudiorate.c
+++ b/gst/audiorate/gstaudiorate.c
@@ -190,10 +190,10 @@
       "Drops/duplicates/adjusts timestamps on audio samples to make a perfect stream",
       "Wim Taymans <wim@fluendo.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_audio_rate_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_audio_rate_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_audio_rate_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_audio_rate_src_template);
 
   element_class->change_state = gst_audio_rate_change_state;
 }
diff --git a/gst/audioresample/Makefile.am b/gst/audioresample/Makefile.am
index 728700d..6d83a39 100644
--- a/gst/audioresample/Makefile.am
+++ b/gst/audioresample/Makefile.am
@@ -1,44 +1,23 @@
 plugin_LTLIBRARIES = libgstaudioresample.la
 
-# FIXME: we still link against orc if it's there, even if --disable-orc was used
-if HAVE_ORC
-ORC_TEST_LIBS = -lorc-test-0.4
-else
-ORC_TEST_LIBS = 
-endif
-
 libgstaudioresample_la_SOURCES = \
-	gstaudioresample.c \
-	speex_resampler_int.c \
-	speex_resampler_float.c \
-	speex_resampler_double.c
+	gstaudioresample.c 
+
+nodist_libgstaudioresample_la_SOURCES = $(BUILT_SOURCES)
 
 libgstaudioresample_la_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
 	$(GST_BASE_CFLAGS) \
-	$(GST_CFLAGS) \
-	$(ORC_CFLAGS)
+	$(GST_CFLAGS)
 
 libgstaudioresample_la_LIBADD = \
 	$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \
 	$(GST_BASE_LIBS) \
 	$(GST_LIBS) \
-	$(ORC_LIBS) $(ORC_TEST_LIBS) \
 	$(LIBM)
 
 libgstaudioresample_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstaudioresample_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
 noinst_HEADERS = \
-	arch.h \
-	fixed_arm4.h \
-	fixed_arm5e.h \
-	fixed_bfin.h \
-	fixed_debug.h \
-	fixed_generic.h \
-	gstaudioresample.h \
-	resample.c \
-	resample_sse.h \
-	resample_neon.h \
-	speex_resampler.h \
-	speex_resampler_wrapper.h
+	gstaudioresample.h
diff --git a/gst/audioresample/Makefile.in b/gst/audioresample/Makefile.in
index 2dd5ba7..fd9586e 100644
--- a/gst/audioresample/Makefile.in
+++ b/gst/audioresample/Makefile.in
@@ -164,14 +164,12 @@
 am__DEPENDENCIES_1 =
 libgstaudioresample_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
 am_libgstaudioresample_la_OBJECTS =  \
-	libgstaudioresample_la-gstaudioresample.lo \
-	libgstaudioresample_la-speex_resampler_int.lo \
-	libgstaudioresample_la-speex_resampler_float.lo \
-	libgstaudioresample_la-speex_resampler_double.lo
-libgstaudioresample_la_OBJECTS = $(am_libgstaudioresample_la_OBJECTS)
+	libgstaudioresample_la-gstaudioresample.lo
+nodist_libgstaudioresample_la_OBJECTS =
+libgstaudioresample_la_OBJECTS = $(am_libgstaudioresample_la_OBJECTS) \
+	$(nodist_libgstaudioresample_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
@@ -214,7 +212,8 @@
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(libgstaudioresample_la_SOURCES)
+SOURCES = $(libgstaudioresample_la_SOURCES) \
+	$(nodist_libgstaudioresample_la_SOURCES)
 DIST_SOURCES = $(libgstaudioresample_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
@@ -241,7 +240,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -538,44 +537,25 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 plugin_LTLIBRARIES = libgstaudioresample.la
-@HAVE_ORC_FALSE@ORC_TEST_LIBS = 
-
-# FIXME: we still link against orc if it's there, even if --disable-orc was used
-@HAVE_ORC_TRUE@ORC_TEST_LIBS = -lorc-test-0.4
 libgstaudioresample_la_SOURCES = \
-	gstaudioresample.c \
-	speex_resampler_int.c \
-	speex_resampler_float.c \
-	speex_resampler_double.c
+	gstaudioresample.c 
 
+nodist_libgstaudioresample_la_SOURCES = $(BUILT_SOURCES)
 libgstaudioresample_la_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
 	$(GST_BASE_CFLAGS) \
-	$(GST_CFLAGS) \
-	$(ORC_CFLAGS)
+	$(GST_CFLAGS)
 
 libgstaudioresample_la_LIBADD = \
 	$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \
 	$(GST_BASE_LIBS) \
 	$(GST_LIBS) \
-	$(ORC_LIBS) $(ORC_TEST_LIBS) \
 	$(LIBM)
 
 libgstaudioresample_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstaudioresample_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 noinst_HEADERS = \
-	arch.h \
-	fixed_arm4.h \
-	fixed_arm5e.h \
-	fixed_bfin.h \
-	fixed_debug.h \
-	fixed_generic.h \
-	gstaudioresample.h \
-	resample.c \
-	resample_sse.h \
-	resample_neon.h \
-	speex_resampler.h \
-	speex_resampler_wrapper.h
+	gstaudioresample.h
 
 all: all-am
 
@@ -656,9 +636,6 @@
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudioresample_la-gstaudioresample.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudioresample_la-speex_resampler_double.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudioresample_la-speex_resampler_float.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudioresample_la-speex_resampler_int.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -691,27 +668,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstaudioresample_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudioresample_la_CFLAGS) $(CFLAGS) -c -o libgstaudioresample_la-gstaudioresample.lo `test -f 'gstaudioresample.c' || echo '$(srcdir)/'`gstaudioresample.c
 
-libgstaudioresample_la-speex_resampler_int.lo: speex_resampler_int.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstaudioresample_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudioresample_la_CFLAGS) $(CFLAGS) -MT libgstaudioresample_la-speex_resampler_int.lo -MD -MP -MF $(DEPDIR)/libgstaudioresample_la-speex_resampler_int.Tpo -c -o libgstaudioresample_la-speex_resampler_int.lo `test -f 'speex_resampler_int.c' || echo '$(srcdir)/'`speex_resampler_int.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstaudioresample_la-speex_resampler_int.Tpo $(DEPDIR)/libgstaudioresample_la-speex_resampler_int.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='speex_resampler_int.c' object='libgstaudioresample_la-speex_resampler_int.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 $(libgstaudioresample_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudioresample_la_CFLAGS) $(CFLAGS) -c -o libgstaudioresample_la-speex_resampler_int.lo `test -f 'speex_resampler_int.c' || echo '$(srcdir)/'`speex_resampler_int.c
-
-libgstaudioresample_la-speex_resampler_float.lo: speex_resampler_float.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstaudioresample_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudioresample_la_CFLAGS) $(CFLAGS) -MT libgstaudioresample_la-speex_resampler_float.lo -MD -MP -MF $(DEPDIR)/libgstaudioresample_la-speex_resampler_float.Tpo -c -o libgstaudioresample_la-speex_resampler_float.lo `test -f 'speex_resampler_float.c' || echo '$(srcdir)/'`speex_resampler_float.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstaudioresample_la-speex_resampler_float.Tpo $(DEPDIR)/libgstaudioresample_la-speex_resampler_float.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='speex_resampler_float.c' object='libgstaudioresample_la-speex_resampler_float.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 $(libgstaudioresample_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudioresample_la_CFLAGS) $(CFLAGS) -c -o libgstaudioresample_la-speex_resampler_float.lo `test -f 'speex_resampler_float.c' || echo '$(srcdir)/'`speex_resampler_float.c
-
-libgstaudioresample_la-speex_resampler_double.lo: speex_resampler_double.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstaudioresample_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudioresample_la_CFLAGS) $(CFLAGS) -MT libgstaudioresample_la-speex_resampler_double.lo -MD -MP -MF $(DEPDIR)/libgstaudioresample_la-speex_resampler_double.Tpo -c -o libgstaudioresample_la-speex_resampler_double.lo `test -f 'speex_resampler_double.c' || echo '$(srcdir)/'`speex_resampler_double.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstaudioresample_la-speex_resampler_double.Tpo $(DEPDIR)/libgstaudioresample_la-speex_resampler_double.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='speex_resampler_double.c' object='libgstaudioresample_la-speex_resampler_double.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 $(libgstaudioresample_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudioresample_la_CFLAGS) $(CFLAGS) -c -o libgstaudioresample_la-speex_resampler_double.lo `test -f 'speex_resampler_double.c' || echo '$(srcdir)/'`speex_resampler_double.c
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
diff --git a/gst/audioresample/README b/gst/audioresample/README
deleted file mode 100644
index faab16f..0000000
--- a/gst/audioresample/README
+++ /dev/null
@@ -1,347 +0,0 @@
- arch.h            
- fixed_arm4.h      
- fixed_arm5e.h     
- fixed_bfin.h      
- fixed_debug.h     
- fixed_generic.h   
- resample.c        
- speex_resampler.h 
-
-are taken from http://git.xiph.org/speex.git/ as of 2009-11-10.
-
-The only changes are:
-
-diff -Naur old/arch.h new/arch.h
---- old/arch.h	2009-11-10 12:18:29.000000000 +0100
-+++ new/arch.h	2009-11-10 12:19:09.000000000 +0100
-@@ -78,7 +78,10 @@
- #include "../include/speex/speex_types.h"
- #endif
- 
-+#ifndef ABS
- #define ABS(x) ((x) < 0 ? (-(x)) : (x))      /**< Absolute integer value. */
-+#endif
-+
- #define ABS16(x) ((x) < 0 ? (-(x)) : (x))    /**< Absolute 16-bit value.  */
- #define MIN16(a,b) ((a) < (b) ? (a) : (b))   /**< Maximum 16-bit value.   */
- #define MAX16(a,b) ((a) > (b) ? (a) : (b))   /**< Maximum 16-bit value.   */
-@@ -134,6 +137,28 @@
- 
- #else
- 
-+#ifdef DOUBLE_PRECISION
-+typedef double spx_mem_t;
-+typedef double spx_coef_t;
-+typedef double spx_lsp_t;
-+typedef double spx_sig_t;
-+typedef double spx_word16_t;
-+typedef double spx_word32_t;
-+
-+#define Q15ONE 1.0
-+#define LPC_SCALING  1.
-+#define SIG_SCALING  1.
-+#define LSP_SCALING  1.
-+#define GAMMA_SCALING 1.
-+#define GAIN_SCALING 1.
-+#define GAIN_SCALING_1 1.
-+
-+
-+#define VERY_SMALL 1e-20
-+#define VERY_LARGE32 1e20
-+#define VERY_LARGE16 1e20
-+#define Q15_ONE ((spx_word16_t)1.)
-+#else /* !DOUBLE_PRECISION */
- typedef float spx_mem_t;
- typedef float spx_coef_t;
- typedef float spx_lsp_t;
-@@ -154,6 +179,7 @@
- #define VERY_LARGE32 1e15f
- #define VERY_LARGE16 1e15f
- #define Q15_ONE ((spx_word16_t)1.f)
-+#endif /* DOUBLE_PRECISION */
- 
- #define QCONST16(x,bits) (x)
- #define QCONST32(x,bits) (x)
-diff -Naur old/resample.c new/resample.c
---- old/resample.c	2009-11-10 12:18:51.000000000 +0100
-+++ new/resample.c	2009-11-10 12:19:09.000000000 +0100
-@@ -63,22 +63,27 @@
- 
- #ifdef OUTSIDE_SPEEX
- #include <stdlib.h>
--static void *
-+
-+#include <glib.h>
-+
-+#define EXPORT G_GNUC_INTERNAL
-+
-+static inline void *
- speex_alloc (int size)
- {
--  return calloc (size, 1);
-+  return g_malloc0 (size);
- }
- 
--static void *
-+static inline void *
- speex_realloc (void *ptr, int size)
- {
--  return realloc (ptr, size);
-+  return g_realloc (ptr, size);
- }
- 
--static void
-+static inline void
- speex_free (void *ptr)
- {
--  free (ptr);
-+  g_free (ptr);
- }
- 
- #include "speex_resampler.h"
-@@ -90,7 +95,6 @@
- #include "os_support.h"
- #endif /* OUTSIDE_SPEEX */
- 
--#include "stack_alloc.h"
- #include <math.h>
- 
- #ifndef M_PI
-@@ -263,10 +267,17 @@
- };
- 
- /*8,24,40,56,80,104,128,160,200,256,320*/
-+#ifdef DOUBLE_PRECISION
-+static double
-+compute_func (double x, struct FuncDef *func)
-+{
-+  double y, frac;
-+#else
- static double
- compute_func (float x, struct FuncDef *func)
- {
-   float y, frac;
-+#endif
-   double interp[4];
-   int ind;
-   y = x * func->oversample;
-@@ -317,11 +328,19 @@
- }
- #else
- /* The slow way of computing a sinc for the table. Should improve that some day */
-+#ifdef DOUBLE_PRECISION
-+static spx_word16_t
-+sinc (double cutoff, double x, int N, struct FuncDef *window_func)
-+{
-+  /*fprintf (stderr, "%f ", x); */
-+  double xx = x * cutoff;
-+#else
- static spx_word16_t
- sinc (float cutoff, float x, int N, struct FuncDef *window_func)
- {
-   /*fprintf (stderr, "%f ", x); */
-   float xx = x * cutoff;
-+#endif
-   if (fabs (x) < 1e-6)
-     return cutoff;
-   else if (fabs (x) > .5 * N)
-@@ -372,6 +391,7 @@
- }
- #endif
- 
-+#ifndef DOUBLE_PRECISION
- static int
- resampler_basic_direct_single (SpeexResamplerState * st,
-     spx_uint32_t channel_index, const spx_word16_t * in, spx_uint32_t * in_len,
-@@ -428,6 +448,7 @@
-   st->samp_frac_num[channel_index] = samp_frac_num;
-   return out_sample;
- }
-+#endif
- 
- #ifdef FIXED_POINT
- #else
-@@ -483,6 +504,7 @@
- }
- #endif
- 
-+#ifndef DOUBLE_PRECISION
- static int
- resampler_basic_interpolate_single (SpeexResamplerState * st,
-     spx_uint32_t channel_index, const spx_word16_t * in, spx_uint32_t * in_len,
-@@ -562,6 +584,7 @@
-   st->samp_frac_num[channel_index] = samp_frac_num;
-   return out_sample;
- }
-+#endif
- 
- #ifdef FIXED_POINT
- #else
-@@ -592,10 +615,16 @@
-         PDIV32 (SHL32 ((samp_frac_num * st->oversample) % st->den_rate, 15),
-         st->den_rate);
- #else
-+#ifdef DOUBLE_PRECISION
-+    const spx_word16_t frac =
-+        ((double) ((samp_frac_num * st->oversample) % st->den_rate)) /
-+        st->den_rate;
-+#else
-     const spx_word16_t frac =
-         ((float) ((samp_frac_num * st->oversample) % st->den_rate)) /
-         st->den_rate;
- #endif
-+#endif
-     spx_word16_t interp[4];
- 
- 
-@@ -696,20 +725,27 @@
-       spx_int32_t j;
-       for (j = 0; j < st->filt_len; j++) {
-         st->sinc_table[i * st->filt_len + j] =
--            sinc (st->cutoff,
--            ((j - (spx_int32_t) st->filt_len / 2 + 1) -
-+            sinc (st->cutoff, ((j - (spx_int32_t) st->filt_len / 2 + 1) -
-+#ifdef DOUBLE_PRECISION
-+                ((double) i) / st->den_rate), st->filt_len,
-+#else
-                 ((float) i) / st->den_rate), st->filt_len,
-+#endif
-             quality_map[st->quality].window_func);
-       }
-     }
- #ifdef FIXED_POINT
-     st->resampler_ptr = resampler_basic_direct_single;
- #else
-+#ifdef DOUBLE_PRECISION
-+    st->resampler_ptr = resampler_basic_direct_double;
-+#else
-     if (st->quality > 8)
-       st->resampler_ptr = resampler_basic_direct_double;
-     else
-       st->resampler_ptr = resampler_basic_direct_single;
- #endif
-+#endif
-     /*fprintf (stderr, "resampler uses direct sinc table and normalised cutoff %f\n", cutoff); */
-   } else {
-     spx_int32_t i;
-@@ -725,16 +761,24 @@
-     }
-     for (i = -4; i < (spx_int32_t) (st->oversample * st->filt_len + 4); i++)
-       st->sinc_table[i + 4] =
-+#ifdef DOUBLE_PRECISION
-+          sinc (st->cutoff, (i / (double) st->oversample - st->filt_len / 2),
-+#else
-           sinc (st->cutoff, (i / (float) st->oversample - st->filt_len / 2),
-+#endif
-           st->filt_len, quality_map[st->quality].window_func);
- #ifdef FIXED_POINT
-     st->resampler_ptr = resampler_basic_interpolate_single;
- #else
-+#ifdef DOUBLE_PRECISION
-+    st->resampler_ptr = resampler_basic_interpolate_double;
-+#else
-     if (st->quality > 8)
-       st->resampler_ptr = resampler_basic_interpolate_double;
-     else
-       st->resampler_ptr = resampler_basic_interpolate_single;
- #endif
-+#endif
-     /*fprintf (stderr, "resampler uses interpolated sinc table and normalised cutoff %f\n", cutoff); */
-   }
-   st->int_advance = st->num_rate / st->den_rate;
-@@ -964,11 +1008,18 @@
-     spx_uint32_t channel_index, const spx_int16_t * in, spx_uint32_t * in_len,
-     spx_int16_t * out, spx_uint32_t * out_len)
- #else
-+#ifdef DOUBLE_PRECISION
-+EXPORT int
-+speex_resampler_process_float (SpeexResamplerState * st,
-+    spx_uint32_t channel_index, const double *in, spx_uint32_t * in_len,
-+    double *out, spx_uint32_t * out_len)
-+#else
- EXPORT int
- speex_resampler_process_float (SpeexResamplerState * st,
-     spx_uint32_t channel_index, const float *in, spx_uint32_t * in_len,
-     float *out, spx_uint32_t * out_len)
- #endif
-+#endif
- {
-   int j;
-   spx_uint32_t ilen = *in_len;
-@@ -1086,9 +1137,16 @@
-   return RESAMPLER_ERR_SUCCESS;
- }
- 
-+#ifdef DOUBLE_PRECISION
-+EXPORT int
-+speex_resampler_process_interleaved_float (SpeexResamplerState * st,
-+    const double *in, spx_uint32_t * in_len, double *out,
-+    spx_uint32_t * out_len)
-+#else
- EXPORT int
- speex_resampler_process_interleaved_float (SpeexResamplerState * st,
-     const float *in, spx_uint32_t * in_len, float *out, spx_uint32_t * out_len)
-+#endif
- {
-   spx_uint32_t i;
-   int istride_save, ostride_save;
-diff -Naur old/speex_resampler.h new/speex_resampler.h
---- old/speex_resampler.h	2009-11-10 12:18:09.000000000 +0100
-+++ new/speex_resampler.h	2009-11-10 12:19:09.000000000 +0100
-@@ -77,10 +77,10 @@
- #define speex_resampler_reset_mem CAT_PREFIX(RANDOM_PREFIX,_resampler_reset_mem)
- #define speex_resampler_strerror CAT_PREFIX(RANDOM_PREFIX,_resampler_strerror)
- 
--#define spx_int16_t short
--#define spx_int32_t int
--#define spx_uint16_t unsigned short
--#define spx_uint32_t unsigned int
-+#define spx_int16_t gint16
-+#define spx_int32_t gint32
-+#define spx_uint16_t guint16
-+#define spx_uint32_t guint32
-       
- #else /* OUTSIDE_SPEEX */
- 
-@@ -166,12 +166,21 @@
-  * @param out Output buffer
-  * @param out_len Size of the output buffer. Returns the number of samples written
-  */
-+#ifdef DOUBLE_PRECISION
-+int speex_resampler_process_float(SpeexResamplerState *st, 
-+                                   spx_uint32_t channel_index, 
-+                                   const double *in, 
-+                                   spx_uint32_t *in_len, 
-+                                   double *out, 
-+                                   spx_uint32_t *out_len);
-+#else
- int speex_resampler_process_float(SpeexResamplerState *st, 
-                                    spx_uint32_t channel_index, 
-                                    const float *in, 
-                                    spx_uint32_t *in_len, 
-                                    float *out, 
-                                    spx_uint32_t *out_len);
-+#endif
- 
- /** Resample an int array. The input and output buffers must *not* overlap.
-  * @param st Resampler state
-@@ -199,11 +208,19 @@
-  * @param out_len Size of the output buffer. Returns the number of samples written.
-  * This is all per-channel.
-  */
-+#ifdef DOUBLE_PRECISION
-+int speex_resampler_process_interleaved_float(SpeexResamplerState *st, 
-+                                               const double *in, 
-+                                               spx_uint32_t *in_len, 
-+                                               double *out, 
-+                                               spx_uint32_t *out_len);
-+#else
- int speex_resampler_process_interleaved_float(SpeexResamplerState *st, 
-                                                const float *in, 
-                                                spx_uint32_t *in_len, 
-                                                float *out, 
-                                                spx_uint32_t *out_len);
-+#endif
- 
- /** Resample an interleaved int array. The input and output buffers must *not* overlap.
-  * @param st Resampler state
diff --git a/gst/audioresample/arch.h b/gst/audioresample/arch.h
deleted file mode 100644
index 4e77e6e..0000000
--- a/gst/audioresample/arch.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/* Copyright (C) 2003 Jean-Marc Valin */
-/**
-   @file arch.h
-   @brief Various architecture definitions Speex
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef ARCH_H
-#define ARCH_H
-
-#ifndef SPEEX_VERSION
-#define SPEEX_MAJOR_VERSION 1         /**< Major Speex version. */
-#define SPEEX_MINOR_VERSION 1         /**< Minor Speex version. */
-#define SPEEX_MICRO_VERSION 15        /**< Micro Speex version. */
-#define SPEEX_EXTRA_VERSION ""        /**< Extra Speex version. */
-#define SPEEX_VERSION "speex-1.2beta3"  /**< Speex version string. */
-#endif
-
-/* A couple test to catch stupid option combinations */
-#ifdef FIXED_POINT
-
-#ifdef FLOATING_POINT
-#error You cannot compile as floating point and fixed point at the same time
-#endif
-#ifdef _USE_SSE
-#error SSE is only for floating-point
-#endif
-#if ((defined (ARM4_ASM)||defined (ARM4_ASM)) && defined(BFIN_ASM)) || (defined (ARM4_ASM)&&defined(ARM5E_ASM))
-#error Make up your mind. What CPU do you have?
-#endif
-#ifdef VORBIS_PSYCHO
-#error Vorbis-psy model currently not implemented in fixed-point
-#endif
-
-#else
-
-#ifndef FLOATING_POINT
-#error You now need to define either FIXED_POINT or FLOATING_POINT
-#endif
-#if defined (ARM4_ASM) || defined(ARM5E_ASM) || defined(BFIN_ASM)
-#error I suppose you can have a [ARM4/ARM5E/Blackfin] that has float instructions?
-#endif
-#ifdef FIXED_POINT_DEBUG
-#error "Don't you think enabling fixed-point is a good thing to do if you want to debug that?"
-#endif
-
-
-#endif
-
-#ifndef OUTSIDE_SPEEX
-#include "../include/speex/speex_types.h"
-#endif
-
-#ifndef ABS
-#define ABS(x) ((x) < 0 ? (-(x)) : (x))      /**< Absolute integer value. */
-#endif
-
-#define ABS16(x) ((x) < 0 ? (-(x)) : (x))    /**< Absolute 16-bit value.  */
-#define MIN16(a,b) ((a) < (b) ? (a) : (b))   /**< Maximum 16-bit value.   */
-#define MAX16(a,b) ((a) > (b) ? (a) : (b))   /**< Maximum 16-bit value.   */
-#define ABS32(x) ((x) < 0 ? (-(x)) : (x))    /**< Absolute 32-bit value.  */
-#define MIN32(a,b) ((a) < (b) ? (a) : (b))   /**< Maximum 32-bit value.   */
-#define MAX32(a,b) ((a) > (b) ? (a) : (b))   /**< Maximum 32-bit value.   */
-
-#ifdef FIXED_POINT
-
-typedef spx_int16_t spx_word16_t;
-typedef spx_int32_t spx_word32_t;
-typedef spx_word32_t spx_mem_t;
-typedef spx_word16_t spx_coef_t;
-typedef spx_word16_t spx_lsp_t;
-typedef spx_word32_t spx_sig_t;
-
-#define Q15ONE 32767
-
-#define LPC_SCALING  8192
-#define SIG_SCALING  16384
-#define LSP_SCALING  8192.
-#define GAMMA_SCALING 32768.
-#define GAIN_SCALING 64
-#define GAIN_SCALING_1 0.015625
-
-#define LPC_SHIFT    13
-#define LSP_SHIFT    13
-#define SIG_SHIFT    14
-#define GAIN_SHIFT   6
-
-#define VERY_SMALL 0
-#define VERY_LARGE32 ((spx_word32_t)2147483647)
-#define VERY_LARGE16 ((spx_word16_t)32767)
-#define Q15_ONE ((spx_word16_t)32767)
-
-
-#ifdef FIXED_DEBUG
-#include "fixed_debug.h"
-#else
-
-#include "fixed_generic.h"
-
-#ifdef ARM5E_ASM
-#include "fixed_arm5e.h"
-#elif defined (ARM4_ASM)
-#include "fixed_arm4.h"
-#elif defined (BFIN_ASM)
-#include "fixed_bfin.h"
-#endif
-
-#endif
-
-
-#else
-
-#ifdef DOUBLE_PRECISION
-typedef double spx_mem_t;
-typedef double spx_coef_t;
-typedef double spx_lsp_t;
-typedef double spx_sig_t;
-typedef double spx_word16_t;
-typedef double spx_word32_t;
-
-#define Q15ONE 1.0
-#define LPC_SCALING  1.
-#define SIG_SCALING  1.
-#define LSP_SCALING  1.
-#define GAMMA_SCALING 1.
-#define GAIN_SCALING 1.
-#define GAIN_SCALING_1 1.
-
-
-#define VERY_SMALL 1e-20
-#define VERY_LARGE32 1e20
-#define VERY_LARGE16 1e20
-#define Q15_ONE ((spx_word16_t)1.)
-#else /* !DOUBLE_PRECISION */
-typedef float spx_mem_t;
-typedef float spx_coef_t;
-typedef float spx_lsp_t;
-typedef float spx_sig_t;
-typedef float spx_word16_t;
-typedef float spx_word32_t;
-
-#define Q15ONE 1.0f
-#define LPC_SCALING  1.f
-#define SIG_SCALING  1.f
-#define LSP_SCALING  1.f
-#define GAMMA_SCALING 1.f
-#define GAIN_SCALING 1.f
-#define GAIN_SCALING_1 1.f
-
-
-#define VERY_SMALL 1e-15f
-#define VERY_LARGE32 1e15f
-#define VERY_LARGE16 1e15f
-#define Q15_ONE ((spx_word16_t)1.f)
-#endif /* DOUBLE_PRECISION */
-
-#define QCONST16(x,bits) (x)
-#define QCONST32(x,bits) (x)
-
-#define NEG16(x) (-(x))
-#define NEG32(x) (-(x))
-#define EXTRACT16(x) (x)
-#define EXTEND32(x) (x)
-#define SHR16(a,shift) (a)
-#define SHL16(a,shift) (a)
-#define SHR32(a,shift) (a)
-#define SHL32(a,shift) (a)
-#define PSHR16(a,shift) (a)
-#define PSHR32(a,shift) (a)
-#define VSHR32(a,shift) (a)
-#define SATURATE16(x,a) (x)
-#define SATURATE32(x,a) (x)
-#define SATURATE32PSHR(x,shift,a) (x)
-
-#define PSHR(a,shift)       (a)
-#define SHR(a,shift)       (a)
-#define SHL(a,shift)       (a)
-#define SATURATE(x,a) (x)
-
-#define ADD16(a,b) ((a)+(b))
-#define SUB16(a,b) ((a)-(b))
-#define ADD32(a,b) ((a)+(b))
-#define SUB32(a,b) ((a)-(b))
-#define MULT16_16_16(a,b)     ((a)*(b))
-#define MULT16_16(a,b)     ((spx_word32_t)(a)*(spx_word32_t)(b))
-#define MAC16_16(c,a,b)     ((c)+(spx_word32_t)(a)*(spx_word32_t)(b))
-
-#define MULT16_32_Q11(a,b)     ((a)*(b))
-#define MULT16_32_Q13(a,b)     ((a)*(b))
-#define MULT16_32_Q14(a,b)     ((a)*(b))
-#define MULT16_32_Q15(a,b)     ((a)*(b))
-#define MULT16_32_P15(a,b)     ((a)*(b))
-
-#define MAC16_32_Q11(c,a,b)     ((c)+(a)*(b))
-#define MAC16_32_Q15(c,a,b)     ((c)+(a)*(b))
-
-#define MAC16_16_Q11(c,a,b)     ((c)+(a)*(b))
-#define MAC16_16_Q13(c,a,b)     ((c)+(a)*(b))
-#define MAC16_16_P13(c,a,b)     ((c)+(a)*(b))
-#define MULT16_16_Q11_32(a,b)     ((a)*(b))
-#define MULT16_16_Q13(a,b)     ((a)*(b))
-#define MULT16_16_Q14(a,b)     ((a)*(b))
-#define MULT16_16_Q15(a,b)     ((a)*(b))
-#define MULT16_16_P15(a,b)     ((a)*(b))
-#define MULT16_16_P13(a,b)     ((a)*(b))
-#define MULT16_16_P14(a,b)     ((a)*(b))
-
-#define DIV32_16(a,b)     (((spx_word32_t)(a))/(spx_word16_t)(b))
-#define PDIV32_16(a,b)     (((spx_word32_t)(a))/(spx_word16_t)(b))
-#define DIV32(a,b)     (((spx_word32_t)(a))/(spx_word32_t)(b))
-#define PDIV32(a,b)     (((spx_word32_t)(a))/(spx_word32_t)(b))
-
-
-#endif
-
-
-#if defined (CONFIG_TI_C54X) || defined (CONFIG_TI_C55X)
-
-/* 2 on TI C5x DSP */
-#define BYTES_PER_CHAR 2 
-#define BITS_PER_CHAR 16
-#define LOG2_BITS_PER_CHAR 4
-
-#else 
-
-#define BYTES_PER_CHAR 1
-#define BITS_PER_CHAR 8
-#define LOG2_BITS_PER_CHAR 3
-
-#endif
-
-
-
-#ifdef FIXED_DEBUG
-extern long long spx_mips;
-#endif
-
-
-#endif
diff --git a/gst/audioresample/fixed_arm4.h b/gst/audioresample/fixed_arm4.h
deleted file mode 100644
index b6981ca..0000000
--- a/gst/audioresample/fixed_arm4.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Copyright (C) 2004 Jean-Marc Valin */
-/**
-   @file fixed_arm4.h
-   @brief ARM4 fixed-point operations
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef FIXED_ARM4_H
-#define FIXED_ARM4_H
-
-#undef MULT16_32_Q14
-static inline spx_word32_t MULT16_32_Q14(spx_word16_t x, spx_word32_t y) {
-  int res;
-  int dummy;
-  asm (
-        "smull  %0,%1,%2,%3 \n\t"
-        "mov %0, %0, lsr #14 \n\t"
-        "add %0, %0, %1, lsl #18 \n\t"
-   : "=&r"(res), "=&r" (dummy)
-   : "r"(y),"r"((int)x));
-  return(res);
-}
-
-#undef MULT16_32_Q15
-static inline spx_word32_t MULT16_32_Q15(spx_word16_t x, spx_word32_t y) {
-  int res;
-  int dummy;
-  asm (
-        "smull  %0,%1,%2,%3 \n\t"
-        "mov %0, %0, lsr #15 \n\t"
-        "add %0, %0, %1, lsl #17 \n\t"
-   : "=&r"(res), "=&r" (dummy)
-   : "r"(y),"r"((int)x));
-  return(res);
-}
-
-#undef DIV32_16
-static inline short DIV32_16(int a, int b)
-{
-   int res=0;
-   int dead1, dead2, dead3, dead4, dead5;
-   __asm__ __volatile__ (
-         "\teor %5, %0, %1\n"
-         "\tmovs %4, %0\n"
-         "\trsbmi %0, %0, #0 \n"
-         "\tmovs %4, %1\n"
-         "\trsbmi %1, %1, #0 \n"
-         "\tmov %4, #1\n"
-
-         "\tsubs %3, %0, %1, asl #14 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #14 \n"
-
-         "\tsubs %3, %0, %1, asl #13 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #13 \n"
-
-         "\tsubs %3, %0, %1, asl #12 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #12 \n"
-
-         "\tsubs %3, %0, %1, asl #11 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #11 \n"
-
-         "\tsubs %3, %0, %1, asl #10 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #10 \n"
-
-         "\tsubs %3, %0, %1, asl #9 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #9 \n"
-
-         "\tsubs %3, %0, %1, asl #8 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #8 \n"
-
-         "\tsubs %3, %0, %1, asl #7 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #7 \n"
-
-         "\tsubs %3, %0, %1, asl #6 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #6 \n"
-         
-         "\tsubs %3, %0, %1, asl #5 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #5 \n"
-
-         "\tsubs %3, %0, %1, asl #4 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #4 \n"
-
-         "\tsubs %3, %0, %1, asl #3 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #3 \n"
-
-         "\tsubs %3, %0, %1, asl #2 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #2 \n"
-
-         "\tsubs %3, %0, %1, asl #1 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4, asl #1 \n"
-
-         "\tsubs %3, %0, %1 \n"
-         "\tmovpl %0, %3 \n"
-         "\torrpl %2, %2, %4 \n"
-
-         "\tmovs %5, %5, lsr #31 \n"
-         "\trsbne %2, %2, #0 \n"
-   : "=r" (dead1), "=r" (dead2), "=r" (res),
-   "=r" (dead3), "=r" (dead4), "=r" (dead5)
-   : "0" (a), "1" (b), "2" (res)
-   : "cc"
-                        );
-   return res;
-}
-
-
-#endif
diff --git a/gst/audioresample/fixed_arm5e.h b/gst/audioresample/fixed_arm5e.h
deleted file mode 100644
index 9b4861c..0000000
--- a/gst/audioresample/fixed_arm5e.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Copyright (C) 2003 Jean-Marc Valin */
-/**
-   @file fixed_arm5e.h
-   @brief ARM-tuned fixed-point operations
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef FIXED_ARM5E_H
-#define FIXED_ARM5E_H
-
-#undef MULT16_16
-static inline spx_word32_t MULT16_16(spx_word16_t x, spx_word16_t y) {
-  int res;
-  asm ("smulbb  %0,%1,%2;\n"
-              : "=&r"(res)
-              : "%r"(x),"r"(y));
-  return(res);
-}
-
-#undef MAC16_16
-static inline spx_word32_t MAC16_16(spx_word32_t a, spx_word16_t x, spx_word32_t y) {
-  int res;
-  asm ("smlabb  %0,%1,%2,%3;\n"
-              : "=&r"(res)
-               : "%r"(x),"r"(y),"r"(a));
-  return(res);
-}
-
-#undef MULT16_32_Q15
-static inline spx_word32_t MULT16_32_Q15(spx_word16_t x, spx_word32_t y) {
-  int res;
-  asm ("smulwb  %0,%1,%2;\n"
-              : "=&r"(res)
-               : "%r"(y<<1),"r"(x));
-  return(res);
-}
-
-#undef MAC16_32_Q15
-static inline spx_word32_t MAC16_32_Q15(spx_word32_t a, spx_word16_t x, spx_word32_t y) {
-  int res;
-  asm ("smlawb  %0,%1,%2,%3;\n"
-              : "=&r"(res)
-               : "%r"(y<<1),"r"(x),"r"(a));
-  return(res);
-}
-
-#undef MULT16_32_Q11
-static inline spx_word32_t MULT16_32_Q11(spx_word16_t x, spx_word32_t y) {
-  int res;
-  asm ("smulwb  %0,%1,%2;\n"
-              : "=&r"(res)
-               : "%r"(y<<5),"r"(x));
-  return(res);
-}
-
-#undef MAC16_32_Q11
-static inline spx_word32_t MAC16_32_Q11(spx_word32_t a, spx_word16_t x, spx_word32_t y) {
-  int res;
-  asm ("smlawb  %0,%1,%2,%3;\n"
-              : "=&r"(res)
-               : "%r"(y<<5),"r"(x),"r"(a));
-  return(res);
-}
-
-#undef DIV32_16
-static inline short DIV32_16(int a, int b)
-{
-   int res=0;
-   int dead1, dead2, dead3, dead4, dead5;
-   __asm__ __volatile__ (
-         "\teor %5, %0, %1\n"
-         "\tmovs %4, %0\n"
-         "\trsbmi %0, %0, #0 \n"
-         "\tmovs %4, %1\n"
-         "\trsbmi %1, %1, #0 \n"
-         "\tmov %4, #1\n"
-
-         "\tsubs %3, %0, %1, asl #14 \n"
-         "\torrpl %2, %2, %4, asl #14 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #13 \n"
-         "\torrpl %2, %2, %4, asl #13 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #12 \n"
-         "\torrpl %2, %2, %4, asl #12 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #11 \n"
-         "\torrpl %2, %2, %4, asl #11 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #10 \n"
-         "\torrpl %2, %2, %4, asl #10 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #9 \n"
-         "\torrpl %2, %2, %4, asl #9 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #8 \n"
-         "\torrpl %2, %2, %4, asl #8 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #7 \n"
-         "\torrpl %2, %2, %4, asl #7 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #6 \n"
-         "\torrpl %2, %2, %4, asl #6 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #5 \n"
-         "\torrpl %2, %2, %4, asl #5 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #4 \n"
-         "\torrpl %2, %2, %4, asl #4 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #3 \n"
-         "\torrpl %2, %2, %4, asl #3 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #2 \n"
-         "\torrpl %2, %2, %4, asl #2 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1, asl #1 \n"
-         "\torrpl %2, %2, %4, asl #1 \n"
-         "\tmovpl %0, %3 \n"
-
-         "\tsubs %3, %0, %1 \n"
-         "\torrpl %2, %2, %4 \n"
-         "\tmovpl %0, %3 \n"
-         
-         "\tmovs %5, %5, lsr #31 \n"
-         "\trsbne %2, %2, #0 \n"
-   : "=r" (dead1), "=r" (dead2), "=r" (res),
-   "=r" (dead3), "=r" (dead4), "=r" (dead5)
-   : "0" (a), "1" (b), "2" (res)
-   : "memory", "cc"
-                        );
-   return res;
-}
-
-
-
-
-#endif
diff --git a/gst/audioresample/fixed_bfin.h b/gst/audioresample/fixed_bfin.h
deleted file mode 100644
index 9eb21e3..0000000
--- a/gst/audioresample/fixed_bfin.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright (C) 2005 Analog Devices
-   Author: Jean-Marc Valin */
-/**
-   @file fixed_bfin.h
-   @brief Blackfin fixed-point operations
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef FIXED_BFIN_H
-#define FIXED_BFIN_H
-
-#include "bfin.h"
-
-#undef PDIV32_16
-static inline spx_word16_t PDIV32_16(spx_word32_t a, spx_word16_t b)
-{
-   spx_word32_t res, bb;
-   bb = b;
-   a += b>>1;
-   __asm__  (
-         "P0 = 15;\n\t"
-         "R0 = %1;\n\t"
-         "R1 = %2;\n\t"
-         //"R0 = R0 + R1;\n\t"
-         "R0 <<= 1;\n\t"
-         "DIVS (R0, R1);\n\t"
-         "LOOP divide%= LC0 = P0;\n\t"
-         "LOOP_BEGIN divide%=;\n\t"
-            "DIVQ (R0, R1);\n\t"
-         "LOOP_END divide%=;\n\t"
-         "R0 = R0.L;\n\t"
-         "%0 = R0;\n\t"
-   : "=m" (res)
-   : "m" (a), "m" (bb)
-   : "P0", "R0", "R1", "ASTAT" BFIN_HWLOOP0_REGS);
-   return res;
-}
-
-#undef DIV32_16
-static inline spx_word16_t DIV32_16(spx_word32_t a, spx_word16_t b)
-{
-   spx_word32_t res, bb;
-   bb = b;
-   /* Make the roundinf consistent with the C version 
-      (do we need to do that?)*/
-   if (a<0) 
-      a += (b-1);
-   __asm__  (
-         "P0 = 15;\n\t"
-         "R0 = %1;\n\t"
-         "R1 = %2;\n\t"
-         "R0 <<= 1;\n\t"
-         "DIVS (R0, R1);\n\t"
-         "LOOP divide%= LC0 = P0;\n\t"
-         "LOOP_BEGIN divide%=;\n\t"
-            "DIVQ (R0, R1);\n\t"
-         "LOOP_END divide%=;\n\t"
-         "R0 = R0.L;\n\t"
-         "%0 = R0;\n\t"
-   : "=m" (res)
-   : "m" (a), "m" (bb)
-   : "P0", "R0", "R1", "ASTAT" BFIN_HWLOOP0_REGS);
-   return res;
-}
-
-#undef MAX16
-static inline spx_word16_t MAX16(spx_word16_t a, spx_word16_t b)
-{
-   spx_word32_t res;
-   __asm__  (
-         "%1 = %1.L (X);\n\t"
-         "%2 = %2.L (X);\n\t"
-         "%0 = MAX(%1,%2);"
-   : "=d" (res)
-   : "%d" (a), "d" (b)
-   : "ASTAT"
-   );
-   return res;
-}
-
-#undef MULT16_32_Q15
-static inline spx_word32_t MULT16_32_Q15(spx_word16_t a, spx_word32_t b)
-{
-   spx_word32_t res;
-   __asm__
-   (
-         "A1 = %2.L*%1.L (M);\n\t"
-         "A1 = A1 >>> 15;\n\t"
-         "%0 = (A1 += %2.L*%1.H) ;\n\t"
-   : "=&W" (res), "=&d" (b)
-   : "d" (a), "1" (b)
-   : "A1", "ASTAT"
-   );
-   return res;
-}
-
-#undef MAC16_32_Q15
-static inline spx_word32_t MAC16_32_Q15(spx_word32_t c, spx_word16_t a, spx_word32_t b)
-{
-   spx_word32_t res;
-   __asm__
-         (
-         "A1 = %2.L*%1.L (M);\n\t"
-         "A1 = A1 >>> 15;\n\t"
-         "%0 = (A1 += %2.L*%1.H);\n\t"
-         "%0 = %0 + %4;\n\t"
-   : "=&W" (res), "=&d" (b)
-   : "d" (a), "1" (b), "d" (c)
-   : "A1", "ASTAT"
-         );
-   return res;
-}
-
-#undef MULT16_32_Q14
-static inline spx_word32_t MULT16_32_Q14(spx_word16_t a, spx_word32_t b)
-{
-   spx_word32_t res;
-   __asm__
-         (
-         "%2 <<= 1;\n\t"
-         "A1 = %1.L*%2.L (M);\n\t"
-         "A1 = A1 >>> 15;\n\t"
-         "%0 = (A1 += %1.L*%2.H);\n\t"
-   : "=W" (res), "=d" (a), "=d" (b)
-   : "1" (a), "2" (b)
-   : "A1", "ASTAT"
-         );
-   return res;
-}
-
-#undef MAC16_32_Q14
-static inline spx_word32_t MAC16_32_Q14(spx_word32_t c, spx_word16_t a, spx_word32_t b)
-{
-   spx_word32_t res;
-   __asm__
-         (
-         "%1 <<= 1;\n\t"
-         "A1 = %2.L*%1.L (M);\n\t"
-         "A1 = A1 >>> 15;\n\t"
-         "%0 = (A1 += %2.L*%1.H);\n\t"
-         "%0 = %0 + %4;\n\t"
-   : "=&W" (res), "=&d" (b)
-   : "d" (a), "1" (b), "d" (c)
-   : "A1", "ASTAT"
-         );
-   return res;
-}
-
-#endif
diff --git a/gst/audioresample/fixed_debug.h b/gst/audioresample/fixed_debug.h
deleted file mode 100644
index 54f3866..0000000
--- a/gst/audioresample/fixed_debug.h
+++ /dev/null
@@ -1,487 +0,0 @@
-/* Copyright (C) 2003 Jean-Marc Valin */
-/**
-   @file fixed_debug.h
-   @brief Fixed-point operations with debugging
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef FIXED_DEBUG_H
-#define FIXED_DEBUG_H
-
-#include <stdio.h>
-
-extern long long spx_mips;
-#define MIPS_INC spx_mips++,
-
-#define QCONST16(x,bits) ((spx_word16_t)(.5+(x)*(((spx_word32_t)1)<<(bits))))
-#define QCONST32(x,bits) ((spx_word32_t)(.5+(x)*(((spx_word32_t)1)<<(bits))))
-
-
-#define VERIFY_SHORT(x) ((x)<=32767&&(x)>=-32768)
-#define VERIFY_INT(x) ((x)<=2147483647LL&&(x)>=-2147483648LL)
-
-static inline short NEG16(int x)
-{
-   int res;
-   if (!VERIFY_SHORT(x))
-   {
-      fprintf (stderr, "NEG16: input is not short: %d\n", (int)x);
-   }
-   res = -x;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "NEG16: output is not short: %d\n", (int)res);
-   spx_mips++;
-   return res;
-}
-static inline int NEG32(long long x)
-{
-   long long res;
-   if (!VERIFY_INT(x))
-   {
-      fprintf (stderr, "NEG16: input is not int: %d\n", (int)x);
-   }
-   res = -x;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "NEG16: output is not int: %d\n", (int)res);
-   spx_mips++;
-   return res;
-}
-
-#define EXTRACT16(x) _EXTRACT16(x, __FILE__, __LINE__)
-static inline short _EXTRACT16(int x, char *file, int line)
-{
-   int res;
-   if (!VERIFY_SHORT(x))
-   {
-      fprintf (stderr, "EXTRACT16: input is not short: %d in %s: line %d\n", x, file, line);
-   }
-   res = x;
-   spx_mips++;
-   return res;
-}
-
-#define EXTEND32(x) _EXTEND32(x, __FILE__, __LINE__)
-static inline int _EXTEND32(int x, char *file, int line)
-{
-   int res;
-   if (!VERIFY_SHORT(x))
-   {
-      fprintf (stderr, "EXTEND32: input is not short: %d in %s: line %d\n", x, file, line);
-   }
-   res = x;
-   spx_mips++;
-   return res;
-}
-
-#define SHR16(a, shift) _SHR16(a, shift, __FILE__, __LINE__)
-static inline short _SHR16(int a, int shift, char *file, int line) 
-{
-   int res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(shift))
-   {
-      fprintf (stderr, "SHR16: inputs are not short: %d >> %d in %s: line %d\n", a, shift, file, line);
-   }
-   res = a>>shift;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "SHR16: output is not short: %d in %s: line %d\n", res, file, line);
-   spx_mips++;
-   return res;
-}
-#define SHL16(a, shift) _SHL16(a, shift, __FILE__, __LINE__)
-static inline short _SHL16(int a, int shift, char *file, int line) 
-{
-   int res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(shift))
-   {
-      fprintf (stderr, "SHL16: inputs are not short: %d %d in %s: line %d\n", a, shift, file, line);
-   }
-   res = a<<shift;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "SHL16: output is not short: %d in %s: line %d\n", res, file, line);
-   spx_mips++;
-   return res;
-}
-
-static inline int SHR32(long long a, int shift) 
-{
-   long long  res;
-   if (!VERIFY_INT(a) || !VERIFY_SHORT(shift))
-   {
-      fprintf (stderr, "SHR32: inputs are not int: %d %d\n", (int)a, shift);
-   }
-   res = a>>shift;
-   if (!VERIFY_INT(res))
-   {
-      fprintf (stderr, "SHR32: output is not int: %d\n", (int)res);
-   }
-   spx_mips++;
-   return res;
-}
-static inline int SHL32(long long a, int shift) 
-{
-   long long  res;
-   if (!VERIFY_INT(a) || !VERIFY_SHORT(shift))
-   {
-      fprintf (stderr, "SHL32: inputs are not int: %d %d\n", (int)a, shift);
-   }
-   res = a<<shift;
-   if (!VERIFY_INT(res))
-   {
-      fprintf (stderr, "SHL32: output is not int: %d\n", (int)res);
-   }
-   spx_mips++;
-   return res;
-}
-
-#define PSHR16(a,shift) (SHR16(ADD16((a),((1<<((shift))>>1))),shift))
-#define PSHR32(a,shift) (SHR32(ADD32((a),((EXTEND32(1)<<((shift))>>1))),shift))
-#define VSHR32(a, shift) (((shift)>0) ? SHR32(a, shift) : SHL32(a, -(shift)))
-
-#define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-#define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-
-//#define SHR(a,shift) ((a) >> (shift))
-//#define SHL(a,shift) ((a) << (shift))
-
-#define ADD16(a, b) _ADD16(a, b, __FILE__, __LINE__)
-static inline short _ADD16(int a, int b, char *file, int line) 
-{
-   int res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "ADD16: inputs are not short: %d %d in %s: line %d\n", a, b, file, line);
-   }
-   res = a+b;
-   if (!VERIFY_SHORT(res))
-   {
-      fprintf (stderr, "ADD16: output is not short: %d+%d=%d in %s: line %d\n", a,b,res, file, line);
-   }
-   spx_mips++;
-   return res;
-}
-
-#define SUB16(a, b) _SUB16(a, b, __FILE__, __LINE__)
-static inline short _SUB16(int a, int b, char *file, int line) 
-{
-   int res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "SUB16: inputs are not short: %d %d in %s: line %d\n", a, b, file, line);
-   }
-   res = a-b;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "SUB16: output is not short: %d in %s: line %d\n", res, file, line);
-   spx_mips++;
-   return res;
-}
-
-#define ADD32(a, b) _ADD32(a, b, __FILE__, __LINE__)
-static inline int _ADD32(long long a, long long b, char *file, int line) 
-{
-   long long res;
-   if (!VERIFY_INT(a) || !VERIFY_INT(b))
-   {
-      fprintf (stderr, "ADD32: inputs are not int: %d %d in %s: line %d\n", (int)a, (int)b, file, line);
-   }
-   res = a+b;
-   if (!VERIFY_INT(res))
-   {
-      fprintf (stderr, "ADD32: output is not int: %d in %s: line %d\n", (int)res, file, line);
-   }
-   spx_mips++;
-   return res;
-}
-
-static inline int SUB32(long long a, long long b) 
-{
-   long long res;
-   if (!VERIFY_INT(a) || !VERIFY_INT(b))
-   {
-      fprintf (stderr, "SUB32: inputs are not int: %d %d\n", (int)a, (int)b);
-   }
-   res = a-b;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "SUB32: output is not int: %d\n", (int)res);
-   spx_mips++;
-   return res;
-}
-
-#define ADD64(a,b) (MIPS_INC(a)+(b))
-
-/* result fits in 16 bits */
-static inline short MULT16_16_16(int a, int b) 
-{
-   int res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_16: inputs are not short: %d %d\n", a, b);
-   }
-   res = a*b;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "MULT16_16_16: output is not short: %d\n", res);
-   spx_mips++;
-   return res;
-}
-
-#define MULT16_16(a, b) _MULT16_16(a, b, __FILE__, __LINE__)
-static inline int _MULT16_16(int a, int b, char *file, int line) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16: inputs are not short: %d %d in %s: line %d\n", a, b, file, line);
-   }
-   res = ((long long)a)*b;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "MULT16_16: output is not int: %d in %s: line %d\n", (int)res, file, line);
-   spx_mips++;
-   return res;
-}
-
-#define MAC16_16(c,a,b)     (spx_mips--,ADD32((c),MULT16_16((a),(b))))
-#define MAC16_16_Q11(c,a,b)     (EXTRACT16(ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),11)))))
-#define MAC16_16_Q13(c,a,b)     (EXTRACT16(ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),13)))))
-#define MAC16_16_P13(c,a,b)     (EXTRACT16(ADD32((c),SHR32(ADD32(4096,MULT16_16((a),(b))),13))))
-
-
-#define MULT16_32_QX(a, b, Q) _MULT16_32_QX(a, b, Q, __FILE__, __LINE__)
-static inline int _MULT16_32_QX(int a, long long b, int Q, char *file, int line)
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_INT(b))
-   {
-      fprintf (stderr, "MULT16_32_Q%d: inputs are not short+int: %d %d in %s: line %d\n", Q, (int)a, (int)b, file, line);
-   }
-   if (ABS32(b)>=(EXTEND32(1)<<(15+Q)))
-      fprintf (stderr, "MULT16_32_Q%d: second operand too large: %d %d in %s: line %d\n", Q, (int)a, (int)b, file, line);      
-   res = (((long long)a)*(long long)b) >> Q;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "MULT16_32_Q%d: output is not int: %d*%d=%d in %s: line %d\n", Q, (int)a, (int)b,(int)res, file, line);
-   spx_mips+=5;
-   return res;
-}
-
-static inline int MULT16_32_PX(int a, long long b, int Q)
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_INT(b))
-   {
-      fprintf (stderr, "MULT16_32_P%d: inputs are not short+int: %d %d\n", Q, (int)a, (int)b);
-   }
-   if (ABS32(b)>=(EXTEND32(1)<<(15+Q)))
-      fprintf (stderr, "MULT16_32_Q%d: second operand too large: %d %d\n", Q, (int)a, (int)b);      
-   res = ((((long long)a)*(long long)b) + ((EXTEND32(1)<<Q)>>1))>> Q;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "MULT16_32_P%d: output is not int: %d*%d=%d\n", Q, (int)a, (int)b,(int)res);
-   spx_mips+=5;
-   return res;
-}
-
-
-#define MULT16_32_Q11(a,b) MULT16_32_QX(a,b,11)
-#define MAC16_32_Q11(c,a,b) ADD32((c),MULT16_32_Q11((a),(b)))
-#define MULT16_32_Q12(a,b) MULT16_32_QX(a,b,12)
-#define MULT16_32_Q13(a,b) MULT16_32_QX(a,b,13)
-#define MULT16_32_Q14(a,b) MULT16_32_QX(a,b,14)
-#define MULT16_32_Q15(a,b) MULT16_32_QX(a,b,15)
-#define MULT16_32_P15(a,b) MULT16_32_PX(a,b,15)
-#define MAC16_32_Q15(c,a,b) ADD32((c),MULT16_32_Q15((a),(b)))
-
-static inline int SATURATE(int a, int b)
-{
-   if (a>b)
-      a=b;
-   if (a<-b)
-      a = -b;
-   return a;
-}
-
-static inline int MULT16_16_Q11_32(int a, int b) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_Q11: inputs are not short: %d %d\n", a, b);
-   }
-   res = ((long long)a)*b;
-   res >>= 11;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "MULT16_16_Q11: output is not short: %d*%d=%d\n", (int)a, (int)b, (int)res);
-   spx_mips+=3;
-   return res;
-}
-static inline short MULT16_16_Q13(int a, int b) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_Q13: inputs are not short: %d %d\n", a, b);
-   }
-   res = ((long long)a)*b;
-   res >>= 13;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "MULT16_16_Q13: output is not short: %d*%d=%d\n", a, b, (int)res);
-   spx_mips+=3;
-   return res;
-}
-static inline short MULT16_16_Q14(int a, int b) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_Q14: inputs are not short: %d %d\n", a, b);
-   }
-   res = ((long long)a)*b;
-   res >>= 14;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "MULT16_16_Q14: output is not short: %d\n", (int)res);
-   spx_mips+=3;
-   return res;
-}
-static inline short MULT16_16_Q15(int a, int b) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_Q15: inputs are not short: %d %d\n", a, b);
-   }
-   res = ((long long)a)*b;
-   res >>= 15;
-   if (!VERIFY_SHORT(res))
-   {
-      fprintf (stderr, "MULT16_16_Q15: output is not short: %d\n", (int)res);
-   }
-   spx_mips+=3;
-   return res;
-}
-
-static inline short MULT16_16_P13(int a, int b) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_P13: inputs are not short: %d %d\n", a, b);
-   }
-   res = ((long long)a)*b;
-   res += 4096;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "MULT16_16_P13: overflow: %d*%d=%d\n", a, b, (int)res);
-   res >>= 13;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "MULT16_16_P13: output is not short: %d*%d=%d\n", a, b, (int)res);
-   spx_mips+=4;
-   return res;
-}
-static inline short MULT16_16_P14(int a, int b) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_P14: inputs are not short: %d %d\n", a, b);
-   }
-   res = ((long long)a)*b;
-   res += 8192;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "MULT16_16_P14: overflow: %d*%d=%d\n", a, b, (int)res);
-   res >>= 14;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "MULT16_16_P14: output is not short: %d*%d=%d\n", a, b, (int)res);
-   spx_mips+=4;
-   return res;
-}
-static inline short MULT16_16_P15(int a, int b) 
-{
-   long long res;
-   if (!VERIFY_SHORT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "MULT16_16_P15: inputs are not short: %d %d\n", a, b);
-   }
-   res = ((long long)a)*b;
-   res += 16384;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "MULT16_16_P15: overflow: %d*%d=%d\n", a, b, (int)res);
-   res >>= 15;
-   if (!VERIFY_SHORT(res))
-      fprintf (stderr, "MULT16_16_P15: output is not short: %d*%d=%d\n", a, b, (int)res);
-   spx_mips+=4;
-   return res;
-}
-
-#define DIV32_16(a, b) _DIV32_16(a, b, __FILE__, __LINE__)
-
-static inline int _DIV32_16(long long a, long long b, char *file, int line) 
-{
-   long long res;
-   if (b==0)
-   {
-      fprintf(stderr, "DIV32_16: divide by zero: %d/%d in %s: line %d\n", (int)a, (int)b, file, line);
-      return 0;
-   }
-   if (!VERIFY_INT(a) || !VERIFY_SHORT(b))
-   {
-      fprintf (stderr, "DIV32_16: inputs are not int/short: %d %d in %s: line %d\n", (int)a, (int)b, file, line);
-   }
-   res = a/b;
-   if (!VERIFY_SHORT(res))
-   {
-      fprintf (stderr, "DIV32_16: output is not short: %d / %d = %d in %s: line %d\n", (int)a,(int)b,(int)res, file, line);
-      if (res>32767)
-         res = 32767;
-      if (res<-32768)
-         res = -32768;
-   }
-   spx_mips+=20;
-   return res;
-}
-
-#define DIV32(a, b) _DIV32(a, b, __FILE__, __LINE__)
-static inline int _DIV32(long long a, long long b, char *file, int line) 
-{
-   long long res;
-   if (b==0)
-   {
-      fprintf(stderr, "DIV32: divide by zero: %d/%d in %s: line %d\n", (int)a, (int)b, file, line);
-      return 0;
-   }
-
-   if (!VERIFY_INT(a) || !VERIFY_INT(b))
-   {
-      fprintf (stderr, "DIV32: inputs are not int/short: %d %d in %s: line %d\n", (int)a, (int)b, file, line);
-   }
-   res = a/b;
-   if (!VERIFY_INT(res))
-      fprintf (stderr, "DIV32: output is not int: %d in %s: line %d\n", (int)res, file, line);
-   spx_mips+=36;
-   return res;
-}
-#define PDIV32(a,b) DIV32(ADD32((a),(b)>>1),b)
-#define PDIV32_16(a,b) DIV32_16(ADD32((a),(b)>>1),b)
-
-#endif
diff --git a/gst/audioresample/fixed_generic.h b/gst/audioresample/fixed_generic.h
deleted file mode 100644
index 6991352..0000000
--- a/gst/audioresample/fixed_generic.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (C) 2003 Jean-Marc Valin */
-/**
-   @file fixed_generic.h
-   @brief Generic fixed-point operations
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef FIXED_GENERIC_H
-#define FIXED_GENERIC_H
-
-#define QCONST16(x,bits) ((spx_word16_t)(.5+(x)*(((spx_word32_t)1)<<(bits))))
-#define QCONST32(x,bits) ((spx_word32_t)(.5+(x)*(((spx_word32_t)1)<<(bits))))
-
-#define NEG16(x) (-(x))
-#define NEG32(x) (-(x))
-#define EXTRACT16(x) ((spx_word16_t)(x))
-#define EXTEND32(x) ((spx_word32_t)(x))
-#define SHR16(a,shift) ((a) >> (shift))
-#define SHL16(a,shift) ((a) << (shift))
-#define SHR32(a,shift) ((a) >> (shift))
-#define SHL32(a,shift) ((a) << (shift))
-#define PSHR16(a,shift) (SHR16((a)+((1<<((shift))>>1)),shift))
-#define PSHR32(a,shift) (SHR32((a)+((EXTEND32(1)<<((shift))>>1)),shift))
-#define VSHR32(a, shift) (((shift)>0) ? SHR32(a, shift) : SHL32(a, -(shift)))
-#define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-#define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
- 
-#define SATURATE32PSHR(x,shift,a) (((x)>=(SHL32(a,shift))) ? (a) : \
-                                   (x)<=-(SHL32(a,shift)) ? -(a) : \
-                                   (PSHR32(x, shift)))
-
-#define SHR(a,shift) ((a) >> (shift))
-#define SHL(a,shift) ((spx_word32_t)(a) << (shift))
-#define PSHR(a,shift) (SHR((a)+((EXTEND32(1)<<((shift))>>1)),shift))
-#define SATURATE(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-
-
-#define ADD16(a,b) ((spx_word16_t)((spx_word16_t)(a)+(spx_word16_t)(b)))
-#define SUB16(a,b) ((spx_word16_t)(a)-(spx_word16_t)(b))
-#define ADD32(a,b) ((spx_word32_t)(a)+(spx_word32_t)(b))
-#define SUB32(a,b) ((spx_word32_t)(a)-(spx_word32_t)(b))
-
-
-/* result fits in 16 bits */
-#define MULT16_16_16(a,b)     ((((spx_word16_t)(a))*((spx_word16_t)(b))))
-
-/* (spx_word32_t)(spx_word16_t) gives TI compiler a hint that it's 16x16->32 multiply */
-#define MULT16_16(a,b)     (((spx_word32_t)(spx_word16_t)(a))*((spx_word32_t)(spx_word16_t)(b)))
-
-#define MAC16_16(c,a,b) (ADD32((c),MULT16_16((a),(b))))
-#define MULT16_32_Q12(a,b) ADD32(MULT16_16((a),SHR((b),12)), SHR(MULT16_16((a),((b)&0x00000fff)),12))
-#define MULT16_32_Q13(a,b) ADD32(MULT16_16((a),SHR((b),13)), SHR(MULT16_16((a),((b)&0x00001fff)),13))
-#define MULT16_32_Q14(a,b) ADD32(MULT16_16((a),SHR((b),14)), SHR(MULT16_16((a),((b)&0x00003fff)),14))
-
-#define MULT16_32_Q11(a,b) ADD32(MULT16_16((a),SHR((b),11)), SHR(MULT16_16((a),((b)&0x000007ff)),11))
-#define MAC16_32_Q11(c,a,b) ADD32(c,ADD32(MULT16_16((a),SHR((b),11)), SHR(MULT16_16((a),((b)&0x000007ff)),11)))
-
-#define MULT16_32_P15(a,b) ADD32(MULT16_16((a),SHR((b),15)), PSHR(MULT16_16((a),((b)&0x00007fff)),15))
-#define MULT16_32_Q15(a,b) ADD32(MULT16_16((a),SHR((b),15)), SHR(MULT16_16((a),((b)&0x00007fff)),15))
-#define MAC16_32_Q15(c,a,b) ADD32(c,ADD32(MULT16_16((a),SHR((b),15)), SHR(MULT16_16((a),((b)&0x00007fff)),15)))
-
-
-#define MAC16_16_Q11(c,a,b)     (ADD32((c),SHR(MULT16_16((a),(b)),11)))
-#define MAC16_16_Q13(c,a,b)     (ADD32((c),SHR(MULT16_16((a),(b)),13)))
-#define MAC16_16_P13(c,a,b)     (ADD32((c),SHR(ADD32(4096,MULT16_16((a),(b))),13)))
-
-#define MULT16_16_Q11_32(a,b) (SHR(MULT16_16((a),(b)),11))
-#define MULT16_16_Q13(a,b) (SHR(MULT16_16((a),(b)),13))
-#define MULT16_16_Q14(a,b) (SHR(MULT16_16((a),(b)),14))
-#define MULT16_16_Q15(a,b) (SHR(MULT16_16((a),(b)),15))
-
-#define MULT16_16_P13(a,b) (SHR(ADD32(4096,MULT16_16((a),(b))),13))
-#define MULT16_16_P14(a,b) (SHR(ADD32(8192,MULT16_16((a),(b))),14))
-#define MULT16_16_P15(a,b) (SHR(ADD32(16384,MULT16_16((a),(b))),15))
-
-#define MUL_16_32_R15(a,bh,bl) ADD32(MULT16_16((a),(bh)), SHR(MULT16_16((a),(bl)),15))
-
-#define DIV32_16(a,b) ((spx_word16_t)(((spx_word32_t)(a))/((spx_word16_t)(b))))
-#define PDIV32_16(a,b) ((spx_word16_t)(((spx_word32_t)(a)+((spx_word16_t)(b)>>1))/((spx_word16_t)(b))))
-#define DIV32(a,b) (((spx_word32_t)(a))/((spx_word32_t)(b)))
-#define PDIV32(a,b) (((spx_word32_t)(a)+((spx_word16_t)(b)>>1))/((spx_word32_t)(b)))
-
-#endif
diff --git a/gst/audioresample/gstaudioresample.c b/gst/audioresample/gstaudioresample.c
index 7155c3c..a7ba000 100644
--- a/gst/audioresample/gstaudioresample.c
+++ b/gst/audioresample/gstaudioresample.c
@@ -59,46 +59,33 @@
 #include <gst/audio/audio.h>
 #include <gst/base/gstbasetransform.h>
 
-#ifndef DISABLE_ORC
-#include <orc/orc.h>
-#include <orc-test/orctest.h>
-#include <orc-test/orcprofile.h>
-#endif
-
 GST_DEBUG_CATEGORY (audio_resample_debug);
 #define GST_CAT_DEFAULT audio_resample_debug
-#if !defined(AUDIORESAMPLE_FORMAT_AUTO) || defined(DISABLE_ORC)
+#if !defined(AUDIORESAMPLE_FORMAT_AUTO)
 GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
 #endif
 
-#define GST_TYPE_SPEEX_RESAMPLER_SINC_FILTER_MODE (speex_resampler_sinc_filter_mode_get_type ())
+#undef USE_SPEEX
+
+#define DEFAULT_QUALITY GST_AUDIO_RESAMPLER_QUALITY_DEFAULT
+#define DEFAULT_RESAMPLE_METHOD GST_AUDIO_RESAMPLER_METHOD_KAISER
+#define DEFAULT_SINC_FILTER_MODE GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO
+#define DEFAULT_SINC_FILTER_AUTO_THRESHOLD (1*1048576)
+#define DEFAULT_SINC_FILTER_INTERPOLATION GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC
 
 enum
 {
   PROP_0,
   PROP_QUALITY,
+  PROP_RESAMPLE_METHOD,
   PROP_SINC_FILTER_MODE,
-  PROP_SINC_FILTER_AUTO_THRESHOLD
+  PROP_SINC_FILTER_AUTO_THRESHOLD,
+  PROP_SINC_FILTER_INTERPOLATION
 };
 
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
 #define SUPPORTED_CAPS \
-  GST_AUDIO_CAPS_MAKE ("{ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }") \
+  GST_AUDIO_CAPS_MAKE (GST_AUDIO_FORMATS_ALL) \
   ", layout = (string) { interleaved, non-interleaved }"
-#else
-#define SUPPORTED_CAPS \
-  GST_AUDIO_CAPS_MAKE ("{ F32BE, F64BE, S32BE, S24BE, S16BE, S8 }") \
-  ", layout = (string) { interleaved, non-interleaved }"
-#endif
-
-/* If TRUE integer arithmetic resampling is faster and will be used if appropriate */
-#if defined AUDIORESAMPLE_FORMAT_INT
-static gboolean gst_audio_resample_use_int = TRUE;
-#elif defined AUDIORESAMPLE_FORMAT_FLOAT
-static gboolean gst_audio_resample_use_int = FALSE;
-#else
-static gboolean gst_audio_resample_use_int = FALSE;
-#endif
 
 static GstStaticPadTemplate gst_audio_resample_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
@@ -117,8 +104,6 @@
 static void gst_audio_resample_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec);
 
-static GType speex_resampler_sinc_filter_mode_get_type (void);
-
 /* vmethods */
 static gboolean gst_audio_resample_get_unit_size (GstBaseTransform * base,
     GstCaps * caps, gsize * size);
@@ -159,15 +144,20 @@
   g_object_class_install_property (gobject_class, PROP_QUALITY,
       g_param_spec_int ("quality", "Quality", "Resample quality with 0 being "
           "the lowest and 10 being the best",
-          SPEEX_RESAMPLER_QUALITY_MIN, SPEEX_RESAMPLER_QUALITY_MAX,
-          SPEEX_RESAMPLER_QUALITY_DEFAULT,
+          GST_AUDIO_RESAMPLER_QUALITY_MIN, GST_AUDIO_RESAMPLER_QUALITY_MAX,
+          DEFAULT_QUALITY,
           G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
+  g_object_class_install_property (gobject_class, PROP_RESAMPLE_METHOD,
+      g_param_spec_enum ("resample-method", "Resample method to use",
+          "What resample method to use",
+          GST_TYPE_AUDIO_RESAMPLER_METHOD,
+          DEFAULT_RESAMPLE_METHOD, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (gobject_class, PROP_SINC_FILTER_MODE,
       g_param_spec_enum ("sinc-filter-mode", "Sinc filter table mode",
           "What sinc filter table mode to use",
-          GST_TYPE_SPEEX_RESAMPLER_SINC_FILTER_MODE,
-          SPEEX_RESAMPLER_SINC_FILTER_DEFAULT,
+          GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE,
+          DEFAULT_SINC_FILTER_MODE,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_property (gobject_class,
@@ -175,13 +165,21 @@
       g_param_spec_uint ("sinc-filter-auto-threshold",
           "Sinc filter auto mode threshold",
           "Memory usage threshold to use if sinc filter mode is AUTO, given in bytes",
-          0, G_MAXUINT, SPEEX_RESAMPLER_SINC_FILTER_AUTO_THRESHOLD_DEFAULT,
+          0, G_MAXUINT, DEFAULT_SINC_FILTER_AUTO_THRESHOLD,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class,
+      PROP_SINC_FILTER_INTERPOLATION,
+      g_param_spec_enum ("sinc-filter-interpolation",
+          "Sinc filter interpolation",
+          "How to interpolate the sinc filter table",
+          GST_TYPE_AUDIO_RESAMPLER_FILTER_INTERPOLATION,
+          DEFAULT_SINC_FILTER_INTERPOLATION,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_audio_resample_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_audio_resample_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_audio_resample_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_audio_resample_sink_template);
 
   gst_element_class_set_static_metadata (gstelement_class, "Audio resampler",
       "Filter/Converter/Audio", "Resamples audio",
@@ -218,10 +216,11 @@
 {
   GstBaseTransform *trans = GST_BASE_TRANSFORM (resample);
 
-  resample->quality = SPEEX_RESAMPLER_QUALITY_DEFAULT;
-  resample->sinc_filter_mode = SPEEX_RESAMPLER_SINC_FILTER_DEFAULT;
-  resample->sinc_filter_auto_threshold =
-      SPEEX_RESAMPLER_SINC_FILTER_AUTO_THRESHOLD_DEFAULT;
+  resample->method = DEFAULT_RESAMPLE_METHOD;
+  resample->quality = DEFAULT_QUALITY;
+  resample->sinc_filter_mode = DEFAULT_SINC_FILTER_MODE;
+  resample->sinc_filter_auto_threshold = DEFAULT_SINC_FILTER_AUTO_THRESHOLD;
+  resample->sinc_filter_interpolation = DEFAULT_SINC_FILTER_INTERPOLATION;
 
   gst_base_transform_set_gap_aware (trans, TRUE);
   gst_pad_set_query_function (trans->srcpad, gst_audio_resample_query);
@@ -243,11 +242,6 @@
   resample->samples_in = 0;
   resample->samples_out = 0;
 
-  resample->tmp_in = NULL;
-  resample->tmp_in_size = 0;
-  resample->tmp_out = NULL;
-  resample->tmp_out_size = 0;
-
   return TRUE;
 }
 
@@ -256,21 +250,10 @@
 {
   GstAudioResample *resample = GST_AUDIO_RESAMPLE (base);
 
-  if (resample->state) {
-    resample->funcs->destroy (resample->state);
-    resample->state = NULL;
+  if (resample->converter) {
+    gst_audio_converter_free (resample->converter);
+    resample->converter = NULL;
   }
-
-  resample->funcs = NULL;
-
-  g_free (resample->tmp_in);
-  resample->tmp_in = NULL;
-  resample->tmp_in_size = 0;
-
-  g_free (resample->tmp_out);
-  resample->tmp_out = NULL;
-  resample->tmp_out_size = 0;
-
   return TRUE;
 }
 
@@ -370,134 +353,99 @@
   return othercaps;
 }
 
-static const SpeexResampleFuncs *
-gst_audio_resample_get_funcs (gint width, gboolean fp)
+static GstStructure *
+make_options (GstAudioResample * resample, GstAudioInfo * in,
+    GstAudioInfo * out)
 {
-  const SpeexResampleFuncs *funcs = NULL;
+  GstStructure *options;
 
-  if (gst_audio_resample_use_int && (width == 8 || width == 16) && !fp)
-    funcs = &int_funcs;
-  else if ((!gst_audio_resample_use_int && (width == 8 || width == 16) && !fp)
-      || (width == 32 && fp))
-    funcs = &float_funcs;
-  else if ((width == 64 && fp) || ((width == 32 || width == 24) && !fp))
-    funcs = &double_funcs;
-  else
-    g_assert_not_reached ();
+  options = gst_structure_new_empty ("resampler-options");
+  if (in != NULL && out != NULL)
+    gst_audio_resampler_options_set_quality (resample->method,
+        resample->quality, in->rate, out->rate, options);
 
-  return funcs;
-}
+  gst_structure_set (options,
+      GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD, GST_TYPE_AUDIO_RESAMPLER_METHOD,
+      resample->method,
+      GST_AUDIO_RESAMPLER_OPT_FILTER_MODE, GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE,
+      resample->sinc_filter_mode, GST_AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD,
+      G_TYPE_UINT, resample->sinc_filter_auto_threshold,
+      GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION,
+      GST_TYPE_AUDIO_RESAMPLER_FILTER_INTERPOLATION,
+      resample->sinc_filter_interpolation, NULL);
 
-static SpeexResamplerState *
-gst_audio_resample_init_state (GstAudioResample * resample, gint width,
-    gint channels, gint inrate, gint outrate, gint quality, gboolean fp,
-    SpeexResamplerSincFilterMode sinc_filter_mode,
-    guint32 sinc_filter_auto_threshold)
-{
-  SpeexResamplerState *ret = NULL;
-  gint err = RESAMPLER_ERR_SUCCESS;
-  const SpeexResampleFuncs *funcs = gst_audio_resample_get_funcs (width, fp);
-
-  ret = funcs->init (channels, inrate, outrate, quality,
-      sinc_filter_mode, sinc_filter_auto_threshold, &err);
-
-  if (G_UNLIKELY (err != RESAMPLER_ERR_SUCCESS)) {
-    GST_ERROR_OBJECT (resample, "Failed to create resampler state: %s",
-        funcs->strerror (err));
-    return NULL;
-  }
-
-  if (sinc_filter_mode == SPEEX_RESAMPLER_SINC_FILTER_AUTO) {
-    GST_INFO_OBJECT (resample, "Using the %s sinc filter table",
-        funcs->get_sinc_filter_mode (ret) ? "full" : "interpolated");
-  }
-
-  funcs->skip_zeros (ret);
-
-  return ret;
+  return options;
 }
 
 static gboolean
-gst_audio_resample_update_state (GstAudioResample * resample, gint width,
-    gint channels, gint inrate, gint outrate, gint quality, gboolean fp,
-    SpeexResamplerSincFilterMode sinc_filter_mode,
-    guint32 sinc_filter_auto_threshold)
+gst_audio_resample_update_state (GstAudioResample * resample, GstAudioInfo * in,
+    GstAudioInfo * out)
 {
-  gboolean ret = TRUE;
   gboolean updated_latency = FALSE;
+  gsize old_latency = -1;
+  GstStructure *options;
 
-  updated_latency = (resample->inrate != inrate
-      || quality != resample->quality) && resample->state != NULL;
+  if (resample->converter == NULL && in == NULL && out == NULL)
+    return TRUE;
 
-  if (resample->state == NULL) {
-    ret = TRUE;
-  } else if (resample->channels != channels || fp != resample->fp
-      || width != resample->width
-      || sinc_filter_mode != resample->sinc_filter_mode
-      || sinc_filter_auto_threshold != resample->sinc_filter_auto_threshold) {
-    resample->funcs->destroy (resample->state);
-    resample->state =
-        gst_audio_resample_init_state (resample, width, channels, inrate,
-        outrate, quality, fp, sinc_filter_mode, sinc_filter_auto_threshold);
+  options = make_options (resample, in, out);
 
-    resample->funcs = gst_audio_resample_get_funcs (width, fp);
-    ret = (resample->state != NULL);
-  } else if (resample->inrate != inrate || resample->outrate != outrate) {
-    gint err = RESAMPLER_ERR_SUCCESS;
+  if (resample->converter)
+    old_latency = gst_audio_converter_get_max_latency (resample->converter);
 
-    err = resample->funcs->set_rate (resample->state, inrate, outrate);
-
-    if (G_UNLIKELY (err != RESAMPLER_ERR_SUCCESS))
-      GST_ERROR_OBJECT (resample, "Failed to update rate: %s",
-          resample->funcs->strerror (err));
-
-    ret = (err == RESAMPLER_ERR_SUCCESS);
-  } else if (quality != resample->quality) {
-    gint err = RESAMPLER_ERR_SUCCESS;
-
-    err = resample->funcs->set_quality (resample->state, quality);
-
-    if (G_UNLIKELY (err != RESAMPLER_ERR_SUCCESS))
-      GST_ERROR_OBJECT (resample, "Failed to update quality: %s",
-          resample->funcs->strerror (err));
-
-    ret = (err == RESAMPLER_ERR_SUCCESS);
+  /* if channels and layout changed, destroy existing resampler */
+  if (in != NULL && (in->finfo != resample->in.finfo ||
+          in->channels != resample->in.channels ||
+          in->layout != resample->in.layout) && resample->converter) {
+    gst_audio_converter_free (resample->converter);
+    resample->converter = NULL;
   }
+  if (resample->converter == NULL) {
+    resample->converter =
+        gst_audio_converter_new (GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE, in,
+        out, options);
+    if (resample->converter == NULL)
+      goto resampler_failed;
+  } else if (in && out) {
+    gboolean ret;
 
-  resample->width = width;
-  resample->channels = channels;
-  resample->fp = fp;
-  resample->quality = quality;
-  resample->inrate = inrate;
-  resample->outrate = outrate;
-  resample->sinc_filter_mode = sinc_filter_mode;
-  resample->sinc_filter_auto_threshold = sinc_filter_auto_threshold;
+    ret =
+        gst_audio_converter_update_config (resample->converter, in->rate,
+        out->rate, options);
+    if (!ret)
+      goto update_failed;
+  } else {
+    gst_structure_free (options);
+  }
+  if (old_latency != -1)
+    updated_latency =
+        old_latency !=
+        gst_audio_converter_get_max_latency (resample->converter);
 
   if (updated_latency)
     gst_element_post_message (GST_ELEMENT (resample),
         gst_message_new_latency (GST_OBJECT (resample)));
 
-  return ret;
+  return TRUE;
+
+  /* ERRORS */
+resampler_failed:
+  {
+    GST_ERROR_OBJECT (resample, "failed to create resampler");
+    return FALSE;
+  }
+update_failed:
+  {
+    GST_ERROR_OBJECT (resample, "failed to update resampler");
+    return FALSE;
+  }
 }
 
 static void
 gst_audio_resample_reset_state (GstAudioResample * resample)
 {
-  if (resample->state)
-    resample->funcs->reset_mem (resample->state);
-}
-
-static gint
-_gcd (gint a, gint b)
-{
-  while (b != 0) {
-    int temp = a;
-
-    a = b;
-    b = temp % b;
-  }
-
-  return ABS (a);
+  if (resample->converter)
+    gst_audio_converter_reset (resample->converter);
 }
 
 static gboolean
@@ -505,43 +453,27 @@
     GstPadDirection direction, GstCaps * caps, gsize size, GstCaps * othercaps,
     gsize * othersize)
 {
+  GstAudioResample *resample = GST_AUDIO_RESAMPLE (base);
   gboolean ret = TRUE;
-  GstAudioInfo in, out;
-  guint32 ratio_den, ratio_num;
-  gint inrate, outrate, gcd;
   gint bpf;
 
   GST_LOG_OBJECT (base, "asked to transform size %" G_GSIZE_FORMAT
       " in direction %s", size, direction == GST_PAD_SINK ? "SINK" : "SRC");
 
-  /* Get sample width -> bytes_per_samp, channels, inrate, outrate */
-  ret = gst_audio_info_from_caps (&in, caps);
-  ret &= gst_audio_info_from_caps (&out, othercaps);
-  if (G_UNLIKELY (!ret)) {
-    GST_ERROR_OBJECT (base, "Wrong caps");
-    return FALSE;
-  }
   /* Number of samples in either buffer is size / (width*channels) ->
    * calculate the factor */
-  bpf = GST_AUDIO_INFO_BPF (&in);
-  inrate = GST_AUDIO_INFO_RATE (&in);
-  outrate = GST_AUDIO_INFO_RATE (&out);
+  bpf = GST_AUDIO_INFO_BPF (&resample->in);
 
   /* Convert source buffer size to samples */
   size /= bpf;
 
-  /* Simplify the conversion ratio factors */
-  gcd = _gcd (inrate, outrate);
-  ratio_num = inrate / gcd;
-  ratio_den = outrate / gcd;
-
   if (direction == GST_PAD_SINK) {
-    /* asked to convert size of an incoming buffer. Round up the output size */
-    *othersize = gst_util_uint64_scale_int_ceil (size, ratio_den, ratio_num);
+    /* asked to convert size of an incoming buffer */
+    *othersize = gst_audio_converter_get_out_frames (resample->converter, size);
     *othersize *= bpf;
   } else {
-    /* asked to convert size of an outgoing buffer. Round down the input size */
-    *othersize = gst_util_uint64_scale_int (size, ratio_num, ratio_den);
+    /* asked to convert size of an outgoing buffer */
+    *othersize = gst_audio_converter_get_in_frames (resample->converter, size);
     *othersize *= bpf;
   }
 
@@ -556,9 +488,6 @@
 gst_audio_resample_set_caps (GstBaseTransform * base, GstCaps * incaps,
     GstCaps * outcaps)
 {
-  gboolean ret;
-  gint width, inrate, outrate, channels;
-  gboolean fp;
   GstAudioResample *resample = GST_AUDIO_RESAMPLE (base);
   GstAudioInfo in, out;
 
@@ -571,21 +500,10 @@
     goto invalid_outcaps;
 
   /* FIXME do some checks */
+  gst_audio_resample_update_state (resample, &in, &out);
 
-  /* take new values */
-  width = GST_AUDIO_FORMAT_INFO_WIDTH (in.finfo);
-  channels = GST_AUDIO_INFO_CHANNELS (&in);
-  inrate = GST_AUDIO_INFO_RATE (&in);
-  outrate = GST_AUDIO_INFO_RATE (&out);
-  fp = GST_AUDIO_FORMAT_INFO_IS_FLOAT (in.finfo);
-
-  ret =
-      gst_audio_resample_update_state (resample, width, channels, inrate,
-      outrate, resample->quality, fp, resample->sinc_filter_mode,
-      resample->sinc_filter_auto_threshold);
-
-  if (G_UNLIKELY (!ret))
-    return FALSE;
+  resample->in = in;
+  resample->out = out;
 
   return TRUE;
 
@@ -602,209 +520,24 @@
   }
 }
 
-#define GST_MAXINT24 (8388607)
-#define GST_MININT24 (-8388608)
-
-#if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-#define GST_READ_UINT24 GST_READ_UINT24_LE
-#define GST_WRITE_UINT24 GST_WRITE_UINT24_LE
-#else
-#define GST_READ_UINT24 GST_READ_UINT24_BE
-#define GST_WRITE_UINT24 GST_WRITE_UINT24_BE
-#endif
-
-static void
-gst_audio_resample_convert_buffer (GstAudioResample * resample,
-    const guint8 * in, guint8 * out, guint len, gboolean inverse)
-{
-  len *= resample->channels;
-
-  if (inverse) {
-    if (gst_audio_resample_use_int && resample->width == 8 && !resample->fp) {
-      gint8 *o = (gint8 *) out;
-      gint16 *i = (gint16 *) in;
-      gint32 tmp;
-
-      while (len) {
-        tmp = *i + (G_MAXINT8 >> 1);
-        *o = CLAMP (tmp >> 8, G_MININT8, G_MAXINT8);
-        o++;
-        i++;
-        len--;
-      }
-    } else if (!gst_audio_resample_use_int && resample->width == 8
-        && !resample->fp) {
-      gint8 *o = (gint8 *) out;
-      gfloat *i = (gfloat *) in;
-      gfloat tmp;
-
-      while (len) {
-        tmp = *i;
-        *o = (gint8) CLAMP (tmp * G_MAXINT8 + 0.5, G_MININT8, G_MAXINT8);
-        o++;
-        i++;
-        len--;
-      }
-    } else if (!gst_audio_resample_use_int && resample->width == 16
-        && !resample->fp) {
-      gint16 *o = (gint16 *) out;
-      gfloat *i = (gfloat *) in;
-      gfloat tmp;
-
-      while (len) {
-        tmp = *i;
-        *o = (gint16) CLAMP (tmp * G_MAXINT16 + 0.5, G_MININT16, G_MAXINT16);
-        o++;
-        i++;
-        len--;
-      }
-    } else if (resample->width == 24 && !resample->fp) {
-      guint8 *o = (guint8 *) out;
-      gdouble *i = (gdouble *) in;
-      gdouble tmp;
-
-      while (len) {
-        tmp = *i;
-        GST_WRITE_UINT24 (o, (gint32) CLAMP (tmp * GST_MAXINT24 + 0.5,
-                GST_MININT24, GST_MAXINT24));
-        o += 3;
-        i++;
-        len--;
-      }
-    } else if (resample->width == 32 && !resample->fp) {
-      gint32 *o = (gint32 *) out;
-      gdouble *i = (gdouble *) in;
-      gdouble tmp;
-
-      while (len) {
-        tmp = *i;
-        *o = (gint32) CLAMP (tmp * G_MAXINT32 + 0.5, G_MININT32, G_MAXINT32);
-        o++;
-        i++;
-        len--;
-      }
-    } else {
-      g_assert_not_reached ();
-    }
-  } else {
-    if (gst_audio_resample_use_int && resample->width == 8 && !resample->fp) {
-      gint8 *i = (gint8 *) in;
-      gint16 *o = (gint16 *) out;
-      gint32 tmp;
-
-      while (len) {
-        tmp = *i;
-        *o = tmp << 8;
-        o++;
-        i++;
-        len--;
-      }
-    } else if (!gst_audio_resample_use_int && resample->width == 8
-        && !resample->fp) {
-      gint8 *i = (gint8 *) in;
-      gfloat *o = (gfloat *) out;
-      gfloat tmp;
-
-      while (len) {
-        tmp = *i;
-        *o = tmp / G_MAXINT8;
-        o++;
-        i++;
-        len--;
-      }
-    } else if (!gst_audio_resample_use_int && resample->width == 16
-        && !resample->fp) {
-      gint16 *i = (gint16 *) in;
-      gfloat *o = (gfloat *) out;
-      gfloat tmp;
-
-      while (len) {
-        tmp = *i;
-        *o = tmp / G_MAXINT16;
-        o++;
-        i++;
-        len--;
-      }
-    } else if (resample->width == 24 && !resample->fp) {
-      guint8 *i = (guint8 *) in;
-      gdouble *o = (gdouble *) out;
-      gdouble tmp;
-      guint32 tmp2;
-
-      while (len) {
-        tmp2 = GST_READ_UINT24 (i);
-        if (tmp2 & 0x00800000)
-          tmp2 |= 0xff000000;
-        tmp = (gint32) tmp2;
-        *o = tmp / GST_MAXINT24;
-        o++;
-        i += 3;
-        len--;
-      }
-    } else if (resample->width == 32 && !resample->fp) {
-      gint32 *i = (gint32 *) in;
-      gdouble *o = (gdouble *) out;
-      gdouble tmp;
-
-      while (len) {
-        tmp = *i;
-        *o = tmp / G_MAXINT32;
-        o++;
-        i++;
-        len--;
-      }
-    } else {
-      g_assert_not_reached ();
-    }
-  }
-}
-
-static guint8 *
-gst_audio_resample_workspace_realloc (guint8 ** workspace, guint * size,
-    guint new_size)
-{
-  guint8 *new;
-  if (new_size <= *size)
-    /* no need to resize */
-    return *workspace;
-  new = g_realloc (*workspace, new_size);
-  if (!new)
-    /* failure (re)allocating memeory */
-    return NULL;
-  /* success */
-  *workspace = new;
-  *size = new_size;
-  return *workspace;
-}
-
 /* Push history_len zeros into the filter, but discard the output. */
 static void
 gst_audio_resample_dump_drain (GstAudioResample * resample, guint history_len)
 {
-  gint outsize;
-  guint in_len G_GNUC_UNUSED, in_processed;
-  guint out_len, out_processed;
-  guint num, den;
-  gpointer buf;
+  gsize out_len, outsize;
+  gpointer out[1];
 
-  g_assert (resample->state != NULL);
-
-  resample->funcs->get_ratio (resample->state, &num, &den);
-
-  in_len = in_processed = history_len;
-  out_processed = out_len =
-      gst_util_uint64_scale_int_ceil (history_len, den, num);
-  outsize = out_len * resample->channels * (resample->funcs->width / 8);
-
+  out_len =
+      gst_audio_converter_get_out_frames (resample->converter, history_len);
   if (out_len == 0)
     return;
 
-  buf = g_malloc (outsize);
-  resample->funcs->process (resample->state, NULL, &in_processed, buf,
-      &out_processed);
-  g_free (buf);
+  outsize = out_len * resample->out.bpf;
 
-  g_assert (in_len == in_processed);
+  out[0] = g_malloc (outsize);
+  gst_audio_converter_samples (resample->converter, 0, NULL, history_len,
+      out, out_len);
+  g_free (out[0]);
 }
 
 static void
@@ -813,77 +546,40 @@
   GstBuffer *outbuf;
   GstFlowReturn res;
   gint outsize;
-  guint in_len, in_processed;
-  guint out_len, out_processed;
-  gint err;
-  guint num, den;
+  gsize out_len;
   GstMapInfo map;
+  gpointer out[1];
 
-  g_assert (resample->state != NULL);
+  g_assert (resample->converter != NULL);
 
   /* Don't drain samples if we were reset. */
   if (!GST_CLOCK_TIME_IS_VALID (resample->t0))
     return;
 
-  resample->funcs->get_ratio (resample->state, &num, &den);
-
-  in_len = in_processed = history_len;
-  out_len = out_processed =
-      gst_util_uint64_scale_int_ceil (history_len, den, num);
-  outsize = out_len * resample->channels * (resample->width / 8);
-
+  out_len =
+      gst_audio_converter_get_out_frames (resample->converter, history_len);
   if (out_len == 0)
     return;
 
+  outsize = out_len * resample->in.bpf;
   outbuf = gst_buffer_new_and_alloc (outsize);
 
   gst_buffer_map (outbuf, &map, GST_MAP_WRITE);
 
-  if (resample->funcs->width != resample->width) {
-    /* need to convert data format;  allocate workspace */
-    if (!gst_audio_resample_workspace_realloc (&resample->tmp_out,
-            &resample->tmp_out_size, (resample->funcs->width / 8) * out_len *
-            resample->channels)) {
-      GST_ERROR_OBJECT (resample, "failed to allocate workspace");
-      return;
-    }
+  out[0] = map.data;
+  gst_audio_converter_samples (resample->converter, 0, NULL, history_len,
+      out, out_len);
 
-    /* process */
-    err = resample->funcs->process (resample->state, NULL, &in_processed,
-        resample->tmp_out, &out_processed);
-
-    /* convert output format */
-    gst_audio_resample_convert_buffer (resample, resample->tmp_out,
-        map.data, out_processed, TRUE);
-  } else {
-    /* don't need to convert data format;  process */
-    err = resample->funcs->process (resample->state, NULL, &in_processed,
-        map.data, &out_processed);
-  }
-
-  /* If we wrote more than allocated something is really wrong now
-   * and we should better abort immediately */
-  g_assert (out_len >= out_processed);
-
-  outsize = out_processed * resample->channels * (resample->width / 8);
   gst_buffer_unmap (outbuf, &map);
-  gst_buffer_resize (outbuf, 0, outsize);
-
-  if (G_UNLIKELY (err != RESAMPLER_ERR_SUCCESS)) {
-    GST_WARNING_OBJECT (resample, "Failed to process drain: %s",
-        resample->funcs->strerror (err));
-    gst_buffer_unref (outbuf);
-    return;
-  }
 
   /* time */
   if (GST_CLOCK_TIME_IS_VALID (resample->t0)) {
     GST_BUFFER_TIMESTAMP (outbuf) = resample->t0 +
         gst_util_uint64_scale_int_round (resample->samples_out, GST_SECOND,
-        resample->outrate);
+        resample->out.rate);
     GST_BUFFER_DURATION (outbuf) = resample->t0 +
-        gst_util_uint64_scale_int_round (resample->samples_out + out_processed,
-        GST_SECOND, resample->outrate) - GST_BUFFER_TIMESTAMP (outbuf);
+        gst_util_uint64_scale_int_round (resample->samples_out + out_len,
+        GST_SECOND, resample->out.rate) - GST_BUFFER_TIMESTAMP (outbuf);
   } else {
     GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
     GST_BUFFER_DURATION (outbuf) = GST_CLOCK_TIME_NONE;
@@ -891,21 +587,15 @@
   /* offset */
   if (resample->out_offset0 != GST_BUFFER_OFFSET_NONE) {
     GST_BUFFER_OFFSET (outbuf) = resample->out_offset0 + resample->samples_out;
-    GST_BUFFER_OFFSET_END (outbuf) = GST_BUFFER_OFFSET (outbuf) + out_processed;
+    GST_BUFFER_OFFSET_END (outbuf) = GST_BUFFER_OFFSET (outbuf) + out_len;
   } else {
     GST_BUFFER_OFFSET (outbuf) = GST_BUFFER_OFFSET_NONE;
     GST_BUFFER_OFFSET_END (outbuf) = GST_BUFFER_OFFSET_NONE;
   }
   /* move along */
-  resample->samples_out += out_processed;
+  resample->samples_out += out_len;
   resample->samples_in += history_len;
 
-  if (G_UNLIKELY (out_processed == 0 && in_len * den > num)) {
-    GST_WARNING_OBJECT (resample, "Failed to get drain, dropping buffer");
-    gst_buffer_unref (outbuf);
-    return;
-  }
-
   GST_LOG_OBJECT (resample,
       "Pushing drain buffer of %u bytes with timestamp %" GST_TIME_FORMAT
       " duration %" GST_TIME_FORMAT " offset %" G_GUINT64_FORMAT " offset_end %"
@@ -931,8 +621,6 @@
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_FLUSH_STOP:
       gst_audio_resample_reset_state (resample);
-      if (resample->state)
-        resample->funcs->skip_zeros (resample->state);
       resample->num_gap_samples = 0;
       resample->num_nongap_samples = 0;
       resample->t0 = GST_CLOCK_TIME_NONE;
@@ -943,13 +631,12 @@
       resample->need_discont = TRUE;
       break;
     case GST_EVENT_SEGMENT:
-      if (resample->state) {
-        guint latency = resample->funcs->get_input_latency (resample->state);
+      if (resample->converter) {
+        gsize latency =
+            gst_audio_converter_get_max_latency (resample->converter);
         gst_audio_resample_push_drain (resample, latency);
       }
       gst_audio_resample_reset_state (resample);
-      if (resample->state)
-        resample->funcs->skip_zeros (resample->state);
       resample->num_gap_samples = 0;
       resample->num_nongap_samples = 0;
       resample->t0 = GST_CLOCK_TIME_NONE;
@@ -960,8 +647,9 @@
       resample->need_discont = TRUE;
       break;
     case GST_EVENT_EOS:
-      if (resample->state) {
-        guint latency = resample->funcs->get_input_latency (resample->state);
+      if (resample->converter) {
+        gsize latency =
+            gst_audio_converter_get_max_latency (resample->converter);
         gst_audio_resample_push_drain (resample, latency);
       }
       gst_audio_resample_reset_state (resample);
@@ -991,7 +679,7 @@
   /* convert the inbound timestamp to an offset. */
   offset =
       gst_util_uint64_scale_int_round (GST_BUFFER_TIMESTAMP (buf) -
-      resample->t0, resample->inrate, GST_SECOND);
+      resample->t0, resample->in.rate, GST_SECOND);
 
   /* many elements generate imperfect streams due to rounding errors, so we
    * permit a small error (up to one sample) without triggering a filter
@@ -999,14 +687,14 @@
   /* allow even up to more samples, since sink is not so strict anyway,
    * so give that one a chance to handle this as configured */
   delta = ABS ((gint64) (offset - resample->samples_in));
-  if (delta <= (resample->inrate >> 5))
+  if (delta <= (resample->in.rate >> 5))
     return FALSE;
 
   GST_WARNING_OBJECT (resample,
       "encountered timestamp discontinuity of %" G_GUINT64_FORMAT " samples = %"
       GST_TIME_FORMAT, delta,
       GST_TIME_ARGS (gst_util_uint64_scale_int_round (delta, GST_SECOND,
-              resample->inrate)));
+              resample->in.rate)));
   return TRUE;
 }
 
@@ -1016,21 +704,22 @@
 {
   GstMapInfo in_map, out_map;
   gsize outsize;
-  guint32 in_len, in_processed;
-  guint32 out_len, out_processed;
-  guint filt_len = resample->funcs->get_filt_len (resample->state);
+  guint32 in_len;
+  guint32 out_len;
+  guint filt_len =
+      gst_audio_converter_get_max_latency (resample->converter) * 2;
+  gboolean inbuf_writable;
 
-  gst_buffer_map (inbuf, &in_map, GST_MAP_READ);
+  inbuf_writable = gst_buffer_is_writable (inbuf)
+      && gst_buffer_n_memory (inbuf) == 1
+      && gst_memory_is_writable (gst_buffer_peek_memory (inbuf, 0));
+
+  gst_buffer_map (inbuf, &in_map,
+      inbuf_writable ? GST_MAP_READWRITE : GST_MAP_READ);
   gst_buffer_map (outbuf, &out_map, GST_MAP_WRITE);
 
-  in_len = in_map.size / resample->channels;
-  out_len = out_map.size / resample->channels;
-
-  in_len /= (resample->width / 8);
-  out_len /= (resample->width / 8);
-
-  in_processed = in_len;
-  out_processed = out_len;
+  in_len = in_map.size / resample->in.bpf;
+  out_len = out_map.size / resample->out.bpf;
 
   if (GST_BUFFER_FLAG_IS_SET (inbuf, GST_BUFFER_FLAG_GAP)) {
     resample->num_nongap_samples = 0;
@@ -1048,27 +737,28 @@
 
     {
       guint num, den;
-      resample->funcs->get_ratio (resample->state, &num, &den);
+
+      num = resample->in.rate;
+      den = resample->out.rate;
+
       if (resample->samples_in + in_len >= filt_len / 2)
-        out_processed =
+        out_len =
             gst_util_uint64_scale_int_ceil (resample->samples_in + in_len -
             filt_len / 2, den, num) - resample->samples_out;
       else
-        out_processed = 0;
+        out_len = 0;
 
       memset (out_map.data, 0, out_map.size);
       GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_GAP);
       resample->num_gap_samples += in_len;
-      in_processed = in_len;
     }
   } else {                      /* not a gap */
-
-    gint err;
-
     if (resample->num_gap_samples > filt_len) {
       /* push in enough zeros to restore the filter to the right offset */
-      guint num, den;
-      resample->funcs->get_ratio (resample->state, &num, &den);
+      guint num;
+
+      num = resample->in.rate;
+
       gst_audio_resample_dump_drain (resample,
           (resample->num_gap_samples - filt_len) % num);
     }
@@ -1078,65 +768,30 @@
       if (resample->num_nongap_samples > filt_len)
         resample->num_nongap_samples = filt_len;
     }
-
-    if (resample->funcs->width != resample->width) {
-      /* need to convert data format for processing;  ensure we have enough
-       * workspace available */
-      if (!gst_audio_resample_workspace_realloc (&resample->tmp_in,
-              &resample->tmp_in_size, in_len * resample->channels *
-              (resample->funcs->width / 8)) ||
-          !gst_audio_resample_workspace_realloc (&resample->tmp_out,
-              &resample->tmp_out_size, out_len * resample->channels *
-              (resample->funcs->width / 8))) {
-        GST_ERROR_OBJECT (resample, "failed to allocate workspace");
-        gst_buffer_unmap (inbuf, &in_map);
-        gst_buffer_unmap (outbuf, &out_map);
-        return GST_FLOW_ERROR;
-      }
-
-      /* convert input */
-      gst_audio_resample_convert_buffer (resample, in_map.data,
-          resample->tmp_in, in_len, FALSE);
-
+    {
       /* process */
-      err = resample->funcs->process (resample->state,
-          resample->tmp_in, &in_processed, resample->tmp_out, &out_processed);
+      gpointer in[1], out[1];
+      GstAudioConverterFlags flags;
 
-      /* convert output */
-      gst_audio_resample_convert_buffer (resample, resample->tmp_out,
-          out_map.data, out_processed, TRUE);
-    } else {
-      /* no format conversion required;  process */
-      err = resample->funcs->process (resample->state,
-          in_map.data, &in_processed, out_map.data, &out_processed);
+      flags = 0;
+      if (inbuf_writable)
+        flags |= GST_AUDIO_CONVERTER_FLAG_IN_WRITABLE;
+
+      in[0] = in_map.data;
+      out[0] = out_map.data;
+      gst_audio_converter_samples (resample->converter, flags, in, in_len,
+          out, out_len);
     }
-
-    if (G_UNLIKELY (err != RESAMPLER_ERR_SUCCESS)) {
-      GST_ERROR_OBJECT (resample, "Failed to convert data: %s",
-          resample->funcs->strerror (err));
-      gst_buffer_unmap (inbuf, &in_map);
-      gst_buffer_unmap (outbuf, &out_map);
-      return GST_FLOW_ERROR;
-    }
-  }
-
-  /* If we wrote more than allocated something is really wrong now and we
-   * should better abort immediately */
-  g_assert (out_len >= out_processed);
-
-  if (G_UNLIKELY (in_len != in_processed)) {
-    GST_WARNING_OBJECT (resample, "converted %d of %d input samples",
-        in_processed, in_len);
   }
 
   /* time */
   if (GST_CLOCK_TIME_IS_VALID (resample->t0)) {
     GST_BUFFER_TIMESTAMP (outbuf) = resample->t0 +
         gst_util_uint64_scale_int_round (resample->samples_out, GST_SECOND,
-        resample->outrate);
+        resample->out.rate);
     GST_BUFFER_DURATION (outbuf) = resample->t0 +
-        gst_util_uint64_scale_int_round (resample->samples_out + out_processed,
-        GST_SECOND, resample->outrate) - GST_BUFFER_TIMESTAMP (outbuf);
+        gst_util_uint64_scale_int_round (resample->samples_out + out_len,
+        GST_SECOND, resample->out.rate) - GST_BUFFER_TIMESTAMP (outbuf);
   } else {
     GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
     GST_BUFFER_DURATION (outbuf) = GST_CLOCK_TIME_NONE;
@@ -1144,31 +799,33 @@
   /* offset */
   if (resample->out_offset0 != GST_BUFFER_OFFSET_NONE) {
     GST_BUFFER_OFFSET (outbuf) = resample->out_offset0 + resample->samples_out;
-    GST_BUFFER_OFFSET_END (outbuf) = GST_BUFFER_OFFSET (outbuf) + out_processed;
+    GST_BUFFER_OFFSET_END (outbuf) = GST_BUFFER_OFFSET (outbuf) + out_len;
   } else {
     GST_BUFFER_OFFSET (outbuf) = GST_BUFFER_OFFSET_NONE;
     GST_BUFFER_OFFSET_END (outbuf) = GST_BUFFER_OFFSET_NONE;
   }
   /* move along */
-  resample->samples_out += out_processed;
+  resample->samples_out += out_len;
   resample->samples_in += in_len;
 
   gst_buffer_unmap (inbuf, &in_map);
   gst_buffer_unmap (outbuf, &out_map);
 
-  outsize = out_processed * resample->channels * (resample->width / 8);
-  gst_buffer_resize (outbuf, 0, outsize);
+  outsize = out_len * resample->in.bpf;
 
   GST_LOG_OBJECT (resample,
       "Converted to buffer of %" G_GUINT32_FORMAT
       " samples (%" G_GSIZE_FORMAT " bytes) with timestamp %" GST_TIME_FORMAT
       ", duration %" GST_TIME_FORMAT ", offset %" G_GUINT64_FORMAT
-      ", offset_end %" G_GUINT64_FORMAT, out_processed, outsize,
+      ", offset_end %" G_GUINT64_FORMAT, out_len, outsize,
       GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)),
       GST_TIME_ARGS (GST_BUFFER_DURATION (outbuf)),
       GST_BUFFER_OFFSET (outbuf), GST_BUFFER_OFFSET_END (outbuf));
 
-  return GST_FLOW_OK;
+  if (outsize == 0)
+    return GST_BASE_TRANSFORM_FLOW_DROPPED;
+  else
+    return GST_FLOW_OK;
 }
 
 static GstFlowReturn
@@ -1178,18 +835,6 @@
   GstAudioResample *resample = GST_AUDIO_RESAMPLE (base);
   GstFlowReturn ret;
 
-  if (resample->state == NULL) {
-    if (G_UNLIKELY (!(resample->state =
-                gst_audio_resample_init_state (resample, resample->width,
-                    resample->channels, resample->inrate, resample->outrate,
-                    resample->quality, resample->fp, resample->sinc_filter_mode,
-                    resample->sinc_filter_auto_threshold))))
-      return GST_FLOW_ERROR;
-
-    resample->funcs =
-        gst_audio_resample_get_funcs (resample->width, resample->fp);
-  }
-
   GST_LOG_OBJECT (resample, "transforming buffer of %" G_GSIZE_FORMAT " bytes,"
       " ts %" GST_TIME_FORMAT ", duration %" GST_TIME_FORMAT ", offset %"
       G_GINT64_FORMAT ", offset_end %" G_GINT64_FORMAT,
@@ -1207,7 +852,6 @@
 
   /* handle discontinuity */
   if (G_UNLIKELY (resample->need_discont)) {
-    resample->funcs->skip_zeros (resample->state);
     resample->num_gap_samples = 0;
     resample->num_nongap_samples = 0;
     /* reset */
@@ -1225,7 +869,7 @@
       resample->in_offset0 = GST_BUFFER_OFFSET (inbuf);
       resample->out_offset0 =
           gst_util_uint64_scale_int_round (resample->in_offset0,
-          resample->outrate, resample->inrate);
+          resample->out.rate, resample->in.rate);
     } else {
       GST_DEBUG_OBJECT (resample, "... but new offset is invalid");
       resample->in_offset0 = GST_BUFFER_OFFSET_NONE;
@@ -1279,8 +923,8 @@
 
   if (base->segment.format == GST_FORMAT_TIME) {
     input =
-        gst_audio_buffer_clip (input, &base->segment, resample->inrate,
-        resample->channels * resample->width);
+        gst_audio_buffer_clip (input, &base->segment, resample->in.rate,
+        resample->in.bpf);
 
     if (!input)
       return GST_FLOW_OK;
@@ -1305,12 +949,12 @@
       GstClockTime min, max;
       gboolean live;
       guint64 latency;
-      gint rate = resample->inrate;
+      gint rate = resample->in.rate;
       gint resampler_latency;
 
-      if (resample->state)
+      if (resample->converter)
         resampler_latency =
-            resample->funcs->get_input_latency (resample->state);
+            gst_audio_converter_get_max_latency (resample->converter);
       else
         resampler_latency = 0;
 
@@ -1360,43 +1004,35 @@
     const GValue * value, GParamSpec * pspec)
 {
   GstAudioResample *resample;
-  gint quality;
 
   resample = GST_AUDIO_RESAMPLE (object);
 
   switch (prop_id) {
     case PROP_QUALITY:
       /* FIXME locking! */
-      quality = g_value_get_int (value);
-      GST_DEBUG_OBJECT (resample, "new quality %d", quality);
-
-      gst_audio_resample_update_state (resample, resample->width,
-          resample->channels, resample->inrate, resample->outrate,
-          quality, resample->fp, resample->sinc_filter_mode,
-          resample->sinc_filter_auto_threshold);
+      resample->quality = g_value_get_int (value);
+      GST_DEBUG_OBJECT (resample, "new quality %d", resample->quality);
+      gst_audio_resample_update_state (resample, NULL, NULL);
       break;
-    case PROP_SINC_FILTER_MODE:{
+    case PROP_RESAMPLE_METHOD:
+      resample->method = g_value_get_enum (value);
+      gst_audio_resample_update_state (resample, NULL, NULL);
+      break;
+    case PROP_SINC_FILTER_MODE:
       /* FIXME locking! */
-      SpeexResamplerSincFilterMode sinc_filter_mode = g_value_get_enum (value);
-
-      gst_audio_resample_update_state (resample, resample->width,
-          resample->channels, resample->inrate, resample->outrate,
-          resample->quality, resample->fp, sinc_filter_mode,
-          resample->sinc_filter_auto_threshold);
-
+      resample->sinc_filter_mode = g_value_get_enum (value);
+      gst_audio_resample_update_state (resample, NULL, NULL);
       break;
-    }
-    case PROP_SINC_FILTER_AUTO_THRESHOLD:{
+    case PROP_SINC_FILTER_AUTO_THRESHOLD:
       /* FIXME locking! */
-      guint32 sinc_filter_auto_threshold = g_value_get_uint (value);
-
-      gst_audio_resample_update_state (resample, resample->width,
-          resample->channels, resample->inrate, resample->outrate,
-          resample->quality, resample->fp, resample->sinc_filter_mode,
-          sinc_filter_auto_threshold);
-
+      resample->sinc_filter_auto_threshold = g_value_get_uint (value);
+      gst_audio_resample_update_state (resample, NULL, NULL);
       break;
-    }
+    case PROP_SINC_FILTER_INTERPOLATION:
+      /* FIXME locking! */
+      resample->sinc_filter_interpolation = g_value_get_enum (value);
+      gst_audio_resample_update_state (resample, NULL, NULL);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1415,177 +1051,30 @@
     case PROP_QUALITY:
       g_value_set_int (value, resample->quality);
       break;
+    case PROP_RESAMPLE_METHOD:
+      g_value_set_enum (value, resample->method);
+      break;
     case PROP_SINC_FILTER_MODE:
       g_value_set_enum (value, resample->sinc_filter_mode);
       break;
     case PROP_SINC_FILTER_AUTO_THRESHOLD:
       g_value_set_uint (value, resample->sinc_filter_auto_threshold);
       break;
+    case PROP_SINC_FILTER_INTERPOLATION:
+      g_value_set_enum (value, resample->sinc_filter_interpolation);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
 }
 
-static GType
-speex_resampler_sinc_filter_mode_get_type (void)
-{
-  static GType speex_resampler_sinc_filter_mode_type = 0;
-
-  if (!speex_resampler_sinc_filter_mode_type) {
-    static const GEnumValue sinc_filter_modes[] = {
-      {SPEEX_RESAMPLER_SINC_FILTER_INTERPOLATED, "Use interpolated sinc table",
-          "interpolated"},
-      {SPEEX_RESAMPLER_SINC_FILTER_FULL, "Use full sinc table", "full"},
-      {SPEEX_RESAMPLER_SINC_FILTER_AUTO,
-          "Use full table if table size below threshold", "auto"},
-      {0, NULL, NULL},
-    };
-
-    speex_resampler_sinc_filter_mode_type =
-        g_enum_register_static ("SpeexResamplerSincFilterMode",
-        sinc_filter_modes);
-  }
-
-  return speex_resampler_sinc_filter_mode_type;
-}
-
-/* FIXME: should have a benchmark fallback for the case where orc is disabled */
-#if defined(AUDIORESAMPLE_FORMAT_AUTO) && !defined(DISABLE_ORC)
-
-#define BENCHMARK_SIZE 512
-
-static gboolean
-_benchmark_int_float (SpeexResamplerState * st)
-{
-  gint16 in[BENCHMARK_SIZE] = { 0, }, G_GNUC_UNUSED out[BENCHMARK_SIZE / 2];
-  gfloat in_tmp[BENCHMARK_SIZE], out_tmp[BENCHMARK_SIZE / 2];
-  gint i;
-  guint32 inlen = BENCHMARK_SIZE, outlen = BENCHMARK_SIZE / 2;
-
-  for (i = 0; i < BENCHMARK_SIZE; i++) {
-    gfloat tmp = in[i];
-    in_tmp[i] = tmp / G_MAXINT16;
-  }
-
-  resample_float_resampler_process_interleaved_float (st,
-      (const guint8 *) in_tmp, &inlen, (guint8 *) out_tmp, &outlen);
-
-  if (outlen == 0) {
-    GST_ERROR ("Failed to use float resampler");
-    return FALSE;
-  }
-
-  for (i = 0; i < outlen; i++) {
-    gfloat tmp = out_tmp[i];
-    out[i] = CLAMP (tmp * G_MAXINT16 + 0.5, G_MININT16, G_MAXINT16);
-  }
-
-  return TRUE;
-}
-
-static gboolean
-_benchmark_int_int (SpeexResamplerState * st)
-{
-  gint16 in[BENCHMARK_SIZE] = { 0, }, out[BENCHMARK_SIZE / 2];
-  guint32 inlen = BENCHMARK_SIZE, outlen = BENCHMARK_SIZE / 2;
-
-  resample_int_resampler_process_interleaved_int (st, (const guint8 *) in,
-      &inlen, (guint8 *) out, &outlen);
-
-  if (outlen == 0) {
-    GST_ERROR ("Failed to use int resampler");
-    return FALSE;
-  }
-
-  return TRUE;
-}
-
-static gboolean
-_benchmark_integer_resampling (void)
-{
-  OrcProfile a, b;
-  gdouble av, bv;
-  SpeexResamplerState *sta, *stb;
-  int i;
-
-  orc_profile_init (&a);
-  orc_profile_init (&b);
-
-  sta = resample_float_resampler_init (1, 48000, 24000, 4,
-      SPEEX_RESAMPLER_SINC_FILTER_INTERPOLATED,
-      SPEEX_RESAMPLER_SINC_FILTER_AUTO_THRESHOLD_DEFAULT, NULL);
-  if (sta == NULL) {
-    GST_ERROR ("Failed to create float resampler state");
-    return FALSE;
-  }
-
-  stb = resample_int_resampler_init (1, 48000, 24000, 4,
-      SPEEX_RESAMPLER_SINC_FILTER_INTERPOLATED,
-      SPEEX_RESAMPLER_SINC_FILTER_AUTO_THRESHOLD_DEFAULT, NULL);
-  if (stb == NULL) {
-    resample_float_resampler_destroy (sta);
-    GST_ERROR ("Failed to create int resampler state");
-    return FALSE;
-  }
-
-  /* Benchmark */
-  for (i = 0; i < 10; i++) {
-    orc_profile_start (&a);
-    if (!_benchmark_int_float (sta))
-      goto error;
-    orc_profile_stop (&a);
-  }
-
-  /* Benchmark */
-  for (i = 0; i < 10; i++) {
-    orc_profile_start (&b);
-    if (!_benchmark_int_int (stb))
-      goto error;
-    orc_profile_stop (&b);
-  }
-
-  /* Handle results */
-  orc_profile_get_ave_std (&a, &av, NULL);
-  orc_profile_get_ave_std (&b, &bv, NULL);
-
-  /* Remember benchmark result in global variable */
-  gst_audio_resample_use_int = (av > bv);
-  resample_float_resampler_destroy (sta);
-  resample_int_resampler_destroy (stb);
-
-  if (av > bv)
-    GST_INFO ("Using integer resampler if appropriate: %lf < %lf", bv, av);
-  else
-    GST_INFO ("Using float resampler for everything: %lf <= %lf", av, bv);
-
-  return TRUE;
-
-error:
-  resample_float_resampler_destroy (sta);
-  resample_int_resampler_destroy (stb);
-
-  return FALSE;
-}
-#endif /* defined(AUDIORESAMPLE_FORMAT_AUTO) && !defined(DISABLE_ORC) */
-
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
   GST_DEBUG_CATEGORY_INIT (audio_resample_debug, "audioresample", 0,
       "audio resampling element");
 
-#if defined(AUDIORESAMPLE_FORMAT_AUTO) && !defined(DISABLE_ORC)
-  if (!_benchmark_integer_resampling ())
-    return FALSE;
-#else
-  GST_WARNING ("Orc disabled, can't benchmark int vs. float resampler");
-  {
-    GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
-    GST_CAT_WARNING (GST_CAT_PERFORMANCE, "orc disabled, no benchmarking done");
-  }
-#endif
-
   if (!gst_element_register (plugin, "audioresample", GST_RANK_PRIMARY,
           GST_TYPE_AUDIO_RESAMPLE)) {
     return FALSE;
diff --git a/gst/audioresample/gstaudioresample.h b/gst/audioresample/gstaudioresample.h
index 726236a..6092493 100644
--- a/gst/audioresample/gstaudioresample.h
+++ b/gst/audioresample/gstaudioresample.h
@@ -26,8 +26,6 @@
 #include <gst/base/gstbasetransform.h>
 #include <gst/audio/audio.h>
 
-#include "speex_resampler_wrapper.h"
-
 G_BEGIN_DECLS
 
 #define GST_TYPE_AUDIO_RESAMPLE \
@@ -60,31 +58,21 @@
   guint64 out_offset0;
   guint64 samples_in;
   guint64 samples_out;
-  
+
   guint64 num_gap_samples;
   guint64 num_nongap_samples;
 
   /* properties */
+  GstAudioResamplerMethod method;
   gint quality;
+  GstAudioResamplerFilterMode sinc_filter_mode;
+  guint32 sinc_filter_auto_threshold;
+  GstAudioResamplerFilterInterpolation sinc_filter_interpolation;
 
   /* state */
-  gboolean fp;
-  gint width;
-  gint channels;
-  gint inrate;
-  gint outrate;
-
-  SpeexResamplerSincFilterMode sinc_filter_mode;
-  guint32 sinc_filter_auto_threshold;
-
-  guint8 *tmp_in;
-  guint tmp_in_size;
-
-  guint8 *tmp_out;
-  guint tmp_out_size;
-
-  SpeexResamplerState *state;
-  const SpeexResampleFuncs *funcs;
+  GstAudioInfo in;
+  GstAudioInfo out;
+  GstAudioConverter *converter;
 };
 
 struct _GstAudioResampleClass {
diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
deleted file mode 100644
index c375535..0000000
--- a/gst/audioresample/resample.c
+++ /dev/null
@@ -1,1516 +0,0 @@
-/* Copyright (C) 2007-2008 Jean-Marc Valin
-   Copyright (C) 2008      Thorvald Natvig
-      
-   File: resample.c
-   Arbitrary resampling code
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are
-   met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   3. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-   IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-   DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
-   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-   ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-   POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-   The design goals of this code are:
-      - Very fast algorithm
-      - SIMD-friendly algorithm
-      - Low memory requirement
-      - Good *perceptual* quality (and not best SNR)
-
-   Warning: This resampler is relatively new. Although I think I got rid of 
-   all the major bugs and I don't expect the API to change anymore, there
-   may be something I've missed. So use with caution.
-
-   This algorithm is based on this original resampling algorithm:
-   Smith, Julius O. Digital Audio Resampling Home Page
-   Center for Computer Research in Music and Acoustics (CCRMA), 
-   Stanford University, 2007.
-   Web published at http://www-ccrma.stanford.edu/~jos/resample/.
-
-   There is one main difference, though. This resampler uses cubic 
-   interpolation instead of linear interpolation in the above paper. This
-   makes the table much smaller and makes it possible to compute that table
-   on a per-stream basis. In turn, being able to tweak the table for each 
-   stream makes it possible to both reduce complexity on simple ratios 
-   (e.g. 2/3), and get rid of the rounding operations in the inner loop. 
-   The latter both reduces CPU time and makes the algorithm more SIMD-friendly.
-*/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#ifdef OUTSIDE_SPEEX
-#include <stdlib.h>
-
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#include <glib.h>
-
-#ifdef HAVE_ORC
-#include <orc/orc.h>
-#endif
-
-#define EXPORT G_GNUC_INTERNAL
-
-#ifdef _USE_SSE
-#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
-#undef _USE_SSE
-#endif
-#endif
-
-#ifdef _USE_SSE2
-#if !defined(__SSE2__) || !defined(HAVE_EMMINTRIN_H)
-#undef _USE_SSE2
-#endif
-#endif
-
-#ifdef _USE_NEON
-#ifndef HAVE_ARM_NEON
-#undef _USE_NEON
-#endif
-#endif
-
-static inline void *
-speex_alloc (int size)
-{
-  return g_malloc0 (size);
-}
-
-static inline void *
-speex_realloc (void *ptr, int size)
-{
-  return g_realloc (ptr, size);
-}
-
-static inline void
-speex_free (void *ptr)
-{
-  g_free (ptr);
-}
-
-#include "speex_resampler.h"
-#include "arch.h"
-#else /* OUTSIDE_SPEEX */
-
-#include "../include/speex/speex_resampler.h"
-#include "arch.h"
-#include "os_support.h"
-#endif /* OUTSIDE_SPEEX */
-
-#include <math.h>
-
-#ifdef FIXED_POINT
-#define WORD2INT(x) ((x) < -32767 ? -32768 : ((x) > 32766 ? 32767 : (x)))
-#else
-#define WORD2INT(x) ((x) < -32767.5f ? -32768 : ((x) > 32766.5f ? 32767 : floor(.5+(x))))
-#endif
-
-#define IMAX(a,b) ((a) > (b) ? (a) : (b))
-#define IMIN(a,b) ((a) < (b) ? (a) : (b))
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-#if defined _USE_SSE || defined _USE_SSE2
-#include "resample_sse.h"
-#endif
-
-#ifdef _USE_NEON
-#include "resample_neon.h"
-#endif
-
-/* Numer of elements to allocate on the stack */
-#ifdef VAR_ARRAYS
-#define FIXED_STACK_ALLOC 8192
-#else
-#define FIXED_STACK_ALLOC 1024
-#endif
-
-/* Allow selecting SSE or not when compiled with SSE support */
-#ifdef _USE_SSE
-#define SSE_FALLBACK(macro) \
-  if (st->use_sse) goto sse_##macro##_sse; {
-#define SSE_IMPLEMENTATION(macro) \
-  goto sse_##macro##_end; } sse_##macro##_sse: {
-#define SSE_END(macro) sse_##macro##_end:; }
-#else
-#define SSE_FALLBACK(macro)
-#endif
-
-#ifdef _USE_SSE2
-#define SSE2_FALLBACK(macro) \
-  if (st->use_sse2) goto sse2_##macro##_sse2; {
-#define SSE2_IMPLEMENTATION(macro) \
-  goto sse2_##macro##_end; } sse2_##macro##_sse2: {
-#define SSE2_END(macro) sse2_##macro##_end:; }
-#else
-#define SSE2_FALLBACK(macro)
-#endif
-
-#ifdef _USE_NEON
-#define NEON_FALLBACK(macro) \
-  if (st->use_neon) goto neon_##macro##_neon; {
-#define NEON_IMPLEMENTATION(macro) \
-  goto neon_##macro##_end; } neon_##macro##_neon: {
-#define NEON_END(macro) neon_##macro##_end:; }
-#else
-#define NEON_FALLBACK(macro)
-#endif
-
-
-typedef int (*resampler_basic_func) (SpeexResamplerState *, spx_uint32_t,
-    const spx_word16_t *, spx_uint32_t *, spx_word16_t *, spx_uint32_t *);
-
-struct SpeexResamplerState_
-{
-  spx_uint32_t in_rate;
-  spx_uint32_t out_rate;
-  spx_uint32_t num_rate;
-  spx_uint32_t den_rate;
-
-  int quality;
-  spx_uint32_t nb_channels;
-  spx_uint32_t filt_len;
-  spx_uint32_t mem_alloc_size;
-  spx_uint32_t buffer_size;
-  int int_advance;
-  int frac_advance;
-  float cutoff;
-  spx_uint32_t oversample;
-  int initialised;
-  int started;
-  int use_full_sinc_table;
-
-  /* These are per-channel */
-  spx_int32_t *last_sample;
-  spx_uint32_t *samp_frac_num;
-  spx_uint32_t *magic_samples;
-
-  spx_word16_t *mem;
-  spx_word16_t *sinc_table;
-  spx_uint32_t sinc_table_length;
-  resampler_basic_func resampler_ptr;
-
-  int in_stride;
-  int out_stride;
-
-  int use_sse:1;
-  int use_sse2:1;
-  int use_neon:1;
-};
-
-static const double kaiser12_table[68] = {
-  0.99859849, 1.00000000, 0.99859849, 0.99440475, 0.98745105, 0.97779076,
-  0.96549770, 0.95066529, 0.93340547, 0.91384741, 0.89213598, 0.86843014,
-  0.84290116, 0.81573067, 0.78710866, 0.75723148, 0.72629970, 0.69451601,
-  0.66208321, 0.62920216, 0.59606986, 0.56287762, 0.52980938, 0.49704014,
-  0.46473455, 0.43304576, 0.40211431, 0.37206735, 0.34301800, 0.31506490,
-  0.28829195, 0.26276832, 0.23854851, 0.21567274, 0.19416736, 0.17404546,
-  0.15530766, 0.13794294, 0.12192957, 0.10723616, 0.09382272, 0.08164178,
-  0.07063950, 0.06075685, 0.05193064, 0.04409466, 0.03718069, 0.03111947,
-  0.02584161, 0.02127838, 0.01736250, 0.01402878, 0.01121463, 0.00886058,
-  0.00691064, 0.00531256, 0.00401805, 0.00298291, 0.00216702, 0.00153438,
-  0.00105297, 0.00069463, 0.00043489, 0.00025272, 0.00013031, 0.0000527734,
-  0.00001000, 0.00000000
-};
-
-/*
-static const double kaiser12_table[36] = {
-   0.99440475, 1.00000000, 0.99440475, 0.97779076, 0.95066529, 0.91384741,
-   0.86843014, 0.81573067, 0.75723148, 0.69451601, 0.62920216, 0.56287762,
-   0.49704014, 0.43304576, 0.37206735, 0.31506490, 0.26276832, 0.21567274,
-   0.17404546, 0.13794294, 0.10723616, 0.08164178, 0.06075685, 0.04409466,
-   0.03111947, 0.02127838, 0.01402878, 0.00886058, 0.00531256, 0.00298291,
-   0.00153438, 0.00069463, 0.00025272, 0.0000527734, 0.00000500, 0.00000000};
-*/
-static const double kaiser10_table[36] = {
-  0.99537781, 1.00000000, 0.99537781, 0.98162644, 0.95908712, 0.92831446,
-  0.89005583, 0.84522401, 0.79486424, 0.74011713, 0.68217934, 0.62226347,
-  0.56155915, 0.50119680, 0.44221549, 0.38553619, 0.33194107, 0.28205962,
-  0.23636152, 0.19515633, 0.15859932, 0.12670280, 0.09935205, 0.07632451,
-  0.05731132, 0.04193980, 0.02979584, 0.02044510, 0.01345224, 0.00839739,
-  0.00488951, 0.00257636, 0.00115101, 0.00035515, 0.00000000, 0.00000000
-};
-
-static const double kaiser8_table[36] = {
-  0.99635258, 1.00000000, 0.99635258, 0.98548012, 0.96759014, 0.94302200,
-  0.91223751, 0.87580811, 0.83439927, 0.78875245, 0.73966538, 0.68797126,
-  0.63451750, 0.58014482, 0.52566725, 0.47185369, 0.41941150, 0.36897272,
-  0.32108304, 0.27619388, 0.23465776, 0.19672670, 0.16255380, 0.13219758,
-  0.10562887, 0.08273982, 0.06335451, 0.04724088, 0.03412321, 0.02369490,
-  0.01563093, 0.00959968, 0.00527363, 0.00233883, 0.00050000, 0.00000000
-};
-
-static const double kaiser6_table[36] = {
-  0.99733006, 1.00000000, 0.99733006, 0.98935595, 0.97618418, 0.95799003,
-  0.93501423, 0.90755855, 0.87598009, 0.84068475, 0.80211977, 0.76076565,
-  0.71712752, 0.67172623, 0.62508937, 0.57774224, 0.53019925, 0.48295561,
-  0.43647969, 0.39120616, 0.34752997, 0.30580127, 0.26632152, 0.22934058,
-  0.19505503, 0.16360756, 0.13508755, 0.10953262, 0.08693120, 0.06722600,
-  0.05031820, 0.03607231, 0.02432151, 0.01487334, 0.00752000, 0.00000000
-};
-
-struct FuncDef
-{
-  const double *table;
-  int oversample;
-};
-
-static struct FuncDef _KAISER12 = { kaiser12_table, 64 };
-
-#define KAISER12 (&_KAISER12)
-/*static struct FuncDef _KAISER12 = {kaiser12_table, 32};
-#define KAISER12 (&_KAISER12)*/
-static struct FuncDef _KAISER10 = { kaiser10_table, 32 };
-
-#define KAISER10 (&_KAISER10)
-static struct FuncDef _KAISER8 = { kaiser8_table, 32 };
-
-#define KAISER8 (&_KAISER8)
-static struct FuncDef _KAISER6 = { kaiser6_table, 32 };
-
-#define KAISER6 (&_KAISER6)
-
-struct QualityMapping
-{
-  int base_length;
-  int oversample;
-  float downsample_bandwidth;
-  float upsample_bandwidth;
-  struct FuncDef *window_func;
-};
-
-
-/* This table maps conversion quality to internal parameters. There are two
-   reasons that explain why the up-sampling bandwidth is larger than the 
-   down-sampling bandwidth:
-   1) When up-sampling, we can assume that the spectrum is already attenuated
-      close to the Nyquist rate (from an A/D or a previous resampling filter)
-   2) Any aliasing that occurs very close to the Nyquist rate will be masked
-      by the sinusoids/noise just below the Nyquist rate (guaranteed only for
-      up-sampling).
-*/
-static const struct QualityMapping quality_map[11] = {
-  {8, 4, 0.830f, 0.860f, KAISER6},      /* Q0 */
-  {16, 4, 0.850f, 0.880f, KAISER6},     /* Q1 */
-  {32, 4, 0.882f, 0.910f, KAISER6},     /* Q2 *//* 82.3% cutoff ( ~60 dB stop) 6  */
-  {48, 8, 0.895f, 0.917f, KAISER8},     /* Q3 *//* 84.9% cutoff ( ~80 dB stop) 8  */
-  {64, 8, 0.921f, 0.940f, KAISER8},     /* Q4 *//* 88.7% cutoff ( ~80 dB stop) 8  */
-  {80, 16, 0.922f, 0.940f, KAISER10},   /* Q5 *//* 89.1% cutoff (~100 dB stop) 10 */
-  {96, 16, 0.940f, 0.945f, KAISER10},   /* Q6 *//* 91.5% cutoff (~100 dB stop) 10 */
-  {128, 16, 0.950f, 0.950f, KAISER10},  /* Q7 *//* 93.1% cutoff (~100 dB stop) 10 */
-  {160, 16, 0.960f, 0.960f, KAISER10},  /* Q8 *//* 94.5% cutoff (~100 dB stop) 10 */
-  {192, 32, 0.968f, 0.968f, KAISER12},  /* Q9 *//* 95.5% cutoff (~100 dB stop) 10 */
-  {256, 32, 0.975f, 0.975f, KAISER12},  /* Q10 *//* 96.6% cutoff (~100 dB stop) 10 */
-};
-
-/*8,24,40,56,80,104,128,160,200,256,320*/
-#ifdef DOUBLE_PRECISION
-static double
-compute_func (double x, struct FuncDef *func)
-{
-  double y, frac;
-#else
-static double
-compute_func (float x, struct FuncDef *func)
-{
-  float y, frac;
-#endif
-  double interp[4];
-  int ind;
-  y = x * func->oversample;
-  ind = (int) floor (y);
-  frac = (y - ind);
-  /* CSE with handle the repeated powers */
-  interp[3] = -0.1666666667 * frac + 0.1666666667 * (frac * frac * frac);
-  interp[2] = frac + 0.5 * (frac * frac) - 0.5 * (frac * frac * frac);
-  /*interp[2] = 1.f - 0.5f*frac - frac*frac + 0.5f*frac*frac*frac; */
-  interp[0] =
-      -0.3333333333 * frac + 0.5 * (frac * frac) -
-      0.1666666667 * (frac * frac * frac);
-  /* Just to make sure we don't have rounding problems */
-  interp[1] = 1.f - interp[3] - interp[2] - interp[0];
-
-  /*sum = frac*accum[1] + (1-frac)*accum[2]; */
-  return interp[0] * func->table[ind] + interp[1] * func->table[ind + 1] +
-      interp[2] * func->table[ind + 2] + interp[3] * func->table[ind + 3];
-}
-
-#if 0
-#include <stdio.h>
-int
-main (int argc, char **argv)
-{
-  int i;
-  for (i = 0; i < 256; i++) {
-    printf ("%f\n", compute_func (i / 256., KAISER12));
-  }
-  return 0;
-}
-#endif
-
-#ifdef FIXED_POINT
-/* The slow way of computing a sinc for the table. Should improve that some day */
-static spx_word16_t
-sinc (float cutoff, float x, int N, struct FuncDef *window_func)
-{
-  /*fprintf (stderr, "%f ", x); */
-  float xx = x * cutoff;
-  if (fabs (x) < 1e-6f)
-    return WORD2INT (32768. * cutoff);
-  else if (fabs (x) > .5f * N)
-    return 0;
-  /*FIXME: Can it really be any slower than this? */
-  return WORD2INT (32768. * cutoff * sin (G_PI * xx) / (G_PI * xx) *
-      compute_func (fabs (2. * x / N), window_func));
-}
-#else
-/* The slow way of computing a sinc for the table. Should improve that some day */
-#ifdef DOUBLE_PRECISION
-static spx_word16_t
-sinc (double cutoff, double x, int N, struct FuncDef *window_func)
-{
-  /*fprintf (stderr, "%f ", x); */
-  double xx = x * cutoff;
-#else
-static spx_word16_t
-sinc (float cutoff, float x, int N, struct FuncDef *window_func)
-{
-  /*fprintf (stderr, "%f ", x); */
-  float xx = x * cutoff;
-#endif
-  if (fabs (x) < 1e-6)
-    return cutoff;
-  else if (fabs (x) > .5 * N)
-    return 0;
-  /*FIXME: Can it really be any slower than this? */
-  return cutoff * sin (G_PI * xx) / (G_PI * xx) * compute_func (fabs (2. * x /
-          N), window_func);
-}
-#endif
-
-#ifdef FIXED_POINT
-static void
-cubic_coef (spx_word16_t x, spx_word16_t interp[4])
-{
-  /* Compute interpolation coefficients. I'm not sure whether this corresponds to cubic interpolation
-     but I know it's MMSE-optimal on a sinc */
-  spx_word16_t x2, x3;
-  x2 = MULT16_16_P15 (x, x);
-  x3 = MULT16_16_P15 (x, x2);
-  interp[0] =
-      PSHR32 (MULT16_16 (QCONST16 (-0.16667f, 15),
-          x) + MULT16_16 (QCONST16 (0.16667f, 15), x3), 15);
-  interp[1] =
-      EXTRACT16 (EXTEND32 (x) + SHR32 (SUB32 (EXTEND32 (x2), EXTEND32 (x3)),
-          1));
-  interp[3] =
-      PSHR32 (MULT16_16 (QCONST16 (-0.33333f, 15),
-          x) + MULT16_16 (QCONST16 (.5f, 15),
-          x2) - MULT16_16 (QCONST16 (0.16667f, 15), x3), 15);
-  /* Just to make sure we don't have rounding problems */
-  interp[2] = Q15_ONE - interp[0] - interp[1] - interp[3];
-  if (interp[2] < 32767)
-    interp[2] += 1;
-}
-#else
-static void
-cubic_coef (spx_word16_t frac, spx_word16_t interp[4])
-{
-  /* Compute interpolation coefficients. I'm not sure whether this corresponds to cubic interpolation
-     but I know it's MMSE-optimal on a sinc */
-  interp[0] = -0.16667f * frac + 0.16667f * frac * frac * frac;
-  interp[1] = frac + 0.5f * frac * frac - 0.5f * frac * frac * frac;
-  /*interp[2] = 1.f - 0.5f*frac - frac*frac + 0.5f*frac*frac*frac; */
-  interp[3] =
-      -0.33333f * frac + 0.5f * frac * frac - 0.16667f * frac * frac * frac;
-  /* Just to make sure we don't have rounding problems */
-  interp[2] = 1. - interp[0] - interp[1] - interp[3];
-}
-#endif
-
-#ifndef DOUBLE_PRECISION
-static int
-resampler_basic_direct_single (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const spx_word16_t * in, spx_uint32_t * in_len,
-    spx_word16_t * out, spx_uint32_t * out_len)
-{
-  const int N = st->filt_len;
-  int out_sample = 0;
-  int last_sample = st->last_sample[channel_index];
-  spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index];
-  const spx_word16_t *sinc_table = st->sinc_table;
-  const int out_stride = st->out_stride;
-  const int int_advance = st->int_advance;
-  const int frac_advance = st->frac_advance;
-  const spx_uint32_t den_rate = st->den_rate;
-  spx_word32_t sum;
-  int j;
-
-  while (!(last_sample >= (spx_int32_t) * in_len
-          || out_sample >= (spx_int32_t) * out_len)) {
-    const spx_word16_t *sinc = &sinc_table[samp_frac_num * N];
-    const spx_word16_t *iptr = &in[last_sample];
-
-    SSE_FALLBACK (INNER_PRODUCT_SINGLE)
-        NEON_FALLBACK (INNER_PRODUCT_SINGLE)
-        sum = 0;
-    for (j = 0; j < N; j++)
-      sum += MULT16_16 (sinc[j], iptr[j]);
-
-/*    This code is slower on most DSPs which have only 2 accumulators.
-      Plus this forces truncation to 32 bits and you lose the HW guard bits.
-      I think we can trust the compiler and let it vectorize and/or unroll itself.
-      spx_word32_t accum[4] = {0,0,0,0};
-      for(j=0;j<N;j+=4) {
-        accum[0] += MULT16_16(sinc[j], iptr[j]);
-        accum[1] += MULT16_16(sinc[j+1], iptr[j+1]);
-        accum[2] += MULT16_16(sinc[j+2], iptr[j+2]);
-        accum[3] += MULT16_16(sinc[j+3], iptr[j+3]);
-      }
-      sum = accum[0] + accum[1] + accum[2] + accum[3];
-*/
-#if defined(OVERRIDE_INNER_PRODUCT_SINGLE) && defined(_USE_NEON)
-    NEON_IMPLEMENTATION (INNER_PRODUCT_SINGLE)
-        sum = inner_product_single (sinc, iptr, N);
-    NEON_END (INNER_PRODUCT_SINGLE)
-#elif defined(OVERRIDE_INNER_PRODUCT_SINGLE) && defined(_USE_SSE)
-    SSE_IMPLEMENTATION (INNER_PRODUCT_SINGLE)
-        sum = inner_product_single (sinc, iptr, N);
-    SSE_END (INNER_PRODUCT_SINGLE)
-#endif
-        out[out_stride * out_sample++] = SATURATE32PSHR (sum, 15, 32767);
-    last_sample += int_advance;
-    samp_frac_num += frac_advance;
-    if (samp_frac_num >= den_rate) {
-      samp_frac_num -= den_rate;
-      last_sample++;
-    }
-  }
-
-  st->last_sample[channel_index] = last_sample;
-  st->samp_frac_num[channel_index] = samp_frac_num;
-  return out_sample;
-}
-#endif
-
-#ifdef FIXED_POINT
-#else
-/* This is the same as the previous function, except with a double-precision accumulator */
-static int
-resampler_basic_direct_double (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const spx_word16_t * in, spx_uint32_t * in_len,
-    spx_word16_t * out, spx_uint32_t * out_len)
-{
-  const int N = st->filt_len;
-  int out_sample = 0;
-  int last_sample = st->last_sample[channel_index];
-  spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index];
-  const spx_word16_t *sinc_table = st->sinc_table;
-  const int out_stride = st->out_stride;
-  const int int_advance = st->int_advance;
-  const int frac_advance = st->frac_advance;
-  const spx_uint32_t den_rate = st->den_rate;
-  double sum;
-  int j;
-
-  while (!(last_sample >= (spx_int32_t) * in_len
-          || out_sample >= (spx_int32_t) * out_len)) {
-    const spx_word16_t *sinc = &sinc_table[samp_frac_num * N];
-    const spx_word16_t *iptr = &in[last_sample];
-
-    SSE2_FALLBACK (INNER_PRODUCT_DOUBLE)
-    double accum[4] = { 0, 0, 0, 0 };
-
-    for (j = 0; j < N; j += 4) {
-      accum[0] += sinc[j] * iptr[j];
-      accum[1] += sinc[j + 1] * iptr[j + 1];
-      accum[2] += sinc[j + 2] * iptr[j + 2];
-      accum[3] += sinc[j + 3] * iptr[j + 3];
-    }
-    sum = accum[0] + accum[1] + accum[2] + accum[3];
-#if defined(OVERRIDE_INNER_PRODUCT_DOUBLE) && defined(_USE_SSE2)
-    SSE2_IMPLEMENTATION (INNER_PRODUCT_DOUBLE)
-        sum = inner_product_double (sinc, iptr, N);
-    SSE2_END (INNER_PRODUCT_DOUBLE)
-#endif
-        out[out_stride * out_sample++] = PSHR32 (sum, 15);
-    last_sample += int_advance;
-    samp_frac_num += frac_advance;
-    if (samp_frac_num >= den_rate) {
-      samp_frac_num -= den_rate;
-      last_sample++;
-    }
-  }
-
-  st->last_sample[channel_index] = last_sample;
-  st->samp_frac_num[channel_index] = samp_frac_num;
-  return out_sample;
-}
-#endif
-
-#ifndef DOUBLE_PRECISION
-static int
-resampler_basic_interpolate_single (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const spx_word16_t * in, spx_uint32_t * in_len,
-    spx_word16_t * out, spx_uint32_t * out_len)
-{
-  const int N = st->filt_len;
-  int out_sample = 0;
-  int last_sample = st->last_sample[channel_index];
-  spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index];
-  const int out_stride = st->out_stride;
-  const int int_advance = st->int_advance;
-  const int frac_advance = st->frac_advance;
-  const spx_uint32_t den_rate = st->den_rate;
-  int j;
-  spx_word32_t sum;
-
-  while (!(last_sample >= (spx_int32_t) * in_len
-          || out_sample >= (spx_int32_t) * out_len)) {
-    const spx_word16_t *iptr = &in[last_sample];
-
-    const int offset = samp_frac_num * st->oversample / st->den_rate;
-#ifdef FIXED_POINT
-    const spx_word16_t frac =
-        ((((gint64) samp_frac_num * (gint64) st->oversample) % st->den_rate)
-        << 15) / st->den_rate;
-#else
-    const spx_word16_t frac =
-        ((float) ((samp_frac_num * st->oversample) % st->den_rate)) /
-        st->den_rate;
-#endif
-    spx_word16_t interp[4];
-
-
-    SSE_FALLBACK (INTERPOLATE_PRODUCT_SINGLE)
-    spx_word32_t accum[4] = { 0, 0, 0, 0 };
-
-    for (j = 0; j < N; j++) {
-      const spx_word16_t curr_in = iptr[j];
-      accum[0] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset - 2]);
-      accum[1] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset - 1]);
-      accum[2] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset]);
-      accum[3] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset + 1]);
-    }
-
-    cubic_coef (frac, interp);
-    sum =
-        MULT16_32_Q15 (interp[0], SHR32 (accum[0],
-            1)) + MULT16_32_Q15 (interp[1], SHR32 (accum[1],
-            1)) + MULT16_32_Q15 (interp[2], SHR32 (accum[2],
-            1)) + MULT16_32_Q15 (interp[3], SHR32 (accum[3], 1));
-#if defined(OVERRIDE_INTERPOLATE_PRODUCT_SINGLE) && defined(_USE_SSE)
-    SSE_IMPLEMENTATION (INTERPOLATE_PRODUCT_SINGLE)
-        cubic_coef (frac, interp);
-    sum =
-        interpolate_product_single (iptr,
-        st->sinc_table + st->oversample + 4 - offset - 2, N, st->oversample,
-        interp);
-    SSE_END (INTERPOLATE_PRODUCT_SINGLE)
-#endif
-        out[out_stride * out_sample++] = SATURATE32PSHR (sum, 14, 32767);
-    last_sample += int_advance;
-    samp_frac_num += frac_advance;
-    if (samp_frac_num >= den_rate) {
-      samp_frac_num -= den_rate;
-      last_sample++;
-    }
-  }
-
-  st->last_sample[channel_index] = last_sample;
-  st->samp_frac_num[channel_index] = samp_frac_num;
-  return out_sample;
-}
-#endif
-
-#ifdef FIXED_POINT
-#else
-/* This is the same as the previous function, except with a double-precision accumulator */
-static int
-resampler_basic_interpolate_double (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const spx_word16_t * in, spx_uint32_t * in_len,
-    spx_word16_t * out, spx_uint32_t * out_len)
-{
-  const int N = st->filt_len;
-  int out_sample = 0;
-  int last_sample = st->last_sample[channel_index];
-  spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index];
-  const int out_stride = st->out_stride;
-  const int int_advance = st->int_advance;
-  const int frac_advance = st->frac_advance;
-  const spx_uint32_t den_rate = st->den_rate;
-  int j;
-  spx_word32_t sum;
-
-  while (!(last_sample >= (spx_int32_t) * in_len
-          || out_sample >= (spx_int32_t) * out_len)) {
-    const spx_word16_t *iptr = &in[last_sample];
-
-    const int offset = samp_frac_num * st->oversample / st->den_rate;
-#ifdef FIXED_POINT
-    const spx_word16_t frac =
-        PDIV32 (SHL32 ((samp_frac_num * st->oversample) % st->den_rate, 15),
-        st->den_rate);
-#else
-#ifdef DOUBLE_PRECISION
-    const spx_word16_t frac =
-        ((double) ((samp_frac_num * st->oversample) % st->den_rate)) /
-        st->den_rate;
-#else
-    const spx_word16_t frac =
-        ((float) ((samp_frac_num * st->oversample) % st->den_rate)) /
-        st->den_rate;
-#endif
-#endif
-    spx_word16_t interp[4];
-
-
-    SSE2_FALLBACK (INTERPOLATE_PRODUCT_DOUBLE)
-    double accum[4] = { 0, 0, 0, 0 };
-
-    for (j = 0; j < N; j++) {
-      const double curr_in = iptr[j];
-      accum[0] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset - 2]);
-      accum[1] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset - 1]);
-      accum[2] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset]);
-      accum[3] +=
-          MULT16_16 (curr_in,
-          st->sinc_table[4 + (j + 1) * st->oversample - offset + 1]);
-    }
-
-    cubic_coef (frac, interp);
-    sum =
-        MULT16_32_Q15 (interp[0], accum[0]) + MULT16_32_Q15 (interp[1],
-        accum[1]) + MULT16_32_Q15 (interp[2],
-        accum[2]) + MULT16_32_Q15 (interp[3], accum[3]);
-#if defined(OVERRIDE_INTERPOLATE_PRODUCT_DOUBLE) && defined(_USE_SSE2)
-    SSE2_IMPLEMENTATION (INTERPOLATE_PRODUCT_DOUBLE)
-        cubic_coef (frac, interp);
-    sum =
-        interpolate_product_double (iptr,
-        st->sinc_table + st->oversample + 4 - offset - 2, N, st->oversample,
-        interp);
-    SSE2_END (INTERPOLATE_PRODUCT_DOUBLE)
-#endif
-        out[out_stride * out_sample++] = PSHR32 (sum, 15);
-    last_sample += int_advance;
-    samp_frac_num += frac_advance;
-    if (samp_frac_num >= den_rate) {
-      samp_frac_num -= den_rate;
-      last_sample++;
-    }
-  }
-
-  st->last_sample[channel_index] = last_sample;
-  st->samp_frac_num[channel_index] = samp_frac_num;
-  return out_sample;
-}
-#endif
-
-static void
-update_filter (SpeexResamplerState * st)
-{
-  spx_uint32_t old_length;
-
-  old_length = st->filt_len;
-  st->oversample = quality_map[st->quality].oversample;
-  st->filt_len = quality_map[st->quality].base_length;
-
-  if (st->num_rate > st->den_rate) {
-    /* down-sampling */
-    st->cutoff =
-        quality_map[st->quality].downsample_bandwidth * st->den_rate /
-        st->num_rate;
-    /* FIXME: divide the numerator and denominator by a certain amount if they're too large */
-    st->filt_len = st->filt_len * st->num_rate / st->den_rate;
-    /* Round down to make sure we have a multiple of 4 */
-    st->filt_len &= (~0x3);
-    if (2 * st->den_rate < st->num_rate)
-      st->oversample >>= 1;
-    if (4 * st->den_rate < st->num_rate)
-      st->oversample >>= 1;
-    if (8 * st->den_rate < st->num_rate)
-      st->oversample >>= 1;
-    if (16 * st->den_rate < st->num_rate)
-      st->oversample >>= 1;
-    if (st->oversample < 1)
-      st->oversample = 1;
-  } else {
-    /* up-sampling */
-    st->cutoff = quality_map[st->quality].upsample_bandwidth;
-  }
-
-  /* Choose the resampling type that requires the least amount of memory */
-  /* Or if the full sinc table is explicitely requested, use that */
-  if (st->use_full_sinc_table || (st->den_rate <= st->oversample)) {
-    spx_uint32_t i;
-    if (!st->sinc_table)
-      st->sinc_table =
-          (spx_word16_t *) speex_alloc (st->filt_len * st->den_rate *
-          sizeof (spx_word16_t));
-    else if (st->sinc_table_length < st->filt_len * st->den_rate) {
-      st->sinc_table =
-          (spx_word16_t *) speex_realloc (st->sinc_table,
-          st->filt_len * st->den_rate * sizeof (spx_word16_t));
-      st->sinc_table_length = st->filt_len * st->den_rate;
-    }
-    for (i = 0; i < st->den_rate; i++) {
-      spx_int32_t j;
-      for (j = 0; j < st->filt_len; j++) {
-        st->sinc_table[i * st->filt_len + j] =
-            sinc (st->cutoff, ((j - (spx_int32_t) st->filt_len / 2 + 1) -
-#ifdef DOUBLE_PRECISION
-                ((double) i) / st->den_rate), st->filt_len,
-#else
-                ((float) i) / st->den_rate), st->filt_len,
-#endif
-            quality_map[st->quality].window_func);
-      }
-    }
-#ifdef FIXED_POINT
-    st->resampler_ptr = resampler_basic_direct_single;
-#else
-#ifdef DOUBLE_PRECISION
-    st->resampler_ptr = resampler_basic_direct_double;
-#else
-    if (st->quality > 8)
-      st->resampler_ptr = resampler_basic_direct_double;
-    else
-      st->resampler_ptr = resampler_basic_direct_single;
-#endif
-#endif
-    /*fprintf (stderr, "resampler uses direct sinc table and normalised cutoff %f\n", cutoff); */
-  } else {
-    spx_int32_t i;
-    if (!st->sinc_table)
-      st->sinc_table =
-          (spx_word16_t *) speex_alloc ((st->filt_len * st->oversample +
-              8) * sizeof (spx_word16_t));
-    else if (st->sinc_table_length < st->filt_len * st->oversample + 8) {
-      st->sinc_table =
-          (spx_word16_t *) speex_realloc (st->sinc_table,
-          (st->filt_len * st->oversample + 8) * sizeof (spx_word16_t));
-      st->sinc_table_length = st->filt_len * st->oversample + 8;
-    }
-    for (i = -4; i < (spx_int32_t) (st->oversample * st->filt_len + 4); i++)
-      st->sinc_table[i + 4] =
-#ifdef DOUBLE_PRECISION
-          sinc (st->cutoff, (i / (double) st->oversample - st->filt_len / 2),
-#else
-          sinc (st->cutoff, (i / (float) st->oversample - st->filt_len / 2),
-#endif
-          st->filt_len, quality_map[st->quality].window_func);
-#ifdef FIXED_POINT
-    st->resampler_ptr = resampler_basic_interpolate_single;
-#else
-#ifdef DOUBLE_PRECISION
-    st->resampler_ptr = resampler_basic_interpolate_double;
-#else
-    if (st->quality > 8)
-      st->resampler_ptr = resampler_basic_interpolate_double;
-    else
-      st->resampler_ptr = resampler_basic_interpolate_single;
-#endif
-#endif
-    /*fprintf (stderr, "resampler uses interpolated sinc table and normalised cutoff %f\n", cutoff); */
-  }
-  st->int_advance = st->num_rate / st->den_rate;
-  st->frac_advance = st->num_rate % st->den_rate;
-
-
-  /* Here's the place where we update the filter memory to take into account
-     the change in filter length. It's probably the messiest part of the code
-     due to handling of lots of corner cases. */
-  if (!st->mem) {
-    spx_uint32_t i;
-    st->mem_alloc_size = st->filt_len - 1 + st->buffer_size;
-    st->mem =
-        (spx_word16_t *) speex_alloc (st->nb_channels * st->mem_alloc_size *
-        sizeof (spx_word16_t));
-    for (i = 0; i < st->nb_channels * st->mem_alloc_size; i++)
-      st->mem[i] = 0;
-    /*speex_warning("init filter"); */
-  } else if (!st->started) {
-    spx_uint32_t i;
-    st->mem_alloc_size = st->filt_len - 1 + st->buffer_size;
-    st->mem =
-        (spx_word16_t *) speex_realloc (st->mem,
-        st->nb_channels * st->mem_alloc_size * sizeof (spx_word16_t));
-    for (i = 0; i < st->nb_channels * st->mem_alloc_size; i++)
-      st->mem[i] = 0;
-    /*speex_warning("reinit filter"); */
-  } else if (st->filt_len > old_length) {
-    spx_int32_t i;
-    /* Increase the filter length */
-    /*speex_warning("increase filter size"); */
-    int old_alloc_size = st->mem_alloc_size;
-    if ((st->filt_len - 1 + st->buffer_size) > st->mem_alloc_size) {
-      st->mem_alloc_size = st->filt_len - 1 + st->buffer_size;
-      st->mem =
-          (spx_word16_t *) speex_realloc (st->mem,
-          st->nb_channels * st->mem_alloc_size * sizeof (spx_word16_t));
-    }
-    for (i = st->nb_channels - 1; i >= 0; i--) {
-      spx_int32_t j;
-      spx_uint32_t olen = old_length;
-      /*if (st->magic_samples[i]) */
-      {
-        /* Try and remove the magic samples as if nothing had happened */
-
-        /* FIXME: This is wrong but for now we need it to avoid going over the array bounds */
-        olen = old_length + 2 * st->magic_samples[i];
-        for (j = old_length - 2 + st->magic_samples[i]; j >= 0; j--)
-          st->mem[i * st->mem_alloc_size + j + st->magic_samples[i]] =
-              st->mem[i * old_alloc_size + j];
-        for (j = 0; j < st->magic_samples[i]; j++)
-          st->mem[i * st->mem_alloc_size + j] = 0;
-        st->magic_samples[i] = 0;
-      }
-      if (st->filt_len > olen) {
-        /* If the new filter length is still bigger than the "augmented" length */
-        /* Copy data going backward */
-        for (j = 0; j < olen - 1; j++)
-          st->mem[i * st->mem_alloc_size + (st->filt_len - 2 - j)] =
-              st->mem[i * st->mem_alloc_size + (olen - 2 - j)];
-        /* Then put zeros for lack of anything better */
-        for (; j < st->filt_len - 1; j++)
-          st->mem[i * st->mem_alloc_size + (st->filt_len - 2 - j)] = 0;
-        /* Adjust last_sample */
-        st->last_sample[i] += (st->filt_len - olen) / 2;
-      } else {
-        /* Put back some of the magic! */
-        st->magic_samples[i] = (olen - st->filt_len) / 2;
-        for (j = 0; j < st->filt_len - 1 + st->magic_samples[i]; j++)
-          st->mem[i * st->mem_alloc_size + j] =
-              st->mem[i * st->mem_alloc_size + j + st->magic_samples[i]];
-      }
-    }
-  } else if (st->filt_len < old_length) {
-    spx_uint32_t i;
-    /* Reduce filter length, this a bit tricky. We need to store some of the memory as "magic"
-       samples so they can be used directly as input the next time(s) */
-    for (i = 0; i < st->nb_channels; i++) {
-      spx_uint32_t j;
-      spx_uint32_t old_magic = st->magic_samples[i];
-      st->magic_samples[i] = (old_length - st->filt_len) / 2;
-      /* We must copy some of the memory that's no longer used */
-      /* Copy data going backward */
-      for (j = 0; j < st->filt_len - 1 + st->magic_samples[i] + old_magic; j++)
-        st->mem[i * st->mem_alloc_size + j] =
-            st->mem[i * st->mem_alloc_size + j + st->magic_samples[i]];
-      st->magic_samples[i] += old_magic;
-    }
-  }
-
-}
-
-EXPORT SpeexResamplerState *
-speex_resampler_init (spx_uint32_t nb_channels, spx_uint32_t in_rate,
-    spx_uint32_t out_rate, int quality,
-    SpeexResamplerSincFilterMode sinc_filter_mode,
-    spx_uint32_t sinc_filter_auto_threshold, int *err)
-{
-  return speex_resampler_init_frac (nb_channels, in_rate, out_rate, in_rate,
-      out_rate, quality, sinc_filter_mode, sinc_filter_auto_threshold, err);
-}
-
-#if defined HAVE_ORC && !defined DISABLE_ORC
-static void
-check_insn_set (SpeexResamplerState * st, const char *name)
-{
-  if (!name)
-    return;
-#ifdef _USE_SSE
-  if (!strcmp (name, "sse"))
-    st->use_sse = 1;
-#endif
-#ifdef _USE_SSE2
-  if (!strcmp (name, "sse2"))
-    st->use_sse = st->use_sse2 = 1;
-#endif
-#ifdef _USE_NEON
-  if (!strcmp (name, "neon"))
-    st->use_neon = 1;
-#endif
-}
-#endif
-
-EXPORT SpeexResamplerState *
-speex_resampler_init_frac (spx_uint32_t nb_channels, spx_uint32_t ratio_num,
-    spx_uint32_t ratio_den, spx_uint32_t in_rate, spx_uint32_t out_rate,
-    int quality, SpeexResamplerSincFilterMode sinc_filter_mode,
-    spx_uint32_t sinc_filter_auto_threshold, int *err)
-{
-  spx_uint32_t i;
-  SpeexResamplerState *st;
-  int use_full_sinc_table = 0;
-  if (quality > 10 || quality < 0) {
-    if (err)
-      *err = RESAMPLER_ERR_INVALID_ARG;
-    return NULL;
-  }
-  if (ratio_den == 0) {
-    if (err)
-      *err = RESAMPLER_ERR_INVALID_ARG;
-    return NULL;
-  }
-  switch (sinc_filter_mode) {
-    case RESAMPLER_SINC_FILTER_INTERPOLATED:
-      use_full_sinc_table = 0;
-      break;
-    case RESAMPLER_SINC_FILTER_FULL:
-      use_full_sinc_table = 1;
-      break;
-    case RESAMPLER_SINC_FILTER_AUTO:
-      /* Handled below */
-      break;
-    default:
-      if (err)
-        *err = RESAMPLER_ERR_INVALID_ARG;
-      return NULL;
-  }
-
-  st = (SpeexResamplerState *) speex_alloc (sizeof (SpeexResamplerState));
-  st->initialised = 0;
-  st->started = 0;
-  st->in_rate = 0;
-  st->out_rate = 0;
-  st->num_rate = 0;
-  st->den_rate = 0;
-  st->quality = -1;
-  st->sinc_table_length = 0;
-  st->mem_alloc_size = 0;
-  st->filt_len = 0;
-  st->mem = 0;
-  st->resampler_ptr = 0;
-  st->use_full_sinc_table = use_full_sinc_table;
-
-  st->cutoff = 1.f;
-  st->nb_channels = nb_channels;
-  st->in_stride = 1;
-  st->out_stride = 1;
-
-#ifdef FIXED_POINT
-  st->buffer_size = 160;
-#else
-  st->buffer_size = 160;
-#endif
-
-  st->use_sse = st->use_sse2 = 0;
-  st->use_neon = 0;
-#if defined HAVE_ORC && !defined DISABLE_ORC
-  orc_init ();
-  {
-    OrcTarget *target = orc_target_get_default ();
-    if (target) {
-      unsigned int flags = orc_target_get_default_flags (target);
-      check_insn_set (st, orc_target_get_name (target));
-      for (i = 0; i < 32; ++i) {
-        if (flags & (1U << i)) {
-          check_insn_set (st, orc_target_get_flag_name (target, i));
-        }
-      }
-    }
-  }
-#endif
-
-  /* Per channel data */
-  st->last_sample = (spx_int32_t *) speex_alloc (nb_channels * sizeof (int));
-  st->magic_samples = (spx_uint32_t *) speex_alloc (nb_channels * sizeof (int));
-  st->samp_frac_num = (spx_uint32_t *) speex_alloc (nb_channels * sizeof (int));
-  for (i = 0; i < nb_channels; i++) {
-    st->last_sample[i] = 0;
-    st->magic_samples[i] = 0;
-    st->samp_frac_num[i] = 0;
-  }
-
-  speex_resampler_set_quality (st, quality);
-  speex_resampler_set_rate_frac (st, ratio_num, ratio_den, in_rate, out_rate);
-
-  if (sinc_filter_mode == RESAMPLER_SINC_FILTER_AUTO) {
-    /*
-       Estimate how big the filter table would become if the full mode were to be used
-       calculations used correspond to the ones in update_filter()
-       if the size is bigger than the threshold, use interpolated sinc instead
-     */
-    spx_uint32_t base_filter_length = st->filt_len =
-        quality_map[st->quality].base_length;
-    spx_uint32_t filter_table_size =
-        base_filter_length * st->den_rate * sizeof (spx_uint16_t);
-    st->use_full_sinc_table =
-        (filter_table_size > sinc_filter_auto_threshold) ? 0 : 1;
-  }
-
-  update_filter (st);
-
-  st->initialised = 1;
-  if (err)
-    *err = RESAMPLER_ERR_SUCCESS;
-
-  return st;
-}
-
-EXPORT void
-speex_resampler_destroy (SpeexResamplerState * st)
-{
-  speex_free (st->mem);
-  speex_free (st->sinc_table);
-  speex_free (st->last_sample);
-  speex_free (st->magic_samples);
-  speex_free (st->samp_frac_num);
-  speex_free (st);
-}
-
-static int
-speex_resampler_process_native (SpeexResamplerState * st,
-    spx_uint32_t channel_index, spx_uint32_t * in_len, spx_word16_t * out,
-    spx_uint32_t * out_len)
-{
-  int j = 0;
-  const int N = st->filt_len;
-  int out_sample = 0;
-  spx_word16_t *mem = st->mem + channel_index * st->mem_alloc_size;
-  spx_uint32_t ilen;
-
-  st->started = 1;
-
-  /* Call the right resampler through the function ptr */
-  out_sample = st->resampler_ptr (st, channel_index, mem, in_len, out, out_len);
-
-  if (st->last_sample[channel_index] < (spx_int32_t) * in_len)
-    *in_len = st->last_sample[channel_index];
-  *out_len = out_sample;
-  st->last_sample[channel_index] -= *in_len;
-
-  ilen = *in_len;
-
-  for (j = 0; j < N - 1; ++j)
-    mem[j] = mem[j + ilen];
-
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-static int
-speex_resampler_magic (SpeexResamplerState * st, spx_uint32_t channel_index,
-    spx_word16_t ** out, spx_uint32_t out_len)
-{
-  spx_uint32_t tmp_in_len = st->magic_samples[channel_index];
-  spx_word16_t *mem = st->mem + channel_index * st->mem_alloc_size;
-  const int N = st->filt_len;
-
-  speex_resampler_process_native (st, channel_index, &tmp_in_len, *out,
-      &out_len);
-
-  st->magic_samples[channel_index] -= tmp_in_len;
-
-  /* If we couldn't process all "magic" input samples, save the rest for next time */
-  if (st->magic_samples[channel_index]) {
-    spx_uint32_t i;
-    for (i = 0; i < st->magic_samples[channel_index]; i++)
-      mem[N - 1 + i] = mem[N - 1 + i + tmp_in_len];
-  }
-  *out += out_len * st->out_stride;
-  return out_len;
-}
-
-#ifdef FIXED_POINT
-EXPORT int
-speex_resampler_process_int (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const spx_int16_t * in, spx_uint32_t * in_len,
-    spx_int16_t * out, spx_uint32_t * out_len)
-#else
-#ifdef DOUBLE_PRECISION
-EXPORT int
-speex_resampler_process_float (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const double *in, spx_uint32_t * in_len,
-    double *out, spx_uint32_t * out_len)
-#else
-EXPORT int
-speex_resampler_process_float (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const float *in, spx_uint32_t * in_len,
-    float *out, spx_uint32_t * out_len)
-#endif
-#endif
-{
-  int j;
-  spx_uint32_t ilen = *in_len;
-  spx_uint32_t olen = *out_len;
-  spx_word16_t *x = st->mem + channel_index * st->mem_alloc_size;
-  const int filt_offs = st->filt_len - 1;
-  const spx_uint32_t xlen = st->mem_alloc_size - filt_offs;
-  const int istride = st->in_stride;
-
-  if (st->magic_samples[channel_index])
-    olen -= speex_resampler_magic (st, channel_index, &out, olen);
-  if (!st->magic_samples[channel_index]) {
-    while (ilen) {
-      spx_uint32_t ichunk = (ilen > xlen) ? xlen : ilen;
-      spx_uint32_t ochunk = olen;
-
-      if (in) {
-        for (j = 0; j < ichunk; ++j)
-          x[j + filt_offs] = in[j * istride];
-      } else {
-        for (j = 0; j < ichunk; ++j)
-          x[j + filt_offs] = 0;
-      }
-      speex_resampler_process_native (st, channel_index, &ichunk, out, &ochunk);
-      ilen -= ichunk;
-      olen -= ochunk;
-      out += ochunk * st->out_stride;
-      if (in)
-        in += ichunk * istride;
-      if (olen == 0 && ichunk == 0)
-        break;
-    }
-  }
-  *in_len -= ilen;
-  *out_len -= olen;
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-#ifdef FIXED_POINT
-EXPORT int
-speex_resampler_process_float (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const float *in, spx_uint32_t * in_len,
-    float *out, spx_uint32_t * out_len)
-#else
-EXPORT int
-speex_resampler_process_int (SpeexResamplerState * st,
-    spx_uint32_t channel_index, const spx_int16_t * in, spx_uint32_t * in_len,
-    spx_int16_t * out, spx_uint32_t * out_len)
-#endif
-{
-  int j;
-  const int istride_save = st->in_stride;
-  const int ostride_save = st->out_stride;
-  spx_uint32_t ilen = *in_len;
-  spx_uint32_t olen = *out_len;
-  spx_word16_t *x = st->mem + channel_index * st->mem_alloc_size;
-  const spx_uint32_t xlen = st->mem_alloc_size - (st->filt_len - 1);
-#ifdef VAR_ARRAYS
-  const unsigned int ylen =
-      (olen < FIXED_STACK_ALLOC) ? olen : FIXED_STACK_ALLOC;
-  VARDECL (spx_word16_t * ystack);
-  ALLOC (ystack, ylen, spx_word16_t);
-#else
-  const unsigned int ylen = FIXED_STACK_ALLOC;
-  spx_word16_t ystack[FIXED_STACK_ALLOC];
-#endif
-
-  st->out_stride = 1;
-
-  while (ilen) {
-    spx_word16_t *y = ystack;
-    spx_uint32_t ichunk = (ilen > xlen) ? xlen : ilen;
-    spx_uint32_t ochunk = (olen > ylen) ? ylen : olen;
-    spx_uint32_t omagic = 0;
-
-    if (st->magic_samples[channel_index]) {
-      omagic = speex_resampler_magic (st, channel_index, &y, ochunk);
-      ochunk -= omagic;
-      olen -= omagic;
-    }
-    if (!st->magic_samples[channel_index]) {
-      if (in) {
-        for (j = 0; j < ichunk; ++j)
-#ifdef FIXED_POINT
-          x[j + st->filt_len - 1] = WORD2INT (in[j * istride_save]);
-#else
-          x[j + st->filt_len - 1] = in[j * istride_save];
-#endif
-      } else {
-        for (j = 0; j < ichunk; ++j)
-          x[j + st->filt_len - 1] = 0;
-      }
-
-      speex_resampler_process_native (st, channel_index, &ichunk, y, &ochunk);
-    } else {
-      ichunk = 0;
-      ochunk = 0;
-    }
-
-    for (j = 0; j < ochunk + omagic; ++j)
-#ifdef FIXED_POINT
-      out[j * ostride_save] = ystack[j];
-#else
-      out[j * ostride_save] = WORD2INT (ystack[j]);
-#endif
-
-    ilen -= ichunk;
-    olen -= ochunk;
-    out += (ochunk + omagic) * ostride_save;
-    if (in)
-      in += ichunk * istride_save;
-    if (olen == 0 && ichunk == 0)
-      break;
-  }
-  st->out_stride = ostride_save;
-  *in_len -= ilen;
-  *out_len -= olen;
-
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-#ifdef DOUBLE_PRECISION
-EXPORT int
-speex_resampler_process_interleaved_float (SpeexResamplerState * st,
-    const double *in, spx_uint32_t * in_len, double *out,
-    spx_uint32_t * out_len)
-#else
-EXPORT int
-speex_resampler_process_interleaved_float (SpeexResamplerState * st,
-    const float *in, spx_uint32_t * in_len, float *out, spx_uint32_t * out_len)
-#endif
-{
-  spx_uint32_t i;
-  int istride_save, ostride_save;
-  spx_uint32_t bak_len = *out_len;
-  istride_save = st->in_stride;
-  ostride_save = st->out_stride;
-  st->in_stride = st->out_stride = st->nb_channels;
-  for (i = 0; i < st->nb_channels; i++) {
-    *out_len = bak_len;
-    if (in != NULL)
-      speex_resampler_process_float (st, i, in + i, in_len, out + i, out_len);
-    else
-      speex_resampler_process_float (st, i, NULL, in_len, out + i, out_len);
-  }
-  st->in_stride = istride_save;
-  st->out_stride = ostride_save;
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-EXPORT int
-speex_resampler_process_interleaved_int (SpeexResamplerState * st,
-    const spx_int16_t * in, spx_uint32_t * in_len, spx_int16_t * out,
-    spx_uint32_t * out_len)
-{
-  spx_uint32_t i;
-  int istride_save, ostride_save;
-  spx_uint32_t bak_len = *out_len;
-  istride_save = st->in_stride;
-  ostride_save = st->out_stride;
-  st->in_stride = st->out_stride = st->nb_channels;
-  for (i = 0; i < st->nb_channels; i++) {
-    *out_len = bak_len;
-    if (in != NULL)
-      speex_resampler_process_int (st, i, in + i, in_len, out + i, out_len);
-    else
-      speex_resampler_process_int (st, i, NULL, in_len, out + i, out_len);
-  }
-  st->in_stride = istride_save;
-  st->out_stride = ostride_save;
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-EXPORT int
-speex_resampler_set_rate (SpeexResamplerState * st, spx_uint32_t in_rate,
-    spx_uint32_t out_rate)
-{
-  return speex_resampler_set_rate_frac (st, in_rate, out_rate, in_rate,
-      out_rate);
-}
-
-EXPORT void
-speex_resampler_get_rate (SpeexResamplerState * st, spx_uint32_t * in_rate,
-    spx_uint32_t * out_rate)
-{
-  *in_rate = st->in_rate;
-  *out_rate = st->out_rate;
-}
-
-EXPORT int
-speex_resampler_set_rate_frac (SpeexResamplerState * st, spx_uint32_t ratio_num,
-    spx_uint32_t ratio_den, spx_uint32_t in_rate, spx_uint32_t out_rate)
-{
-  spx_uint32_t fact;
-  spx_uint32_t old_den;
-  spx_uint32_t i;
-  if (st->in_rate == in_rate && st->out_rate == out_rate
-      && st->num_rate == ratio_num && st->den_rate == ratio_den)
-    return RESAMPLER_ERR_SUCCESS;
-
-  old_den = st->den_rate;
-  st->in_rate = in_rate;
-  st->out_rate = out_rate;
-  st->num_rate = ratio_num;
-  st->den_rate = ratio_den;
-  /* FIXME: This is terribly inefficient, but who cares (at least for now)? */
-  for (fact = 2; fact <= IMIN (st->num_rate, st->den_rate); fact++) {
-    while ((st->num_rate % fact == 0) && (st->den_rate % fact == 0)) {
-      st->num_rate /= fact;
-      st->den_rate /= fact;
-    }
-  }
-
-  if (old_den > 0) {
-    for (i = 0; i < st->nb_channels; i++) {
-      st->samp_frac_num[i] =
-          (gint64) st->samp_frac_num[i] * (gint64) st->den_rate / old_den;
-      /* Safety net */
-      if (st->samp_frac_num[i] >= st->den_rate)
-        st->samp_frac_num[i] = st->den_rate - 1;
-    }
-  }
-
-  if (st->initialised)
-    update_filter (st);
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-EXPORT void
-speex_resampler_get_ratio (SpeexResamplerState * st, spx_uint32_t * ratio_num,
-    spx_uint32_t * ratio_den)
-{
-  *ratio_num = st->num_rate;
-  *ratio_den = st->den_rate;
-}
-
-EXPORT int
-speex_resampler_set_quality (SpeexResamplerState * st, int quality)
-{
-  if (quality > 10 || quality < 0)
-    return RESAMPLER_ERR_INVALID_ARG;
-  if (st->quality == quality)
-    return RESAMPLER_ERR_SUCCESS;
-  st->quality = quality;
-  if (st->initialised)
-    update_filter (st);
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-EXPORT void
-speex_resampler_get_quality (SpeexResamplerState * st, int *quality)
-{
-  *quality = st->quality;
-}
-
-EXPORT void
-speex_resampler_set_input_stride (SpeexResamplerState * st, spx_uint32_t stride)
-{
-  st->in_stride = stride;
-}
-
-EXPORT void
-speex_resampler_get_input_stride (SpeexResamplerState * st,
-    spx_uint32_t * stride)
-{
-  *stride = st->in_stride;
-}
-
-EXPORT void
-speex_resampler_set_output_stride (SpeexResamplerState * st,
-    spx_uint32_t stride)
-{
-  st->out_stride = stride;
-}
-
-EXPORT void
-speex_resampler_get_output_stride (SpeexResamplerState * st,
-    spx_uint32_t * stride)
-{
-  *stride = st->out_stride;
-}
-
-EXPORT int
-speex_resampler_get_input_latency (SpeexResamplerState * st)
-{
-  return st->filt_len / 2;
-}
-
-EXPORT int
-speex_resampler_get_output_latency (SpeexResamplerState * st)
-{
-  return ((st->filt_len / 2) * st->den_rate +
-      (st->num_rate >> 1)) / st->num_rate;
-}
-
-EXPORT int
-speex_resampler_get_filt_len (SpeexResamplerState * st)
-{
-  return st->filt_len;
-}
-
-EXPORT int
-speex_resampler_get_sinc_filter_mode (SpeexResamplerState * st)
-{
-  return st->use_full_sinc_table;
-}
-
-EXPORT int
-speex_resampler_skip_zeros (SpeexResamplerState * st)
-{
-  spx_uint32_t i;
-  for (i = 0; i < st->nb_channels; i++)
-    st->last_sample[i] = st->filt_len / 2;
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-EXPORT int
-speex_resampler_reset_mem (SpeexResamplerState * st)
-{
-  spx_uint32_t i;
-  for (i = 0; i < st->nb_channels * (st->filt_len - 1); i++)
-    st->mem[i] = 0;
-  return RESAMPLER_ERR_SUCCESS;
-}
-
-EXPORT const char *
-speex_resampler_strerror (int err)
-{
-  switch (err) {
-    case RESAMPLER_ERR_SUCCESS:
-      return "Success.";
-    case RESAMPLER_ERR_ALLOC_FAILED:
-      return "Memory allocation failed.";
-    case RESAMPLER_ERR_BAD_STATE:
-      return "Bad resampler state.";
-    case RESAMPLER_ERR_INVALID_ARG:
-      return "Invalid argument.";
-    case RESAMPLER_ERR_PTR_OVERLAP:
-      return "Input and output buffers overlap.";
-    default:
-      return "Unknown error. Bad error code or strange version mismatch.";
-  }
-}
diff --git a/gst/audioresample/resample_neon.h b/gst/audioresample/resample_neon.h
deleted file mode 100644
index 478488f..0000000
--- a/gst/audioresample/resample_neon.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/* Copyright (C) 2007-2008 Jean-Marc Valin
- * Copyright (C) 2008 Thorvald Natvig
- * Copyright (C) 2011 Texas Instruments
- *               author Jyri Sarha
- */
-/**
-   @file resample_neon.h
-   @brief Resampler functions (NEON version)
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <arm_neon.h>
-
-#ifdef FIXED_POINT
-#ifdef __thumb2__ 
-static inline int32_t saturate_32bit_to_16bit(int32_t a) {
-    int32_t ret;
-    asm ("ssat %[ret], #16, %[a]"
-         : [ret] "=&r" (ret)
-         : [a] "r" (a)
-         : );
-    return ret;
-}
-#else
-static inline int32_t saturate_32bit_to_16bit(int32_t a) {
-    int32_t ret;
-    asm ("vmov.s32 d0[0], %[a]\n"
-         "vqmovn.s32 d0, q0\n"
-         "vmov.s16 %[ret], d0[0]\n"
-         : [ret] "=&r" (ret)
-         : [a] "r" (a)
-         : "q0");
-    return ret;
-}
-#endif
-#undef WORD2INT
-#define WORD2INT(x) (saturate_32bit_to_16bit(x))
-
-#define OVERRIDE_INNER_PRODUCT_SINGLE
-/* Only works when len % 4 == 0 */
-static inline int32_t inner_product_single(const int16_t *a, const int16_t *b, unsigned int len)
-{
-    int32_t ret;
-    uint32_t remainder = len % 16;
-    len = len - remainder;
-
-    asm volatile ("	 cmp %[len], #0\n"
-		  "	 bne 1f\n"
-		  "	 vld1.16 {d16}, [%[b]]!\n"
-		  "	 vld1.16 {d20}, [%[a]]!\n"
-		  "	 subs %[remainder], %[remainder], #4\n"
-		  "	 vmull.s16 q0, d16, d20\n"
-		  "      beq 5f\n" 
-		  "	 b 4f\n"
-		  "1:"
-		  "	 vld1.16 {d16, d17, d18, d19}, [%[b]]!\n"
-		  "	 vld1.16 {d20, d21, d22, d23}, [%[a]]!\n"
-		  "	 subs %[len], %[len], #16\n"
-		  "	 vmull.s16 q0, d16, d20\n"
-		  "	 vmlal.s16 q0, d17, d21\n"
-		  "	 vmlal.s16 q0, d18, d22\n"
-		  "	 vmlal.s16 q0, d19, d23\n"
-		  "	 beq 3f\n"
-		  "2:"
-		  "	 vld1.16 {d16, d17, d18, d19}, [%[b]]!\n"
-		  "	 vld1.16 {d20, d21, d22, d23}, [%[a]]!\n"
-		  "	 subs %[len], %[len], #16\n"
-		  "	 vmlal.s16 q0, d16, d20\n"
-		  "	 vmlal.s16 q0, d17, d21\n"
-		  "	 vmlal.s16 q0, d18, d22\n"
-		  "	 vmlal.s16 q0, d19, d23\n"
-		  "	 bne 2b\n"
-		  "3:"
-		  "	 cmp %[remainder], #0\n"
-		  "	 beq 5f\n"
-		  "4:"
-		  "	 vld1.16 {d16}, [%[b]]!\n"
-		  "	 vld1.16 {d20}, [%[a]]!\n"
-		  "	 subs %[remainder], %[remainder], #4\n"
-		  "	 vmlal.s16 q0, d16, d20\n"
-		  "	 bne 4b\n"
-		  "5:"
-		  "	 vaddl.s32 q0, d0, d1\n"
-		  "	 vadd.s64 d0, d0, d1\n"
-		  "	 vqmovn.s64 d0, q0\n"
-		  "	 vqrshrn.s32 d0, q0, #15\n"
-		  "	 vmov.s16 %[ret], d0[0]\n"
-		  : [ret] "=&r" (ret), [a] "+r" (a), [b] "+r" (b),
-		    [len] "+r" (len), [remainder] "+r" (remainder)
-		  :
-		  : "cc", "q0",
-		    "d16", "d17", "d18", "d19",
-		    "d20", "d21", "d22", "d23");
-
-    return ret;
-}
-#elif defined(FLOATING_POINT)
-
-static inline int32_t saturate_float_to_16bit(float a) {
-    int32_t ret;
-    asm ("vmov.f32 d0[0], %[a]\n"
-         "vcvt.s32.f32 d0, d0, #15\n"
-         "vqrshrn.s32 d0, q0, #15\n"
-         "vmov.s16 %[ret], d0[0]\n"
-         : [ret] "=&r" (ret)
-         : [a] "r" (a)
-         : "q0");
-    return ret;
-}
-#undef WORD2INT
-#define WORD2INT(x) (saturate_float_to_16bit(x))
-
-#define OVERRIDE_INNER_PRODUCT_SINGLE
-/* Only works when len % 4 == 0 */
-static inline float inner_product_single(const float *a, const float *b, unsigned int len)
-{
-    float ret;
-    uint32_t remainder = len % 16;
-    len = len - remainder;
-
-    asm volatile ("	 cmp %[len], #0\n"
-		  "	 bne 1f\n"
-		  "	 vld1.32 {q4}, [%[b]]!\n"
-		  "	 vld1.32 {q8}, [%[a]]!\n"
-		  "	 subs %[remainder], %[remainder], #4\n"
-		  "	 vmul.f32 q0, q4, q8\n"
-		  "      bne 4f\n" 
-		  "	 b 5f\n"
-		  "1:"
-		  "	 vld1.32 {q4, q5}, [%[b]]!\n"
-		  "	 vld1.32 {q8, q9}, [%[a]]!\n"
-		  "	 vld1.32 {q6, q7}, [%[b]]!\n"
-		  "	 vld1.32 {q10, q11}, [%[a]]!\n"
-		  "	 subs %[len], %[len], #16\n"
-		  "	 vmul.f32 q0, q4, q8\n"
-		  "	 vmul.f32 q1, q5, q9\n"
-		  "	 vmul.f32 q2, q6, q10\n"
-		  "	 vmul.f32 q3, q7, q11\n"
-		  "	 beq 3f\n"
-		  "2:"
-		  "	 vld1.32 {q4, q5}, [%[b]]!\n"
-		  "	 vld1.32 {q8, q9}, [%[a]]!\n"
-		  "	 vld1.32 {q6, q7}, [%[b]]!\n"
-		  "	 vld1.32 {q10, q11}, [%[a]]!\n"
-		  "	 subs %[len], %[len], #16\n"
-		  "	 vmla.f32 q0, q4, q8\n"
-		  "	 vmla.f32 q1, q5, q9\n"
-		  "	 vmla.f32 q2, q6, q10\n"
-		  "	 vmla.f32 q3, q7, q11\n"
-		  "	 bne 2b\n"
-		  "3:"
-		  "	 vadd.f32 q4, q0, q1\n"
-		  "	 vadd.f32 q5, q2, q3\n"
-		  "	 cmp %[remainder], #0\n"
-		  "	 vadd.f32 q0, q4, q5\n"
-		  "	 beq 5f\n"
-		  "4:"
-		  "	 vld1.32 {q6}, [%[b]]!\n"
-		  "	 vld1.32 {q10}, [%[a]]!\n"
-		  "	 subs %[remainder], %[remainder], #4\n"
-		  "	 vmla.f32 q0, q6, q10\n"
-		  "	 bne 4b\n"
-		  "5:"
-		  "	 vadd.f32 d0, d0, d1\n"
-		  "	 vpadd.f32 d0, d0, d0\n"
-		  "	 vmov.f32 %[ret], d0[0]\n"
-		  : [ret] "=&r" (ret), [a] "+r" (a), [b] "+r" (b),
-		    [len] "+l" (len), [remainder] "+l" (remainder)
-		  :
-		  : "cc", "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7", "q8",
-                    "q9", "q10", "q11");
-    return ret;
-}
-#endif
-
diff --git a/gst/audioresample/resample_sse.h b/gst/audioresample/resample_sse.h
deleted file mode 100644
index 55d1f40..0000000
--- a/gst/audioresample/resample_sse.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/* Copyright (C) 2007-2008 Jean-Marc Valin
- * Copyright (C) 2008 Thorvald Natvig
- */
-/**
-   @file resample_sse.h
-   @brief Resampler functions (SSE version)
-*/
-/*
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   
-   - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-   
-   - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-   
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifdef HAVE_XMMINTRIN_H
-#include <xmmintrin.h>
-#endif
-
-#define OVERRIDE_INNER_PRODUCT_SINGLE
-static inline float inner_product_single(const float *a, const float *b, unsigned int len)
-{
-   int i = 0;
-   float ret = 0;
-   __m128 sum = _mm_setzero_ps();
-
-   if (len > 7)
-   {
-      for (;i<len-7;i+=8)
-      {
-         sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(a+i), _mm_loadu_ps(b+i)));
-         sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(a+i+4), _mm_loadu_ps(b+i+4)));
-      }
-      sum = _mm_add_ps(sum, _mm_movehl_ps(sum, sum));
-      sum = _mm_add_ss(sum, _mm_shuffle_ps(sum, sum, 0x55));
-      _mm_store_ss(&ret, sum);
-   }
-
-   for (; i < len; i++)
-     ret += a[i] * b[i];
-
-   return ret;
-}
-
-#define OVERRIDE_INTERPOLATE_PRODUCT_SINGLE
-static inline float interpolate_product_single(const float *a, const float *b, unsigned int len, const spx_uint32_t oversample, float *frac) {
-  int i = 0;
-  float ret = 0;
-  __m128 sum = _mm_setzero_ps();
-  __m128 f = _mm_loadu_ps(frac);
-
-  if (len > 1)
-  {
-     for(;i<len-1;i+=2)
-     {
-        sum = _mm_add_ps(sum, _mm_mul_ps(_mm_load1_ps(a+i), _mm_loadu_ps(b+i*oversample)));
-        sum = _mm_add_ps(sum, _mm_mul_ps(_mm_load1_ps(a+i+1), _mm_loadu_ps(b+(i+1)*oversample)));
-     }
-
-     sum = _mm_mul_ps(f, sum);
-     sum = _mm_add_ps(sum, _mm_movehl_ps(sum, sum));
-     sum = _mm_add_ss(sum, _mm_shuffle_ps(sum, sum, 0x55));
-     _mm_store_ss(&ret, sum);
-  }
-
-  if (i == len-1)
-    ret += a[i] * (frac[0]*b[i*oversample] + frac[1]*b[i*oversample + 1] + frac[2]*b[i*oversample + 2] + frac[3]*b[i*oversample + 3]);
-
-  return ret;
-}
-
-#ifdef _USE_SSE2
-#ifdef HAVE_EMMINTRIN_H
-#include <emmintrin.h>
-#endif
-#define OVERRIDE_INNER_PRODUCT_DOUBLE
-
-#ifdef DOUBLE_PRECISION
-static inline double inner_product_double(const double *a, const double *b, unsigned int len)
-{
-   int i = 0;
-   double ret = 0;
-   __m128d sum = _mm_setzero_pd();
-
-   if (len > 3)
-   {
-      for (;i<len-3;i+=4)
-      {
-         sum = _mm_add_pd(sum, _mm_mul_pd(_mm_loadu_pd(a+i), _mm_loadu_pd(b+i)));
-         sum = _mm_add_pd(sum, _mm_mul_pd(_mm_loadu_pd(a+i+2), _mm_loadu_pd(b+i+2)));
-      }
-      sum = _mm_add_sd(sum, _mm_unpackhi_pd(sum, sum));
-      _mm_store_sd(&ret, sum);
-   }
-
-   for (; i < len; i++)
-     ret += a[i] * b[i];
-
-   return ret;
-}
-#else
-static inline double inner_product_double(const float *a, const float *b, unsigned int len)
-{
-   int i = 0;
-   double ret = 0;
-   __m128d sum = _mm_setzero_pd();
-   __m128 t;
-
-   if (len > 7)
-   {
-      for (;i<len-7;i+=8)
-      {
-         t = _mm_mul_ps(_mm_loadu_ps(a+i), _mm_loadu_ps(b+i));
-         sum = _mm_add_pd(sum, _mm_cvtps_pd(t));
-         sum = _mm_add_pd(sum, _mm_cvtps_pd(_mm_movehl_ps(t, t)));
-
-         t = _mm_mul_ps(_mm_loadu_ps(a+i+4), _mm_loadu_ps(b+i+4));
-         sum = _mm_add_pd(sum, _mm_cvtps_pd(t));
-         sum = _mm_add_pd(sum, _mm_cvtps_pd(_mm_movehl_ps(t, t)));
-      }
-      sum = _mm_add_sd(sum, _mm_unpackhi_pd(sum, sum));
-      _mm_store_sd(&ret, sum);
-   }
-
-   for (; i < len; i++)
-     ret += a[i] * b[i];
-
-   return ret;
-}
-#endif
-
-
-#define OVERRIDE_INTERPOLATE_PRODUCT_DOUBLE
-
-#ifdef DOUBLE_PRECISION
-static inline double interpolate_product_double(const double *a, const double *b, unsigned int len, const spx_uint32_t oversample, double *frac) {
-  int i = 0;
-  double ret = 0;
-  __m128d sum;
-  __m128d sum1 = _mm_setzero_pd();
-  __m128d sum2 = _mm_setzero_pd();
-  __m128d f1 = _mm_loadu_pd(frac);
-  __m128d f2 = _mm_loadu_pd(frac+2);
-  __m128d t;
-  
-  if (len > 1)
-  {
-     for(;i<len-1;i+=2)
-     {
-       t = _mm_load1_pd(a+i);
-       sum1 = _mm_add_pd(sum1, _mm_mul_pd(t, _mm_loadu_pd(b+i*oversample)));
-       sum2 = _mm_add_pd(sum2, _mm_mul_pd(t, _mm_loadu_pd(b+i*oversample+2)));
-
-       t = _mm_load1_pd(a+i+1);
-       sum1 = _mm_add_pd(sum1, _mm_mul_pd(t, _mm_loadu_pd(b+(i+1)*oversample)));
-       sum2 = _mm_add_pd(sum2, _mm_mul_pd(t, _mm_loadu_pd(b+(i+1)*oversample+2)));
-     }
-     sum1 = _mm_mul_pd(f1, sum1);
-     sum2 = _mm_mul_pd(f2, sum2);
-     sum = _mm_add_pd(sum1, sum2);
-     sum = _mm_add_sd(sum, _mm_unpackhi_pd(sum, sum));
-     _mm_store_sd(&ret, sum);
-  }
-
-  if (i == len-1)
-    ret += a[i] * (frac[0]*b[i*oversample] + frac[1]*b[i*oversample + 1] + frac[2]*b[i*oversample + 2] + frac[3]*b[i*oversample + 3]);
-
-  return ret;
-}
-#else
-static inline double interpolate_product_double(const float *a, const float *b, unsigned int len, const spx_uint32_t oversample, float *frac) {
-  int i = 0;
-  double ret = 0;
-  __m128d sum;
-  __m128d sum1 = _mm_setzero_pd();
-  __m128d sum2 = _mm_setzero_pd();
-  __m128 f = _mm_loadu_ps(frac);
-  __m128d f1 = _mm_cvtps_pd(f);
-  __m128d f2 = _mm_cvtps_pd(_mm_movehl_ps(f,f));
-  __m128 t;
-
-  if (len > 1)
-  {
-     for(;i<len-1;i+=2)
-     {
-        t = _mm_mul_ps(_mm_load1_ps(a+i), _mm_loadu_ps(b+i*oversample));
-        sum1 = _mm_add_pd(sum1, _mm_cvtps_pd(t));
-        sum2 = _mm_add_pd(sum2, _mm_cvtps_pd(_mm_movehl_ps(t, t)));
-
-        t = _mm_mul_ps(_mm_load1_ps(a+i+1), _mm_loadu_ps(b+(i+1)*oversample));
-        sum1 = _mm_add_pd(sum1, _mm_cvtps_pd(t));
-        sum2 = _mm_add_pd(sum2, _mm_cvtps_pd(_mm_movehl_ps(t, t)));
-     }
-     sum1 = _mm_mul_pd(f1, sum1);
-     sum2 = _mm_mul_pd(f2, sum2);
-     sum = _mm_add_pd(sum1, sum2);
-     sum = _mm_add_sd(sum, _mm_unpackhi_pd(sum, sum));
-     _mm_store_sd(&ret, sum);
-  }
-
-  if (i == len-1)
-    ret += a[i] * (frac[0]*b[i*oversample] + frac[1]*b[i*oversample + 1] + frac[2]*b[i*oversample + 2] + frac[3]*b[i*oversample + 3]);
-
-  return ret;
-}
-#endif
-
-#endif
diff --git a/gst/audioresample/speex_resampler.h b/gst/audioresample/speex_resampler.h
deleted file mode 100644
index b9aaa2c..0000000
--- a/gst/audioresample/speex_resampler.h
+++ /dev/null
@@ -1,403 +0,0 @@
-/* Copyright (C) 2007 Jean-Marc Valin
-      
-   File: speex_resampler.h
-   Resampling code
-      
-   The design goals of this code are:
-      - Very fast algorithm
-      - Low memory requirement
-      - Good *perceptual* quality (and not best SNR)
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are
-   met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   3. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-   IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-   DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
-   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-   ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-   POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-#ifndef SPEEX_RESAMPLER_H
-#define SPEEX_RESAMPLER_H
-
-#ifdef OUTSIDE_SPEEX
-
-/********* WARNING: MENTAL SANITY ENDS HERE *************/
-
-/* If the resampler is defined outside of Speex, we change the symbol names so that 
-   there won't be any clash if linking with Speex later on. */
-
-/* #define RANDOM_PREFIX your software name here */
-#ifndef RANDOM_PREFIX
-#error "Please define RANDOM_PREFIX (above) to something specific to your project to prevent symbol name clashes"
-#endif
-
-#define CAT_PREFIX2(a,b) a ## b
-#define CAT_PREFIX(a,b) CAT_PREFIX2(a, b)
-      
-#define speex_resampler_init CAT_PREFIX(RANDOM_PREFIX,_resampler_init)
-#define speex_resampler_init_frac CAT_PREFIX(RANDOM_PREFIX,_resampler_init_frac)
-#define speex_resampler_destroy CAT_PREFIX(RANDOM_PREFIX,_resampler_destroy)
-#define speex_resampler_process_float CAT_PREFIX(RANDOM_PREFIX,_resampler_process_float)
-#define speex_resampler_process_int CAT_PREFIX(RANDOM_PREFIX,_resampler_process_int)
-#define speex_resampler_process_interleaved_float CAT_PREFIX(RANDOM_PREFIX,_resampler_process_interleaved_float)
-#define speex_resampler_process_interleaved_int CAT_PREFIX(RANDOM_PREFIX,_resampler_process_interleaved_int)
-#define speex_resampler_set_rate CAT_PREFIX(RANDOM_PREFIX,_resampler_set_rate)
-#define speex_resampler_get_rate CAT_PREFIX(RANDOM_PREFIX,_resampler_get_rate)
-#define speex_resampler_set_rate_frac CAT_PREFIX(RANDOM_PREFIX,_resampler_set_rate_frac)
-#define speex_resampler_get_ratio CAT_PREFIX(RANDOM_PREFIX,_resampler_get_ratio)
-#define speex_resampler_set_quality CAT_PREFIX(RANDOM_PREFIX,_resampler_set_quality)
-#define speex_resampler_get_quality CAT_PREFIX(RANDOM_PREFIX,_resampler_get_quality)
-#define speex_resampler_set_input_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_set_input_stride)
-#define speex_resampler_get_input_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_get_input_stride)
-#define speex_resampler_set_output_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_set_output_stride)
-#define speex_resampler_get_output_stride CAT_PREFIX(RANDOM_PREFIX,_resampler_get_output_stride)
-#define speex_resampler_get_input_latency CAT_PREFIX(RANDOM_PREFIX,_resampler_get_input_latency)
-#define speex_resampler_get_output_latency CAT_PREFIX(RANDOM_PREFIX,_resampler_get_output_latency)
-#define speex_resampler_get_filt_len CAT_PREFIX(RANDOM_PREFIX,_resampler_get_filt_len)
-#define speex_resampler_get_sinc_filter_mode CAT_PREFIX(RANDOM_PREFIX,_resampler_get_sinc_filter_mode)
-#define speex_resampler_skip_zeros CAT_PREFIX(RANDOM_PREFIX,_resampler_skip_zeros)
-#define speex_resampler_reset_mem CAT_PREFIX(RANDOM_PREFIX,_resampler_reset_mem)
-#define speex_resampler_strerror CAT_PREFIX(RANDOM_PREFIX,_resampler_strerror)
-
-#define spx_int16_t gint16
-#define spx_int32_t gint32
-#define spx_uint16_t guint16
-#define spx_uint32_t guint32
-      
-#else /* OUTSIDE_SPEEX */
-
-#ifdef _BUILD_SPEEX
-# include "speex_types.h"
-#else
-# include <speex/speex_types.h>
-#endif
-
-#endif /* OUTSIDE_SPEEX */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SPEEX_RESAMPLER_QUALITY_MAX 10
-#define SPEEX_RESAMPLER_QUALITY_MIN 0
-#define SPEEX_RESAMPLER_QUALITY_DEFAULT 4
-#define SPEEX_RESAMPLER_QUALITY_VOIP 3
-#define SPEEX_RESAMPLER_QUALITY_DESKTOP 5
-
-enum {
-   RESAMPLER_ERR_SUCCESS         = 0,
-   RESAMPLER_ERR_ALLOC_FAILED    = 1,
-   RESAMPLER_ERR_BAD_STATE       = 2,
-   RESAMPLER_ERR_INVALID_ARG     = 3,
-   RESAMPLER_ERR_PTR_OVERLAP     = 4,
-   
-   RESAMPLER_ERR_MAX_ERROR
-};
-
-typedef enum {
-   RESAMPLER_SINC_FILTER_INTERPOLATED   = 0,
-   RESAMPLER_SINC_FILTER_FULL           = 1,
-   RESAMPLER_SINC_FILTER_AUTO           = 2
-} SpeexResamplerSincFilterMode;
-
-#define RESAMPLER_SINC_FILTER_DEFAULT RESAMPLER_SINC_FILTER_INTERPOLATED
-#define RESAMPLER_SINC_FILTER_AUTO_THRESHOLD_DEFAULT (1 * 1048576)
-
-struct SpeexResamplerState_;
-typedef struct SpeexResamplerState_ SpeexResamplerState;
-
-/** Create a new resampler with integer input and output rates.
- * @param nb_channels Number of channels to be processed
- * @param in_rate Input sampling rate (integer number of Hz).
- * @param out_rate Output sampling rate (integer number of Hz).
- * @param quality Resampling quality between 0 and 10, where 0 has poor quality
- * and 10 has very high quality.
- * @param sinc_filter_mode Sinc filter table mode to use
- * @param sinc_filter_auto_threshold Threshold to use if sinc filter mode is auto, in bytes
- * @return Newly created resampler state
- * @retval NULL Error: not enough memory
- *
- * If a full filter table would be larger than the auto threshold, and sinc_filter_mode is AUTO,
- * the resample uses the interpolated mode instead
- *
- * @note A full sinc table can significantly improve the resampler's performance, but calculating the table
- * takes longer, as opposed to the interpolated variant
- */
-SpeexResamplerState *speex_resampler_init(spx_uint32_t nb_channels, 
-                                          spx_uint32_t in_rate, 
-                                          spx_uint32_t out_rate, 
-                                          int quality,
-                                          SpeexResamplerSincFilterMode sinc_filter_mode,
-                                          spx_uint32_t sinc_filter_auto_threshold,
-                                          int *err);
-
-/** Create a new resampler with fractional input/output rates. The sampling 
- * rate ratio is an arbitrary rational number with both the numerator and 
- * denominator being 32-bit integers.
- * @param nb_channels Number of channels to be processed
- * @param ratio_num Numerator of the sampling rate ratio
- * @param ratio_den Denominator of the sampling rate ratio
- * @param in_rate Input sampling rate rounded to the nearest integer (in Hz).
- * @param out_rate Output sampling rate rounded to the nearest integer (in Hz).
- * @param quality Resampling quality between 0 and 10, where 0 has poor quality
- * and 10 has very high quality.
- * @param sinc_filter_mode Sinc filter table mode to use
- * @param sinc_filter_auto_threshold Threshold to use if sinc filter mode is auto, in bytes
- * @return Newly created resampler state
- * @retval NULL Error: not enough memory
- *
- * If a full filter table would be larger than the auto threshold, and sinc_filter_mode is AUTO,
- * the resample uses the interpolated mode instead
- *
- * @note A full sinc table can significantly improve the resampler's performance, but calculating the table
- * takes longer, as opposed to the interpolated variant
- */
-SpeexResamplerState *speex_resampler_init_frac(spx_uint32_t nb_channels, 
-                                               spx_uint32_t ratio_num, 
-                                               spx_uint32_t ratio_den, 
-                                               spx_uint32_t in_rate, 
-                                               spx_uint32_t out_rate, 
-                                               int quality,
-                                               SpeexResamplerSincFilterMode sinc_filter_mode,
-                                               spx_uint32_t sinc_filter_auto_threshold,
-                                               int *err);
-
-/** Destroy a resampler state.
- * @param st Resampler state
- */
-void speex_resampler_destroy(SpeexResamplerState *st);
-
-/** Resample a float array. The input and output buffers must *not* overlap.
- * @param st Resampler state
- * @param channel_index Index of the channel to process for the multi-channel 
- * base (0 otherwise)
- * @param in Input buffer
- * @param in_len Number of input samples in the input buffer. Returns the 
- * number of samples processed
- * @param out Output buffer
- * @param out_len Size of the output buffer. Returns the number of samples written
- */
-#ifdef DOUBLE_PRECISION
-int speex_resampler_process_float(SpeexResamplerState *st, 
-                                   spx_uint32_t channel_index, 
-                                   const double *in, 
-                                   spx_uint32_t *in_len, 
-                                   double *out, 
-                                   spx_uint32_t *out_len);
-#else
-int speex_resampler_process_float(SpeexResamplerState *st, 
-                                   spx_uint32_t channel_index, 
-                                   const float *in, 
-                                   spx_uint32_t *in_len, 
-                                   float *out, 
-                                   spx_uint32_t *out_len);
-#endif
-
-/** Resample an int array. The input and output buffers must *not* overlap.
- * @param st Resampler state
- * @param channel_index Index of the channel to process for the multi-channel 
- * base (0 otherwise)
- * @param in Input buffer
- * @param in_len Number of input samples in the input buffer. Returns the number
- * of samples processed
- * @param out Output buffer
- * @param out_len Size of the output buffer. Returns the number of samples written
- */
-int speex_resampler_process_int(SpeexResamplerState *st, 
-                                 spx_uint32_t channel_index, 
-                                 const spx_int16_t *in, 
-                                 spx_uint32_t *in_len, 
-                                 spx_int16_t *out, 
-                                 spx_uint32_t *out_len);
-
-/** Resample an interleaved float array. The input and output buffers must *not* overlap.
- * @param st Resampler state
- * @param in Input buffer
- * @param in_len Number of input samples in the input buffer. Returns the number
- * of samples processed. This is all per-channel.
- * @param out Output buffer
- * @param out_len Size of the output buffer. Returns the number of samples written.
- * This is all per-channel.
- */
-#ifdef DOUBLE_PRECISION
-int speex_resampler_process_interleaved_float(SpeexResamplerState *st, 
-                                               const double *in, 
-                                               spx_uint32_t *in_len, 
-                                               double *out, 
-                                               spx_uint32_t *out_len);
-#else
-int speex_resampler_process_interleaved_float(SpeexResamplerState *st, 
-                                               const float *in, 
-                                               spx_uint32_t *in_len, 
-                                               float *out, 
-                                               spx_uint32_t *out_len);
-#endif
-
-/** Resample an interleaved int array. The input and output buffers must *not* overlap.
- * @param st Resampler state
- * @param in Input buffer
- * @param in_len Number of input samples in the input buffer. Returns the number
- * of samples processed. This is all per-channel.
- * @param out Output buffer
- * @param out_len Size of the output buffer. Returns the number of samples written.
- * This is all per-channel.
- */
-int speex_resampler_process_interleaved_int(SpeexResamplerState *st, 
-                                             const spx_int16_t *in, 
-                                             spx_uint32_t *in_len, 
-                                             spx_int16_t *out, 
-                                             spx_uint32_t *out_len);
-
-/** Set (change) the input/output sampling rates (integer value).
- * @param st Resampler state
- * @param in_rate Input sampling rate (integer number of Hz).
- * @param out_rate Output sampling rate (integer number of Hz).
- */
-int speex_resampler_set_rate(SpeexResamplerState *st, 
-                              spx_uint32_t in_rate, 
-                              spx_uint32_t out_rate);
-
-/** Get the current input/output sampling rates (integer value).
- * @param st Resampler state
- * @param in_rate Input sampling rate (integer number of Hz) copied.
- * @param out_rate Output sampling rate (integer number of Hz) copied.
- */
-void speex_resampler_get_rate(SpeexResamplerState *st, 
-                              spx_uint32_t *in_rate, 
-                              spx_uint32_t *out_rate);
-
-/** Set (change) the input/output sampling rates and resampling ratio 
- * (fractional values in Hz supported).
- * @param st Resampler state
- * @param ratio_num Numerator of the sampling rate ratio
- * @param ratio_den Denominator of the sampling rate ratio
- * @param in_rate Input sampling rate rounded to the nearest integer (in Hz).
- * @param out_rate Output sampling rate rounded to the nearest integer (in Hz).
- */
-int speex_resampler_set_rate_frac(SpeexResamplerState *st, 
-                                   spx_uint32_t ratio_num, 
-                                   spx_uint32_t ratio_den, 
-                                   spx_uint32_t in_rate, 
-                                   spx_uint32_t out_rate);
-
-/** Get the current resampling ratio. This will be reduced to the least
- * common denominator.
- * @param st Resampler state
- * @param ratio_num Numerator of the sampling rate ratio copied
- * @param ratio_den Denominator of the sampling rate ratio copied
- */
-void speex_resampler_get_ratio(SpeexResamplerState *st, 
-                               spx_uint32_t *ratio_num, 
-                               spx_uint32_t *ratio_den);
-
-/** Set (change) the conversion quality.
- * @param st Resampler state
- * @param quality Resampling quality between 0 and 10, where 0 has poor 
- * quality and 10 has very high quality.
- */
-int speex_resampler_set_quality(SpeexResamplerState *st, 
-                                 int quality);
-
-/** Get the conversion quality.
- * @param st Resampler state
- * @param quality Resampling quality between 0 and 10, where 0 has poor 
- * quality and 10 has very high quality.
- */
-void speex_resampler_get_quality(SpeexResamplerState *st, 
-                                 int *quality);
-
-/** Set (change) the input stride.
- * @param st Resampler state
- * @param stride Input stride
- */
-void speex_resampler_set_input_stride(SpeexResamplerState *st, 
-                                      spx_uint32_t stride);
-
-/** Get the input stride.
- * @param st Resampler state
- * @param stride Input stride copied
- */
-void speex_resampler_get_input_stride(SpeexResamplerState *st, 
-                                      spx_uint32_t *stride);
-
-/** Set (change) the output stride.
- * @param st Resampler state
- * @param stride Output stride
- */
-void speex_resampler_set_output_stride(SpeexResamplerState *st, 
-                                      spx_uint32_t stride);
-
-/** Get the output stride.
- * @param st Resampler state copied
- * @param stride Output stride
- */
-void speex_resampler_get_output_stride(SpeexResamplerState *st, 
-                                      spx_uint32_t *stride);
-
-/** Get the latency introduced by the resampler measured in input samples.
- * @param st Resampler state
- */
-int speex_resampler_get_input_latency(SpeexResamplerState *st);
-
-/** Get the latency introduced by the resampler measured in output samples.
- * @param st Resampler state
- */
-int speex_resampler_get_output_latency(SpeexResamplerState *st);
-
-/** Get the length of the filter in input samples.
- * @param st Resampler state
- */
-int speex_resampler_get_filt_len(SpeexResamplerState *st);
-
-/** Returns 1 if the full sinc filter table is used, 0 if the interpolated one is used
- * @param st Resampler state
- * @return Sinc filter mode
- */
-int speex_resampler_get_sinc_filter_mode(SpeexResamplerState *st);
-
-/** Make sure that the first samples to go out of the resamplers don't have 
- * leading zeros. This is only useful before starting to use a newly created 
- * resampler. It is recommended to use that when resampling an audio file, as
- * it will generate a file with the same length. For real-time processing,
- * it is probably easier not to use this call (so that the output duration
- * is the same for the first frame).
- * @param st Resampler state
- */
-int speex_resampler_skip_zeros(SpeexResamplerState *st);
-
-/** Reset a resampler so a new (unrelated) stream can be processed.
- * @param st Resampler state
- */
-int speex_resampler_reset_mem(SpeexResamplerState *st);
-
-/** Returns the English meaning for an error code
- * @param err Error code
- * @return English string
- */
-const char *speex_resampler_strerror(int err);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/gst/audioresample/speex_resampler_double.c b/gst/audioresample/speex_resampler_double.c
deleted file mode 100644
index 6c5d63c..0000000
--- a/gst/audioresample/speex_resampler_double.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* GStreamer
- * Copyright (C) 2007-2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * 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.
- */
-
-#define _USE_SSE2
-#define FLOATING_POINT
-#define DOUBLE_PRECISION
-#define OUTSIDE_SPEEX
-#define RANDOM_PREFIX resample_double
-
-#include "resample.c"
diff --git a/gst/audioresample/speex_resampler_float.c b/gst/audioresample/speex_resampler_float.c
deleted file mode 100644
index 4f11197..0000000
--- a/gst/audioresample/speex_resampler_float.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* GStreamer
- * Copyright (C) 2007-2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * 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.
- */
-
-#define _USE_SSE
-#define _USE_SSE2
-#define _USE_NEON
-#define FLOATING_POINT
-#define OUTSIDE_SPEEX
-#define RANDOM_PREFIX resample_float
-
-#include "resample.c"
diff --git a/gst/audioresample/speex_resampler_int.c b/gst/audioresample/speex_resampler_int.c
deleted file mode 100644
index beeb045..0000000
--- a/gst/audioresample/speex_resampler_int.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* GStreamer
- * Copyright (C) 2007-2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * 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.
- */
-
-#define FIXED_POINT 1
-#define OUTSIDE_SPEEX 1
-/* disabled, 16-bit integer NEON support seems broken */
-/* #define _USE_NEON */
-#define RANDOM_PREFIX resample_int
-
-#include "resample.c"
diff --git a/gst/audioresample/speex_resampler_wrapper.h b/gst/audioresample/speex_resampler_wrapper.h
deleted file mode 100644
index cd13a88..0000000
--- a/gst/audioresample/speex_resampler_wrapper.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/* GStreamer
- * Copyright (C) 2007-2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * 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 __SPEEX_RESAMPLER_WRAPPER_H__
-#define __SPEEX_RESAMPLER_WRAPPER_H__
-
-#define SPEEX_RESAMPLER_QUALITY_MAX 10
-#define SPEEX_RESAMPLER_QUALITY_MIN 0
-#define SPEEX_RESAMPLER_QUALITY_DEFAULT 4
-#define SPEEX_RESAMPLER_QUALITY_VOIP 3
-#define SPEEX_RESAMPLER_QUALITY_DESKTOP 5
-
-#define SPEEX_RESAMPLER_SINC_FILTER_DEFAULT SPEEX_RESAMPLER_SINC_FILTER_AUTO
-#define SPEEX_RESAMPLER_SINC_FILTER_AUTO_THRESHOLD_DEFAULT (1 * 1048576)
-
-enum
-{
-  RESAMPLER_ERR_SUCCESS = 0,
-  RESAMPLER_ERR_ALLOC_FAILED = 1,
-  RESAMPLER_ERR_BAD_STATE = 2,
-  RESAMPLER_ERR_INVALID_ARG = 3,
-  RESAMPLER_ERR_PTR_OVERLAP = 4,
-
-  RESAMPLER_ERR_MAX_ERROR
-};
-
-typedef enum {
-  SPEEX_RESAMPLER_SINC_FILTER_INTERPOLATED   = 0,
-  SPEEX_RESAMPLER_SINC_FILTER_FULL           = 1,
-  SPEEX_RESAMPLER_SINC_FILTER_AUTO           = 2
-} SpeexResamplerSincFilterMode;
-
-typedef struct SpeexResamplerState_ SpeexResamplerState;
-
-typedef struct {
-  SpeexResamplerState *(*init) (guint32 nb_channels,
-    guint32 in_rate, guint32 out_rate, gint quality,
-    SpeexResamplerSincFilterMode sinc_filter_mode,
-    guint32 sinc_filter_auto_threshold, gint * err);
-  void (*destroy) (SpeexResamplerState * st);
-  int (*process) (SpeexResamplerState *
-    st, const guint8 * in, guint32 * in_len, guint8 * out, guint32 * out_len);
-  int (*set_rate) (SpeexResamplerState * st,
-    guint32 in_rate, guint32 out_rate);
-  void (*get_rate) (SpeexResamplerState * st,
-    guint32 * in_rate, guint32 * out_rate);
-  void (*get_ratio) (SpeexResamplerState * st,
-    guint32 * ratio_num, guint32 * ratio_den);
-  int (*get_input_latency) (SpeexResamplerState * st);
-  int (*get_filt_len) (SpeexResamplerState * st);
-  int (*get_sinc_filter_mode) (SpeexResamplerState * st);
-  int (*set_quality) (SpeexResamplerState * st, gint quality);
-  int (*reset_mem) (SpeexResamplerState * st);
-  int (*skip_zeros) (SpeexResamplerState * st);
-  const char * (*strerror) (gint err);
-  unsigned int width;
-} SpeexResampleFuncs;
-
-SpeexResamplerState *resample_float_resampler_init (guint32 nb_channels,
-    guint32 in_rate, guint32 out_rate, gint quality,
-    SpeexResamplerSincFilterMode sinc_filter_mode,
-    guint32 sinc_filter_auto_threshold, gint * err);
-void resample_float_resampler_destroy (SpeexResamplerState * st);
-int resample_float_resampler_process_interleaved_float (SpeexResamplerState *
-    st, const guint8 * in, guint32 * in_len, guint8 * out, guint32 * out_len);
-int resample_float_resampler_set_rate (SpeexResamplerState * st,
-    guint32 in_rate, guint32 out_rate);
-void resample_float_resampler_get_rate (SpeexResamplerState * st,
-    guint32 * in_rate, guint32 * out_rate);
-void resample_float_resampler_get_ratio (SpeexResamplerState * st,
-    guint32 * ratio_num, guint32 * ratio_den);
-int resample_float_resampler_get_input_latency (SpeexResamplerState * st);
-int resample_float_resampler_get_filt_len (SpeexResamplerState * st);
-int resample_float_resampler_get_sinc_filter_mode (SpeexResamplerState * st);
-int resample_float_resampler_set_quality (SpeexResamplerState * st, gint quality);
-int resample_float_resampler_reset_mem (SpeexResamplerState * st);
-int resample_float_resampler_skip_zeros (SpeexResamplerState * st);
-const char * resample_float_resampler_strerror (gint err);
-
-static const SpeexResampleFuncs float_funcs =
-{
-  resample_float_resampler_init,
-  resample_float_resampler_destroy,
-  resample_float_resampler_process_interleaved_float,
-  resample_float_resampler_set_rate,
-  resample_float_resampler_get_rate,
-  resample_float_resampler_get_ratio,
-  resample_float_resampler_get_input_latency,
-  resample_float_resampler_get_filt_len,
-  resample_float_resampler_get_sinc_filter_mode,
-  resample_float_resampler_set_quality,
-  resample_float_resampler_reset_mem,
-  resample_float_resampler_skip_zeros,
-  resample_float_resampler_strerror,
-  32
-};
-
-SpeexResamplerState *resample_double_resampler_init (guint32 nb_channels,
-    guint32 in_rate, guint32 out_rate, gint quality,
-    SpeexResamplerSincFilterMode sinc_filter_mode,
-    guint32 sinc_filter_auto_threshold, gint * err);
-void resample_double_resampler_destroy (SpeexResamplerState * st);
-int resample_double_resampler_process_interleaved_float (SpeexResamplerState *
-    st, const guint8 * in, guint32 * in_len, guint8 * out, guint32 * out_len);
-int resample_double_resampler_set_rate (SpeexResamplerState * st,
-    guint32 in_rate, guint32 out_rate);
-void resample_double_resampler_get_rate (SpeexResamplerState * st,
-    guint32 * in_rate, guint32 * out_rate);
-void resample_double_resampler_get_ratio (SpeexResamplerState * st,
-    guint32 * ratio_num, guint32 * ratio_den);
-int resample_double_resampler_get_input_latency (SpeexResamplerState * st);
-int resample_double_resampler_get_filt_len (SpeexResamplerState * st);
-int resample_double_resampler_get_sinc_filter_mode (SpeexResamplerState * st);
-int resample_double_resampler_set_quality (SpeexResamplerState * st, gint quality);
-int resample_double_resampler_reset_mem (SpeexResamplerState * st);
-int resample_double_resampler_skip_zeros (SpeexResamplerState * st);
-const char * resample_double_resampler_strerror (gint err);
-
-static const SpeexResampleFuncs double_funcs =
-{
-  resample_double_resampler_init,
-  resample_double_resampler_destroy,
-  resample_double_resampler_process_interleaved_float,
-  resample_double_resampler_set_rate,
-  resample_double_resampler_get_rate,
-  resample_double_resampler_get_ratio,
-  resample_double_resampler_get_input_latency,
-  resample_double_resampler_get_filt_len,
-  resample_double_resampler_get_sinc_filter_mode,
-  resample_double_resampler_set_quality,
-  resample_double_resampler_reset_mem,
-  resample_double_resampler_skip_zeros,
-  resample_double_resampler_strerror,
-  64
-};
-
-SpeexResamplerState *resample_int_resampler_init (guint32 nb_channels,
-    guint32 in_rate, guint32 out_rate, gint quality,
-    SpeexResamplerSincFilterMode sinc_filter_mode,
-    guint32 sinc_filter_auto_threshold, gint * err);
-void resample_int_resampler_destroy (SpeexResamplerState * st);
-int resample_int_resampler_process_interleaved_int (SpeexResamplerState *
-    st, const guint8 * in, guint32 * in_len, guint8 * out, guint32 * out_len);
-int resample_int_resampler_set_rate (SpeexResamplerState * st,
-    guint32 in_rate, guint32 out_rate);
-void resample_int_resampler_get_rate (SpeexResamplerState * st,
-    guint32 * in_rate, guint32 * out_rate);
-void resample_int_resampler_get_ratio (SpeexResamplerState * st,
-    guint32 * ratio_num, guint32 * ratio_den);
-int resample_int_resampler_get_input_latency (SpeexResamplerState * st);
-int resample_int_resampler_get_filt_len (SpeexResamplerState * st);
-int resample_int_resampler_get_sinc_filter_mode (SpeexResamplerState * st);
-int resample_int_resampler_set_quality (SpeexResamplerState * st, gint quality);
-int resample_int_resampler_reset_mem (SpeexResamplerState * st);
-int resample_int_resampler_skip_zeros (SpeexResamplerState * st);
-const char * resample_int_resampler_strerror (gint err);
-
-static const SpeexResampleFuncs int_funcs =
-{
-  resample_int_resampler_init,
-  resample_int_resampler_destroy,
-  resample_int_resampler_process_interleaved_int,
-  resample_int_resampler_set_rate,
-  resample_int_resampler_get_rate,
-  resample_int_resampler_get_ratio,
-  resample_int_resampler_get_input_latency,
-  resample_int_resampler_get_filt_len,
-  resample_int_resampler_get_sinc_filter_mode,
-  resample_int_resampler_set_quality,
-  resample_int_resampler_reset_mem,
-  resample_int_resampler_skip_zeros,
-  resample_int_resampler_strerror,
-  16
-};
-
-#endif /* __SPEEX_RESAMPLER_WRAPPER_H__ */
diff --git a/gst/audiotestsrc/gstaudiotestsrc.c b/gst/audiotestsrc/gstaudiotestsrc.c
index 15cb4a3..1c3b5bc 100644
--- a/gst/audiotestsrc/gstaudiotestsrc.c
+++ b/gst/audiotestsrc/gstaudiotestsrc.c
@@ -207,10 +207,10 @@
           "Can activate in pull mode", DEFAULT_CAN_ACTIVATE_PULL,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_audio_test_src_src_template));
-  gst_element_class_set_static_metadata (gstelement_class,
-      "Audio test source", "Source/Audio",
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_audio_test_src_src_template);
+  gst_element_class_set_static_metadata (gstelement_class, "Audio test source",
+      "Source/Audio",
       "Creates audio test signals of given frequency and volume",
       "Stefan Kost <ensonic@users.sf.net>");
 
diff --git a/gst/encoding/gstencodebin.c b/gst/encoding/gstencodebin.c
index 55dab2f..1f5de54 100644
--- a/gst/encoding/gstencodebin.c
+++ b/gst/encoding/gstencodebin.c
@@ -431,16 +431,15 @@
   klass->request_pad = gst_encode_bin_request_pad_signal;
   klass->request_profile_pad = gst_encode_bin_request_profile_pad_signal;
 
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&muxer_src_template));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&video_sink_template));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&audio_sink_template));
-  /* gst_element_class_add_pad_template (gstelement_klass, */
-  /*     gst_static_pad_template_get (&text_sink_template)); */
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&private_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &muxer_src_template);
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &video_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &audio_sink_template);
+  /* gst_element_class_add_static_pad_template (gstelement_klass, &text_sink_template); */
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &private_sink_template);
 
   gstelement_klass->change_state =
       GST_DEBUG_FUNCPTR (gst_encode_bin_change_state);
diff --git a/gst/encoding/gstsmartencoder.c b/gst/encoding/gstsmartencoder.c
index 69ab7d6..a950edf 100644
--- a/gst/encoding/gstsmartencoder.c
+++ b/gst/encoding/gstsmartencoder.c
@@ -100,10 +100,8 @@
 
   gst_smart_encoder_parent_class = g_type_class_peek_parent (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 
   gst_element_class_set_static_metadata (element_class, "Smart Video Encoder",
       "Codec/Recoder/Video",
diff --git a/gst/encoding/gststreamcombiner.c b/gst/encoding/gststreamcombiner.c
index 42c959d..008b08d 100644
--- a/gst/encoding/gststreamcombiner.c
+++ b/gst/encoding/gststreamcombiner.c
@@ -77,10 +77,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_stream_combiner_debug, "streamcombiner", 0,
       "Stream Combiner");
 
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_klass, &src_template);
+  gst_element_class_add_static_pad_template (gstelement_klass, &sink_template);
 
   gstelement_klass->request_new_pad =
       GST_DEBUG_FUNCPTR (gst_stream_combiner_request_new_pad);
diff --git a/gst/encoding/gststreamsplitter.c b/gst/encoding/gststreamsplitter.c
index 6bf3894..f8ad794 100644
--- a/gst/encoding/gststreamsplitter.c
+++ b/gst/encoding/gststreamsplitter.c
@@ -66,10 +66,8 @@
   GST_DEBUG_CATEGORY_INIT (gst_stream_splitter_debug, "streamsplitter", 0,
       "Stream Splitter");
 
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (gstelement_klass, &src_template);
+  gst_element_class_add_static_pad_template (gstelement_klass, &sink_template);
 
   gstelement_klass->request_new_pad =
       GST_DEBUG_FUNCPTR (gst_stream_splitter_request_new_pad);
@@ -157,8 +155,7 @@
   for (tmp = events; tmp; tmp = tmp->next) {
     if (GST_EVENT_TYPE (tmp->data) != GST_EVENT_EOS &&
         GST_EVENT_TYPE (tmp->data) != GST_EVENT_SEGMENT &&
-        GST_EVENT_IS_STICKY (tmp->data) &&
-        pad != NULL) {
+        GST_EVENT_IS_STICKY (tmp->data) && pad != NULL) {
       gst_pad_store_sticky_event (pad, GST_EVENT_CAST (tmp->data));
     }
     gst_event_unref (tmp->data);
diff --git a/gst/gio/gstgiobasesink.c b/gst/gio/gstgiobasesink.c
index 3dbec56..caacba5 100644
--- a/gst/gio/gstgiobasesink.c
+++ b/gst/gio/gstgiobasesink.c
@@ -59,8 +59,7 @@
 
   gobject_class->finalize = gst_gio_base_sink_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sink_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &sink_factory);
 
   gstbasesink_class->start = GST_DEBUG_FUNCPTR (gst_gio_base_sink_start);
   gstbasesink_class->stop = GST_DEBUG_FUNCPTR (gst_gio_base_sink_stop);
diff --git a/gst/gio/gstgiobasesrc.c b/gst/gio/gstgiobasesrc.c
index 213ede6..b4fddc1 100644
--- a/gst/gio/gstgiobasesrc.c
+++ b/gst/gio/gstgiobasesrc.c
@@ -64,8 +64,7 @@
 
   gobject_class->finalize = gst_gio_base_src_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&src_factory));
+  gst_element_class_add_static_pad_template (gstelement_class, &src_factory);
 
   gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_gio_base_src_start);
   gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_gio_base_src_stop);
diff --git a/gst/playback/Makefile.am b/gst/playback/Makefile.am
index 081b224..9603dab 100644
--- a/gst/playback/Makefile.am
+++ b/gst/playback/Makefile.am
@@ -4,9 +4,13 @@
 
 libgstplayback_la_SOURCES = \
 	gstdecodebin2.c \
+	gstdecodebin3.c \
 	gsturidecodebin.c \
+	gsturisourcebin.c \
+	gstparsebin.c \
 	gstplayback.c \
 	gstplaybin2.c \
+	gstplaybin3.c \
 	gstplaysink.c \
 	gstplay-enum.c \
 	gstsubtitleoverlay.c \
@@ -26,7 +30,10 @@
 	$(GST_LIBS)
 libgstplayback_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
+# FIXME: gstdecodebin3-parse.c isn't really a header,
+# but for now it's included into gstdecodebin3.c directly
 noinst_HEADERS = \
+        gstdecodebin3-parse.c \
 	gstplayback.h \
 	gstplaysink.h \
 	gstplay-enum.h \
diff --git a/gst/playback/Makefile.in b/gst/playback/Makefile.in
index f5bd2a0..8ae0fd4 100644
--- a/gst/playback/Makefile.in
+++ b/gst/playback/Makefile.in
@@ -167,9 +167,13 @@
 	$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1)
 am_libgstplayback_la_OBJECTS = libgstplayback_la-gstdecodebin2.lo \
+	libgstplayback_la-gstdecodebin3.lo \
 	libgstplayback_la-gsturidecodebin.lo \
+	libgstplayback_la-gsturisourcebin.lo \
+	libgstplayback_la-gstparsebin.lo \
 	libgstplayback_la-gstplayback.lo \
 	libgstplayback_la-gstplaybin2.lo \
+	libgstplayback_la-gstplaybin3.lo \
 	libgstplayback_la-gstplaysink.lo \
 	libgstplayback_la-gstplay-enum.lo \
 	libgstplayback_la-gstsubtitleoverlay.lo \
@@ -551,9 +555,13 @@
 csp_cflags = -DCOLORSPACE=\"videoconvert\"
 libgstplayback_la_SOURCES = \
 	gstdecodebin2.c \
+	gstdecodebin3.c \
 	gsturidecodebin.c \
+	gsturisourcebin.c \
+	gstparsebin.c \
 	gstplayback.c \
 	gstplaybin2.c \
+	gstplaybin3.c \
 	gstplaysink.c \
 	gstplay-enum.c \
 	gstsubtitleoverlay.c \
@@ -573,7 +581,11 @@
 	$(GST_LIBS)
 
 libgstplayback_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+
+# FIXME: gstdecodebin3-parse.c isn't really a header,
+# but for now it's included into gstdecodebin3.c directly
 noinst_HEADERS = \
+        gstdecodebin3-parse.c \
 	gstplayback.h \
 	gstplaysink.h \
 	gstplay-enum.h \
@@ -667,10 +679,13 @@
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstdecodebin2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstdecodebin3.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstparsebin.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-gstplaybin3.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@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstplaysinkconvertbin.Plo@am__quote@
@@ -678,6 +693,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gststreamsynchronizer.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gstsubtitleoverlay.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gsturidecodebin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstplayback_la-gsturisourcebin.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -710,6 +726,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-gstdecodebin2.lo `test -f 'gstdecodebin2.c' || echo '$(srcdir)/'`gstdecodebin2.c
 
+libgstplayback_la-gstdecodebin3.lo: gstdecodebin3.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-gstdecodebin3.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gstdecodebin3.Tpo -c -o libgstplayback_la-gstdecodebin3.lo `test -f 'gstdecodebin3.c' || echo '$(srcdir)/'`gstdecodebin3.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gstdecodebin3.Tpo $(DEPDIR)/libgstplayback_la-gstdecodebin3.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstdecodebin3.c' object='libgstplayback_la-gstdecodebin3.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-gstdecodebin3.lo `test -f 'gstdecodebin3.c' || echo '$(srcdir)/'`gstdecodebin3.c
+
 libgstplayback_la-gsturidecodebin.lo: gsturidecodebin.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-gsturidecodebin.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gsturidecodebin.Tpo -c -o libgstplayback_la-gsturidecodebin.lo `test -f 'gsturidecodebin.c' || echo '$(srcdir)/'`gsturidecodebin.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gsturidecodebin.Tpo $(DEPDIR)/libgstplayback_la-gsturidecodebin.Plo
@@ -717,6 +740,20 @@
 @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-gsturidecodebin.lo `test -f 'gsturidecodebin.c' || echo '$(srcdir)/'`gsturidecodebin.c
 
+libgstplayback_la-gsturisourcebin.lo: gsturisourcebin.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-gsturisourcebin.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gsturisourcebin.Tpo -c -o libgstplayback_la-gsturisourcebin.lo `test -f 'gsturisourcebin.c' || echo '$(srcdir)/'`gsturisourcebin.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gsturisourcebin.Tpo $(DEPDIR)/libgstplayback_la-gsturisourcebin.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gsturisourcebin.c' object='libgstplayback_la-gsturisourcebin.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-gsturisourcebin.lo `test -f 'gsturisourcebin.c' || echo '$(srcdir)/'`gsturisourcebin.c
+
+libgstplayback_la-gstparsebin.lo: gstparsebin.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-gstparsebin.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gstparsebin.Tpo -c -o libgstplayback_la-gstparsebin.lo `test -f 'gstparsebin.c' || echo '$(srcdir)/'`gstparsebin.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gstparsebin.Tpo $(DEPDIR)/libgstplayback_la-gstparsebin.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstparsebin.c' object='libgstplayback_la-gstparsebin.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-gstparsebin.lo `test -f 'gstparsebin.c' || echo '$(srcdir)/'`gstparsebin.c
+
 libgstplayback_la-gstplayback.lo: gstplayback.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-gstplayback.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gstplayback.Tpo -c -o libgstplayback_la-gstplayback.lo `test -f 'gstplayback.c' || echo '$(srcdir)/'`gstplayback.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gstplayback.Tpo $(DEPDIR)/libgstplayback_la-gstplayback.Plo
@@ -731,6 +768,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-gstplaybin2.lo `test -f 'gstplaybin2.c' || echo '$(srcdir)/'`gstplaybin2.c
 
+libgstplayback_la-gstplaybin3.lo: gstplaybin3.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-gstplaybin3.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gstplaybin3.Tpo -c -o libgstplayback_la-gstplaybin3.lo `test -f 'gstplaybin3.c' || echo '$(srcdir)/'`gstplaybin3.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gstplaybin3.Tpo $(DEPDIR)/libgstplayback_la-gstplaybin3.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstplaybin3.c' object='libgstplayback_la-gstplaybin3.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-gstplaybin3.lo `test -f 'gstplaybin3.c' || echo '$(srcdir)/'`gstplaybin3.c
+
 libgstplayback_la-gstplaysink.lo: gstplaysink.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-gstplaysink.lo -MD -MP -MF $(DEPDIR)/libgstplayback_la-gstplaysink.Tpo -c -o libgstplayback_la-gstplaysink.lo `test -f 'gstplaysink.c' || echo '$(srcdir)/'`gstplaysink.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstplayback_la-gstplaysink.Tpo $(DEPDIR)/libgstplayback_la-gstplaysink.Plo
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index 7eb89da..a34efee 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -553,6 +553,7 @@
 static void gst_decode_pad_set_blocked (GstDecodePad * dpad, gboolean blocked);
 static gboolean gst_decode_pad_query (GstPad * pad, GstObject * parent,
     GstQuery * query);
+static gboolean gst_decode_pad_is_exposable (GstDecodePad * endpad);
 
 static void gst_pending_pad_free (GstPendingPad * ppad);
 static GstPadProbeReturn pad_event_cb (GstPad * pad, GstPadProbeInfo * info,
@@ -999,10 +1000,10 @@
   klass->autoplug_select = GST_DEBUG_FUNCPTR (gst_decode_bin_autoplug_select);
   klass->autoplug_query = GST_DEBUG_FUNCPTR (gst_decode_bin_autoplug_query);
 
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&decoder_bin_sink_template));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&decoder_bin_src_template));
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &decoder_bin_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &decoder_bin_src_template);
 
   gst_element_class_set_static_metadata (gstelement_klass,
       "Decoder Bin", "Generic/Bin/Decoder",
@@ -1739,12 +1740,10 @@
   if (is_parser_converter) {
     GstCaps *filter_caps;
     gint i;
+    GstElement *capsfilter;
     GstPad *p;
     GstDecodeElement *delem;
 
-    g_assert (chain->elements != NULL);
-    delem = (GstDecodeElement *) chain->elements->data;
-
     filter_caps = gst_caps_new_empty ();
     for (i = 0; i < factories->n_values; i++) {
       GstElementFactory *factory =
@@ -1778,17 +1777,28 @@
     /* Append the parser caps to prevent any not-negotiated errors */
     filter_caps = gst_caps_merge (filter_caps, gst_caps_ref (caps));
 
-    delem->capsfilter = gst_element_factory_make ("capsfilter", NULL);
-    g_object_set (G_OBJECT (delem->capsfilter), "caps", filter_caps, NULL);
+    if (chain->elements) {
+      delem = (GstDecodeElement *) chain->elements->data;
+      capsfilter = delem->capsfilter =
+          gst_element_factory_make ("capsfilter", NULL);
+    } else {
+      delem = g_slice_new0 (GstDecodeElement);
+      capsfilter = delem->element =
+          gst_element_factory_make ("capsfilter", NULL);
+      delem->capsfilter = NULL;
+      chain->elements = g_list_prepend (chain->elements, delem);
+    }
+
+    g_object_set (G_OBJECT (capsfilter), "caps", filter_caps, NULL);
     gst_caps_unref (filter_caps);
-    gst_element_set_state (delem->capsfilter, GST_STATE_PAUSED);
-    gst_bin_add (GST_BIN_CAST (dbin), gst_object_ref (delem->capsfilter));
+    gst_element_set_state (capsfilter, GST_STATE_PAUSED);
+    gst_bin_add (GST_BIN_CAST (dbin), gst_object_ref (capsfilter));
 
     decode_pad_set_target (dpad, NULL);
-    p = gst_element_get_static_pad (delem->capsfilter, "sink");
+    p = gst_element_get_static_pad (capsfilter, "sink");
     gst_pad_link_full (pad, p, GST_PAD_LINK_CHECK_NOTHING);
     gst_object_unref (p);
-    p = gst_element_get_static_pad (delem->capsfilter, "src");
+    p = gst_element_get_static_pad (capsfilter, "src");
     decode_pad_set_target (dpad, p);
     pad = p;
 
@@ -2132,7 +2142,8 @@
     gboolean subtitle;
     GList *to_connect = NULL;
     GList *to_expose = NULL;
-    gboolean is_parser_converter = FALSE;
+    gboolean is_parser = FALSE;
+    gboolean is_decoder = FALSE;
 
     /* Set dpad target to pad again, it might've been unset
      * below but we came back here because something failed
@@ -2198,10 +2209,10 @@
      * parser is the only one that does not change the data. A
      * valid example for this would be multiple id3demux in a row.
      */
-    is_parser_converter = strstr (gst_element_factory_get_metadata (factory,
+    is_parser = strstr (gst_element_factory_get_metadata (factory,
             GST_ELEMENT_METADATA_KLASS), "Parser") != NULL;
 
-    if (is_parser_converter) {
+    if (is_parser) {
       gboolean skip = FALSE;
       GList *l;
 
@@ -2394,6 +2405,23 @@
         chain->demuxer = TRUE;
     }
 
+    /* If we are configured to use buffering and there is no demuxer in the
+     * chain, we still want a multiqueue, otherwise we will ignore the
+     * use-buffering property. In that case, we will insert a multiqueue after
+     * the parser or decoder - not elsewhere, otherwise we won't have
+     * timestamps.
+     */
+    is_decoder = strstr (gst_element_factory_get_metadata (factory,
+            GST_ELEMENT_METADATA_KLASS), "Decoder") != NULL;
+
+    if (!chain->parent && (is_parser || is_decoder) && dbin->use_buffering) {
+      chain->demuxer = TRUE;
+      if (is_decoder) {
+        GST_WARNING_OBJECT (dbin,
+            "Buffering messages used for decoded and non-parsed data");
+      }
+    }
+
     CHAIN_MUTEX_UNLOCK (chain);
 
     /* Set connection-speed property if needed */
@@ -2797,14 +2825,11 @@
   query = gst_query_new_seeking (GST_FORMAT_BYTES);
   if (!gst_pad_peer_query (pad, query)) {
     GST_DEBUG_OBJECT (dbin, "seeking query failed");
-    gst_query_unref (query);
-    return FALSE;
+    goto done;
   }
 
   gst_query_parse_seeking (query, NULL, &seekable, &start, &stop);
 
-  gst_query_unref (query);
-
   /* try harder to query upstream size if we didn't get it the first time */
   if (seekable && stop == -1) {
     GST_DEBUG_OBJECT (dbin, "doing duration query to fix up unset stop");
@@ -2815,10 +2840,13 @@
    * practice even if it technically may be seekable */
   if (seekable && (start != 0 || stop <= start)) {
     GST_DEBUG_OBJECT (dbin, "seekable but unknown start/stop -> disable");
-    return FALSE;
+    seekable = FALSE;
+  } else {
+    GST_DEBUG_OBJECT (dbin, "upstream seekable: %d", seekable);
   }
 
-  GST_DEBUG_OBJECT (dbin, "upstream seekable: %d", seekable);
+done:
+  gst_query_unref (query);
   return seekable;
 }
 
@@ -3922,7 +3950,7 @@
     goto out;
   }
 
-  if (chain->endpad && (chain->endpad->blocked || chain->endpad->exposed)) {
+  if (chain->endpad && gst_decode_pad_is_exposable (chain->endpad)) {
     complete = TRUE;
     goto out;
   }
@@ -4728,7 +4756,7 @@
   }
 
   if (chain->endpad) {
-    if (!chain->endpad->blocked && !chain->endpad->exposed)
+    if (!gst_decode_pad_is_exposable (chain->endpad) && !chain->endpad->exposed)
       return FALSE;
     *endpads = g_list_prepend (*endpads, gst_object_ref (chain->endpad));
     return TRUE;
@@ -5034,6 +5062,15 @@
   return ret;
 }
 
+static gboolean
+gst_decode_pad_is_exposable (GstDecodePad * endpad)
+{
+  if (endpad->blocked || endpad->exposed)
+    return TRUE;
+
+  return gst_pad_has_current_caps (GST_PAD_CAST (endpad));
+}
+
 /*gst_decode_pad_new:
  *
  * Creates a new GstDecodePad for the given pad.
diff --git a/gst/playback/gstdecodebin3-parse.c b/gst/playback/gstdecodebin3-parse.c
new file mode 100644
index 0000000..0f1a17d
--- /dev/null
+++ b/gst/playback/gstdecodebin3-parse.c
@@ -0,0 +1,551 @@
+/* GStreamer
+ *
+ * Copyright (C) <2015> Centricular Ltd
+ *  @author: Edward Hervey <edward@centricular.com>
+ *  @author: 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.
+ */
+
+#if 0
+/* Not needed for now - we're including gstdecodebin3-parse.c into gstdecodebin3.c */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <glib-object.h>
+#include <glib/gprintf.h>
+#include <gst/gst.h>
+#include <gst/pbutils/pbutils.h>
+
+#include "gstplayback.h"
+#endif
+
+/* Streams that come from demuxers (input/upstream) */
+/* FIXME : All this is hardcoded. Switch to tree of chains */
+struct _DecodebinInputStream
+{
+  GstDecodebin3 *dbin;
+  GstStream *pending_stream;    /* Extra ref */
+  GstStream *active_stream;
+
+  DecodebinInput *input;
+
+  GstPad *srcpad;               /* From demuxer */
+
+  /* id of the pad event probe */
+  gulong output_event_probe_id;
+
+  /* id of the buffer blocking probe on the input (demuxer src) pad */
+  gulong input_buffer_probe_id;
+
+  /* Whether we saw an EOS on input. This should be treated accordingly
+   * when the stream is no longer used */
+  gboolean saw_eos;
+  /* TRUE if the EOS being pushed is only for draining and does not represent
+   * the full media EOS */
+  gboolean drain_eos;
+};
+
+static void parsebin_pad_added_cb (GstElement * demux, GstPad * pad,
+    DecodebinInput * input);
+static void parsebin_pad_removed_cb (GstElement * demux, GstPad * pad,
+    DecodebinInput * input);
+
+static gboolean
+pending_pads_are_eos (DecodebinInput * input)
+{
+  GList *tmp;
+
+  for (tmp = input->pending_pads; tmp; tmp = tmp->next) {
+    PendingPad *ppad = (PendingPad *) tmp->data;
+    if (ppad->saw_eos == FALSE)
+      return FALSE;
+  }
+
+  return TRUE;
+}
+
+static gboolean
+all_inputs_are_eos (GstDecodebin3 * dbin)
+{
+  GList *tmp;
+  /* First check input streams */
+  for (tmp = dbin->input_streams; tmp; tmp = tmp->next) {
+    DecodebinInputStream *input = (DecodebinInputStream *) tmp->data;
+    if (input->saw_eos == FALSE)
+      return FALSE;
+  }
+
+  /* Check pending pads */
+  if (!pending_pads_are_eos (dbin->main_input))
+    return FALSE;
+  for (tmp = dbin->other_inputs; tmp; tmp = tmp->next)
+    if (!pending_pads_are_eos ((DecodebinInput *) tmp->data))
+      return FALSE;
+
+  GST_DEBUG_OBJECT (dbin, "All streams are EOS");
+  return TRUE;
+}
+
+static void
+check_all_streams_for_eos (GstDecodebin3 * dbin)
+{
+  GList *tmp;
+
+  if (!all_inputs_are_eos (dbin))
+    return;
+
+  /* We know all streams are EOS, properly clean up everything */
+  for (tmp = dbin->input_streams; tmp; tmp = tmp->next) {
+    DecodebinInputStream *input = (DecodebinInputStream *) tmp->data;
+    GstPad *peer = gst_pad_get_peer (input->srcpad);
+
+    /* Send EOS and then remove elements */
+    if (peer) {
+      gst_pad_send_event (peer, gst_event_new_eos ());
+      gst_object_unref (peer);
+    }
+    GST_FIXME_OBJECT (input->srcpad, "Remove input stream");
+  }
+}
+
+/* Get the intersection of parser caps and available (sorted) decoders */
+static GstCaps *
+get_parser_caps_filter (GstDecodebin3 * dbin, GstCaps * caps)
+{
+  GList *tmp;
+  GstCaps *filter_caps = gst_caps_new_empty ();
+
+  g_mutex_lock (&dbin->factories_lock);
+  gst_decode_bin_update_factories_list (dbin);
+  for (tmp = dbin->decoder_factories; tmp; tmp = tmp->next) {
+    GstElementFactory *factory = (GstElementFactory *) tmp->data;
+    GstCaps *tcaps, *intersection;
+    const GList *tmps;
+
+    GST_LOG ("Trying factory %s",
+        gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+    for (tmps = gst_element_factory_get_static_pad_templates (factory); tmps;
+        tmps = tmps->next) {
+      GstStaticPadTemplate *st = (GstStaticPadTemplate *) tmps->data;
+      if (st->direction != GST_PAD_SINK || st->presence != GST_PAD_ALWAYS)
+        continue;
+      tcaps = gst_static_pad_template_get_caps (st);
+      intersection =
+          gst_caps_intersect_full (tcaps, caps, GST_CAPS_INTERSECT_FIRST);
+      filter_caps = gst_caps_merge (filter_caps, intersection);
+      gst_caps_unref (tcaps);
+    }
+  }
+  g_mutex_unlock (&dbin->factories_lock);
+  GST_DEBUG_OBJECT (dbin, "Got filter caps %" GST_PTR_FORMAT, filter_caps);
+  return filter_caps;
+}
+
+static gboolean
+check_parser_caps_filter (GstDecodebin3 * dbin, GstCaps * caps)
+{
+  GList *tmp;
+  gboolean res = FALSE;
+
+  g_mutex_lock (&dbin->factories_lock);
+  gst_decode_bin_update_factories_list (dbin);
+  for (tmp = dbin->decoder_factories; tmp; tmp = tmp->next) {
+    GstElementFactory *factory = (GstElementFactory *) tmp->data;
+    GstCaps *tcaps;
+    const GList *tmps;
+
+    GST_LOG ("Trying factory %s",
+        gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+    for (tmps = gst_element_factory_get_static_pad_templates (factory); tmps;
+        tmps = tmps->next) {
+      GstStaticPadTemplate *st = (GstStaticPadTemplate *) tmps->data;
+      if (st->direction != GST_PAD_SINK || st->presence != GST_PAD_ALWAYS)
+        continue;
+      tcaps = gst_static_pad_template_get_caps (st);
+      if (gst_caps_can_intersect (tcaps, caps)) {
+        res = TRUE;
+        gst_caps_unref (tcaps);
+        goto beach;
+      }
+      gst_caps_unref (tcaps);
+    }
+  }
+beach:
+  g_mutex_unlock (&dbin->factories_lock);
+  GST_DEBUG_OBJECT (dbin, "Can intersect : %d", res);
+  return res;
+}
+
+/* Probe on the output of a parser chain (the last
+ * src pad) */
+static GstPadProbeReturn
+parse_chain_output_probe (GstPad * pad, GstPadProbeInfo * info,
+    DecodebinInputStream * input)
+{
+  GstPadProbeReturn ret = GST_PAD_PROBE_OK;
+
+  if (GST_IS_EVENT (GST_PAD_PROBE_INFO_DATA (info))) {
+    GstEvent *ev = GST_PAD_PROBE_INFO_EVENT (info);
+
+    GST_DEBUG_OBJECT (pad, "Got event %s", GST_EVENT_TYPE_NAME (ev));
+    switch (GST_EVENT_TYPE (ev)) {
+      case GST_EVENT_STREAM_START:
+      {
+        GstStream *stream = NULL;
+        guint group_id = G_MAXUINT32;
+        gst_event_parse_group_id (ev, &group_id);
+        GST_DEBUG_OBJECT (pad, "Got stream-start, group_id:%d, input %p",
+            group_id, input->input);
+        if (set_input_group_id (input->input, &group_id)) {
+          ev = gst_event_make_writable (ev);
+          gst_event_set_group_id (ev, group_id);
+          GST_PAD_PROBE_INFO_DATA (info) = ev;
+        }
+        input->saw_eos = FALSE;
+
+        gst_event_parse_stream (ev, &stream);
+        /* FIXME : Would we ever end up with a stream already set on the input ?? */
+        if (stream) {
+          if (input->active_stream != stream) {
+            MultiQueueSlot *slot;
+            if (input->active_stream)
+              gst_object_unref (input->active_stream);
+            input->active_stream = stream;
+            /* We have the beginning of a stream, get a multiqueue slot and link to it */
+            slot = get_slot_for_input (input->dbin, input);
+            link_input_to_slot (input, slot);
+          } else
+            gst_object_unref (stream);
+        }
+      }
+        break;
+      case GST_EVENT_CAPS:
+      {
+        GstCaps *caps = NULL;
+        gst_event_parse_caps (ev, &caps);
+        GST_DEBUG_OBJECT (pad, "caps %" GST_PTR_FORMAT, caps);
+        if (caps && input->active_stream)
+          gst_stream_set_caps (input->active_stream, caps);
+      }
+        break;
+      case GST_EVENT_EOS:
+        /* FIXME : Make sure this makes sense ... */
+        if (TRUE) {
+          GST_DEBUG_OBJECT (pad, "real input pad, marking as EOS");
+          input->saw_eos = TRUE;
+          check_all_streams_for_eos (input->dbin);
+          ret = GST_PAD_PROBE_DROP;
+        } else {
+          MultiQueueSlot *slot = get_slot_for_input (input->dbin, input);
+
+          slot->drain_eos = input->drain_eos;
+
+          if (input->drain_eos) {
+            GST_DEBUG_OBJECT (pad,
+                "Got EOS at end of input stream (drain_eos:%d) Dropping.",
+                input->drain_eos);
+            ret = GST_PAD_PROBE_DROP;
+          } else {
+            GST_DEBUG_OBJECT (pad,
+                "Got EOS at end of input stream (drain_eos:%d) Passing.",
+                input->drain_eos);
+          }
+        }
+        break;
+      default:
+        break;
+    }
+  } else if (GST_IS_QUERY (GST_PAD_PROBE_INFO_DATA (info))) {
+    GstQuery *q = GST_PAD_PROBE_INFO_QUERY (info);
+    GST_DEBUG_OBJECT (pad, "Seeing query %s", GST_QUERY_TYPE_NAME (q));
+    /* If we have a parser, we want to reply to the caps query */
+    /* FIXME: Set a flag when the input stream is created for
+     * streams where we shouldn't reply to these queries */
+    if (GST_QUERY_TYPE (q) == GST_QUERY_CAPS
+        && (info->type & GST_PAD_PROBE_TYPE_PULL)) {
+      GstCaps *filter = NULL;
+      GstCaps *allowed;
+      gst_query_parse_caps (q, &filter);
+      allowed = get_parser_caps_filter (input->dbin, filter);
+      GST_DEBUG_OBJECT (pad,
+          "Intercepting caps query, setting %" GST_PTR_FORMAT, allowed);
+      gst_query_set_caps_result (q, allowed);
+      gst_caps_unref (allowed);
+      ret = GST_PAD_PROBE_HANDLED;
+    } else if (GST_QUERY_TYPE (q) == GST_QUERY_ACCEPT_CAPS) {
+      GstCaps *prop = NULL;
+      gst_query_parse_accept_caps (q, &prop);
+      /* Fast check against target caps */
+      if (gst_caps_can_intersect (prop, input->dbin->caps))
+        gst_query_set_accept_caps_result (q, TRUE);
+      else {
+        gboolean accepted = check_parser_caps_filter (input->dbin, prop);
+        /* check against caps filter */
+        gst_query_set_accept_caps_result (q, accepted);
+        GST_DEBUG_OBJECT (pad, "ACCEPT_CAPS query, returning %d", accepted);
+      }
+      ret = GST_PAD_PROBE_HANDLED;
+    }
+  }
+
+  return ret;
+}
+
+static DecodebinInputStream *
+create_input_stream (GstDecodebin3 * dbin, GstStream * stream, GstPad * pad,
+    DecodebinInput * input)
+{
+  DecodebinInputStream *res = g_new0 (DecodebinInputStream, 1);
+
+  GST_DEBUG_OBJECT (pad, "Creating input stream for stream %p %s (input:%p)",
+      stream, gst_stream_get_stream_id (stream), input);
+
+  res->dbin = dbin;
+  res->input = input;
+  res->pending_stream = gst_object_ref (stream);
+  res->srcpad = pad;
+
+  /* Put probe on output source pad (for detecting EOS/STREAM_START) */
+  res->output_event_probe_id =
+      gst_pad_add_probe (pad,
+      GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM | GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM,
+      (GstPadProbeCallback) parse_chain_output_probe, res, NULL);
+
+  /* Add to list of current input streams */
+  dbin->input_streams = g_list_append (dbin->input_streams, res);
+  GST_DEBUG_OBJECT (pad, "Done creating input stream");
+
+  return res;
+}
+
+static void
+remove_input_stream (GstDecodebin3 * dbin, DecodebinInputStream * stream)
+{
+  MultiQueueSlot *slot;
+
+  GST_DEBUG_OBJECT (dbin, "Removing input stream %p (%s)", stream,
+      stream->active_stream ? gst_stream_get_stream_id (stream->active_stream) :
+      "<NONE>");
+
+  /* Unlink from slot */
+  if (stream->srcpad) {
+    GstPad *peer;
+    peer = gst_pad_get_peer (stream->srcpad);
+    if (peer) {
+      gst_pad_unlink (stream->srcpad, peer);
+      gst_object_unref (peer);
+    }
+  }
+
+  slot = get_slot_for_input (dbin, stream);
+  if (slot) {
+    slot->pending_stream = NULL;
+    slot->input = NULL;
+    GST_DEBUG_OBJECT (dbin, "slot %p cleared", slot);
+  }
+
+  dbin->input_streams = g_list_remove (dbin->input_streams, stream);
+
+  g_free (stream);
+}
+
+
+/* FIXME : HACK, REMOVE, USE INPUT CHAINS */
+static GstPadProbeReturn
+parsebin_buffer_probe (GstPad * pad, GstPadProbeInfo * info,
+    DecodebinInput * input)
+{
+  GstDecodebin3 *dbin = input->dbin;
+  GList *tmp;
+
+  GST_FIXME_OBJECT (dbin, "Need a lock !");
+
+  GST_DEBUG_OBJECT (pad, "Got a buffer ! UNBLOCK !");
+
+  /* Any data out the demuxer means it's not creating pads
+   * any more right now */
+
+  /* 1. Re-use existing streams if/when possible */
+  GST_FIXME_OBJECT (dbin, "Re-use existing input streams if/when possible");
+
+  /* 2. Remove unused streams (push EOS) */
+  GST_DEBUG_OBJECT (dbin, "Removing unused streams");
+  tmp = dbin->input_streams;
+  while (tmp != NULL) {
+    DecodebinInputStream *input_stream = (DecodebinInputStream *) tmp->data;
+    GList *next = tmp->next;
+
+    GST_DEBUG_OBJECT (dbin, "Checking input stream %p", input_stream);
+    if (input_stream->input_buffer_probe_id) {
+      GST_DEBUG_OBJECT (dbin,
+          "Removing pad block on input %p pad %" GST_PTR_FORMAT, input_stream,
+          input_stream->srcpad);
+      gst_pad_remove_probe (input_stream->srcpad,
+          input_stream->input_buffer_probe_id);
+    }
+    input_stream->input_buffer_probe_id = 0;
+
+    if (input_stream->saw_eos) {
+      remove_input_stream (dbin, input_stream);
+      tmp = dbin->input_streams;
+    } else
+      tmp = next;
+  }
+
+  GST_DEBUG_OBJECT (dbin, "Creating new streams (if needed)");
+  /* 3. Create new streams */
+  for (tmp = input->pending_pads; tmp; tmp = tmp->next) {
+    GstStream *stream;
+    PendingPad *ppad = (PendingPad *) tmp->data;
+
+    stream = gst_pad_get_stream (ppad->pad);
+    if (stream == NULL) {
+      GST_ERROR_OBJECT (dbin, "No stream for pad ????");
+    } else {
+      MultiQueueSlot *slot;
+      DecodebinInputStream *input_stream;
+      /* The remaining pads in pending_pads are the ones that require a new
+       * input stream */
+      input_stream = create_input_stream (dbin, stream, ppad->pad, ppad->input);
+      /* See if we can link it straight away */
+      input_stream->active_stream = stream;
+      slot = get_slot_for_input (dbin, input_stream);
+      link_input_to_slot (input_stream, slot);
+      /* Remove the buffer and event probe */
+      gst_pad_remove_probe (ppad->pad, ppad->buffer_probe);
+      gst_pad_remove_probe (ppad->pad, ppad->event_probe);
+      g_free (ppad);
+    }
+  }
+
+  g_list_free (input->pending_pads);
+  input->pending_pads = NULL;
+
+  /* Weed out unused multiqueue slots */
+  for (tmp = dbin->slots; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    GST_LOG_OBJECT (dbin, "Slot %d input:%p drain_eos:%d",
+        slot->id, slot->input, slot->drain_eos);
+    if (slot->input == NULL) {
+      GST_DEBUG_OBJECT (slot->sink_pad, "Sending EOS to unused slot");
+      gst_pad_send_event (slot->sink_pad, gst_event_new_eos ());
+    }
+  }
+
+  return GST_PAD_PROBE_OK;
+}
+
+static GstPadProbeReturn
+parsebin_pending_event_probe (GstPad * pad, GstPadProbeInfo * info,
+    PendingPad * ppad)
+{
+  GstDecodebin3 *dbin = ppad->dbin;
+  /* We drop all events by default */
+  GstPadProbeReturn ret = GST_PAD_PROBE_DROP;
+  GstEvent *ev = GST_PAD_PROBE_INFO_EVENT (info);
+
+  GST_DEBUG_OBJECT (pad, "Got event %p %s", ev, GST_EVENT_TYPE_NAME (ev));
+  switch (GST_EVENT_TYPE (ev)) {
+    case GST_EVENT_EOS:
+    {
+      GST_DEBUG_OBJECT (pad, "Pending pad marked as EOS, removing");
+      ppad->input->pending_pads =
+          g_list_remove (ppad->input->pending_pads, ppad);
+      gst_pad_remove_probe (ppad->pad, ppad->buffer_probe);
+      gst_pad_remove_probe (ppad->pad, ppad->event_probe);
+      g_free (ppad);
+
+      check_all_streams_for_eos (dbin);
+    }
+      break;
+    default:
+      break;
+  }
+
+  return ret;
+}
+
+static void
+parsebin_pad_added_cb (GstElement * demux, GstPad * pad, DecodebinInput * input)
+{
+  GstDecodebin3 *dbin = input->dbin;
+  PendingPad *ppad;
+  GList *tmp;
+
+  GST_DEBUG_OBJECT (dbin, "New pad %s:%s (input:%p)", GST_DEBUG_PAD_NAME (pad),
+      input);
+
+  ppad = g_new0 (PendingPad, 1);
+  ppad->dbin = dbin;
+  ppad->input = input;
+  ppad->pad = pad;
+
+  ppad->event_probe =
+      gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+      (GstPadProbeCallback) parsebin_pending_event_probe, ppad, NULL);
+  ppad->buffer_probe =
+      gst_pad_add_probe (pad,
+      GST_PAD_PROBE_TYPE_BLOCK | GST_PAD_PROBE_TYPE_BUFFER,
+      (GstPadProbeCallback) parsebin_buffer_probe, input, NULL);
+
+  input->pending_pads = g_list_append (input->pending_pads, ppad);
+
+  /* FIXME : ONLY DO FOR THIS PARSEBIN/INPUT ! */
+  /* Check if all existing input streams have a buffer probe set */
+  for (tmp = dbin->input_streams; tmp; tmp = tmp->next) {
+    DecodebinInputStream *input_stream = (DecodebinInputStream *) tmp->data;
+    if (input_stream->input_buffer_probe_id == 0) {
+      GST_DEBUG_OBJECT (input_stream->srcpad, "Adding blocking buffer probe");
+      input_stream->input_buffer_probe_id =
+          gst_pad_add_probe (input_stream->srcpad,
+          GST_PAD_PROBE_TYPE_BLOCK | GST_PAD_PROBE_TYPE_BUFFER,
+          (GstPadProbeCallback) parsebin_buffer_probe, input_stream->input,
+          NULL);
+    }
+  }
+}
+
+static void
+parsebin_pad_removed_cb (GstElement * demux, GstPad * pad, DecodebinInput * inp)
+{
+  GstDecodebin3 *dbin = inp->dbin;
+  DecodebinInputStream *input = NULL;
+  GList *tmp;
+  GST_DEBUG_OBJECT (pad, "removed");
+
+  for (tmp = dbin->input_streams; tmp; tmp = tmp->next) {
+    DecodebinInputStream *cand = (DecodebinInputStream *) tmp->data;
+    if (cand->srcpad == pad)
+      input = cand;
+  }
+  /* If there are no pending pads, this means we will definitely not need this
+   * stream anymore */
+  if (input) {
+    GST_DEBUG_OBJECT (pad, "stream %p", input);
+    if (inp->pending_pads == NULL) {
+      GST_DEBUG_OBJECT (pad, "Remove input stream %p", input);
+      remove_input_stream (dbin, input);
+    } else {
+      input->srcpad = NULL;
+      if (input->input_buffer_probe_id)
+        gst_pad_remove_probe (pad, input->input_buffer_probe_id);
+      input->input_buffer_probe_id = 0;
+    }
+  }
+}
diff --git a/gst/playback/gstdecodebin3.c b/gst/playback/gstdecodebin3.c
new file mode 100644
index 0000000..1cdcc83
--- /dev/null
+++ b/gst/playback/gstdecodebin3.c
@@ -0,0 +1,2438 @@
+/* GStreamer
+ *
+ * Copyright (C) <2015> Centricular Ltd
+ *  @author: Edward Hervey <edward@centricular.com>
+ *  @author: 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 <glib.h>
+#include <glib-object.h>
+#include <glib/gprintf.h>
+#include <gst/gst.h>
+#include <gst/pbutils/pbutils.h>
+
+#include "gstplayback.h"
+#include "gstplay-enum.h"
+#include "gstrawcaps.h"
+
+
+/**
+ * Global design
+ *
+ * 1) From sink pad to elementary streams (GstParseBin)
+ * 
+ * The input sink pads are fed to GstParseBin. GstParseBin will feed them
+ * through typefind. When the caps are detected (or changed) we recursively
+ * figure out which demuxer, parser or depayloader is needed until we get to
+ * elementary streams.
+ *
+ * All elementary streams (whether decoded or not, whether exposed or not) are
+ * fed through multiqueue. There is only *one* multiqueue in decodebin3.
+ *
+ * => MultiQueue is the cornerstone.
+ * => No buffering before multiqueue
+ *
+ * 2) Elementary streams
+ *
+ * After GstParseBin, there are 3 main components:
+ *  1) Input Streams (provided by GstParseBin)
+ *  2) Multiqueue slots
+ *  3) Output Streams
+ *
+ * Input Streams correspond to the stream coming from GstParseBin and that gets
+ * fed into a multiqueue slot.
+ *
+ * Output Streams correspond to the combination of a (optional) decoder and an
+ * output ghostpad. Output Streams can be moved from one multiqueue slot to
+ * another, can reconfigure itself (different decoders), and can be
+ * added/removed depending on the configuration (all streams outputted, only one
+ * of each type, ...).
+ *
+ * Multiqueue slots correspond to a pair of sink/src pad from multiqueue. For
+ * each 'active' Input Stream there is a corresponding slot.
+ * Slots might have different streams on input and output (due to internal
+ * buffering).
+ *
+ * Due to internal queuing/buffering/..., all those components (might) behave
+ * asynchronously. Therefore probes will be used on each component source pad to
+ * detect various key-points:
+ *  * EOS :
+ *     the stream is done => Mark that component as done, optionally freeing/removing it
+ *  * STREAM_START :
+ *     a new stream is starting => link it further if needed
+ *
+ *
+ * 3) Gradual replacement
+ *
+ * If the caps change at any point in decodebin (input sink pad, demuxer output,
+ * multiqueue output, ..), we gradually replace (if needed) the following elements.
+ *
+ * This is handled by the probes in various locations:
+ *  a) typefind output
+ *  b) multiqueue input (source pad of Input Streams)
+ *  c) multiqueue output (source pad of Multiqueue Slots)
+ *  d) final output (target of source ghostpads)
+ *
+ * When CAPS event arrive at those points, one of three things can happen:
+ * a) There is no elements downstream yet, just create/link-to following elements
+ * b) There are downstream elements, do a ACCEPT_CAPS query
+ *  b.1) The new CAPS are accepted, keep current configuration
+ *  b.2) The new CAPS are not accepted, remove following elements then do a)
+ *
+ *
+ *
+ *    Components:
+ *
+ *                                                   MultiQ     Output
+ *                     Input(s)                      Slots      Streams
+ *  /-------------------------------------------\   /-----\  /------------- \
+ *
+ * +-------------------------------------------------------------------------+
+ * |                                                                         |
+ * | +---------------------------------------------+                         |
+ * | |   GstParseBin(s)                            |                         |
+ * | |                +--------------+             |  +-----+                |
+ * | |                |              |---[parser]-[|--| Mul |---[ decoder ]-[|
+ * |]--[ typefind ]---|  demuxer(s)  |------------[|  | ti  |                |
+ * | |                |  (if needed) |---[parser]-[|--| qu  |                |
+ * | |                |              |---[parser]-[|--| eu  |---[ decoder ]-[|
+ * | |                +--------------+             |  +------             ^  |
+ * | +---------------------------------------------+        ^             |  |
+ * |                                               ^        |             |  |
+ * +-----------------------------------------------+--------+-------------+--+
+ *                                                 |        |             |
+ *                                                 |        |             |
+ *                                       Probes  --/--------/-------------/
+ *
+ * ATOMIC SWITCHING
+ *
+ * We want to ensure we re-use decoders when switching streams. This takes place
+ * at the multiqueue output level.
+ *
+ * MAIN CONCEPTS
+ *  1) Activating a stream (i.e. linking a slot to an output) is only done within
+ *    the streaming thread in the multiqueue_src_probe() and only if the
+      stream is in the REQUESTED selection.
+ *  2) Deactivating a stream (i.e. unlinking a slot from an output) is also done
+ *    within the stream thread, but only in a purposefully called IDLE probe
+ *    that calls reassign_slot().
+ *
+ * Based on those two principles, 3 "selection" of streams (stream-id) are used:
+ * 1) requested_selection
+ *    All streams within that list should be activated
+ * 2) active_selection
+ *    List of streams that are exposed by decodebin
+ * 3) to_activate
+ *    List of streams that will be moved to requested_selection in the
+ *    reassign_slot() method (i.e. once a stream was deactivated, and the output
+ *    was retargetted)
+ */
+
+
+GST_DEBUG_CATEGORY_STATIC (decodebin3_debug);
+#define GST_CAT_DEFAULT decodebin3_debug
+
+#define GST_TYPE_DECODEBIN3	 (gst_decodebin3_get_type ())
+
+#define EXTRA_DEBUG 1
+
+typedef struct _GstDecodebin3 GstDecodebin3;
+typedef struct _GstDecodebin3Class GstDecodebin3Class;
+
+typedef struct _DecodebinInputStream DecodebinInputStream;
+typedef struct _DecodebinInput DecodebinInput;
+typedef struct _DecodebinOutputStream DecodebinOutputStream;
+
+struct _GstDecodebin3
+{
+  GstBin bin;
+
+  /* input_lock protects the following variables */
+  GMutex input_lock;
+  /* Main input (static sink pad) */
+  DecodebinInput *main_input;
+  /* Supplementary input (request sink pads) */
+  GList *other_inputs;
+  /* counter for input */
+  guint32 input_counter;
+  /* Current stream group_id (default : G_MAXUINT32) */
+  /* FIXME : Needs to be resetted appropriately (when upstream changes ?) */
+  guint32 current_group_id;
+  /* End of variables protected by input_lock */
+
+  GstElement *multiqueue;
+
+  /* FIXME : Mutex for protecting values below */
+  GstStreamCollection *collection;      /* Active collection */
+
+  GList *input_streams;         /* List of DecodebinInputStream for active collection */
+  GList *output_streams;        /* List of DecodebinOutputStream used for output */
+  GList *slots;                 /* List of MultiQueueSlot */
+  guint slot_id;
+
+  /* selection_lock protects access to following variables */
+  GMutex selection_lock;
+  /* requested selection of stream-id to activate post-multiqueue */
+  GList *requested_selection;
+  /* list of stream-id currently activated in output */
+  GList *active_selection;
+  /* List of stream-id that need to be activated (after a stream switch for ex) */
+  GList *to_activate;
+  /* Pending select streams event */
+  guint32 select_streams_seqnum;
+  /* pending list of streams to select (from downstream) */
+  GList *pending_select_streams;
+  /* TRUE if requested_selection was updated, will become FALSE once
+   * it has fully transitioned to active */
+  gboolean selection_updated;
+  /* End of variables protected by selection_lock */
+
+  /* List of pending collections.
+   * FIXME : Is this really needed ? */
+  GList *pending_collection;
+
+
+  /* Factories */
+  GMutex factories_lock;
+  guint32 factories_cookie;
+  /* All DECODABLE factories */
+  GList *factories;
+  /* Only DECODER factories */
+  GList *decoder_factories;
+  /* DECODABLE but not DECODER factories */
+  GList *decodable_factories;
+
+  /* counters for pads */
+  guint32 apadcount, vpadcount, tpadcount, opadcount;
+
+  /* Properties */
+  GstCaps *caps;
+};
+
+struct _GstDecodebin3Class
+{
+  GstBinClass class;
+
+    gint (*select_stream) (GstDecodebin3 * dbin,
+      GstStreamCollection * collection, GstStream * stream);
+};
+
+/* Input of decodebin, controls input pad and parsebin */
+struct _DecodebinInput
+{
+  GstDecodebin3 *dbin;
+
+  gboolean is_main;
+
+  GstPad *ghost_sink;
+  GstPad *parsebin_sink;
+
+  GstStreamCollection *collection;      /* Active collection */
+
+  guint group_id;
+
+  GstElement *parsebin;
+
+  gulong pad_added_sigid;
+  gulong pad_removed_sigid;
+
+  /* HACK : Remove these fields */
+  /* List of PendingPad structures */
+  GList *pending_pads;
+};
+
+/* Multiqueue Slots */
+typedef struct _MultiQueueSlot
+{
+  guint id;
+
+  GstDecodebin3 *dbin;
+  /* Type of stream handled by this slot */
+  GstStreamType type;
+
+  /* Linked input and output */
+  DecodebinInputStream *input;
+
+  /* pending => last stream received on sink pad */
+  GstStream *pending_stream;
+  /* active => last stream outputted on source pad */
+  GstStream *active_stream;
+
+  GstPad *sink_pad, *src_pad;
+
+  /* id of the MQ src_pad event probe */
+  gulong probe_id;
+
+  gboolean drain_eos;
+
+  DecodebinOutputStream *output;
+} MultiQueueSlot;
+
+/* Streams that are exposed downstream (i.e. output) */
+struct _DecodebinOutputStream
+{
+  GstDecodebin3 *dbin;
+  /* The type of stream handled by this output stream */
+  GstStreamType type;
+
+  /* The slot to which this output stream is currently connected to */
+  MultiQueueSlot *slot;
+
+  GstElement *decoder;          /* Optional */
+  GstPad *decoder_sink, *decoder_src;
+  gboolean linked;
+
+  /* ghostpad */
+  GstPad *src_pad;
+  /* Flag if ghost pad is exposed */
+  gboolean src_exposed;
+
+  /* keyframe dropping probe */
+  gulong drop_probe_id;
+};
+
+/* Pending pads from parsebin */
+typedef struct _PendingPad
+{
+  GstDecodebin3 *dbin;
+  DecodebinInput *input;
+  GstPad *pad;
+
+  gulong buffer_probe;
+  gulong event_probe;
+  gboolean saw_eos;
+} PendingPad;
+
+/* properties */
+#define DEFAULT_CAPS (gst_static_caps_get (&default_raw_caps))
+
+enum
+{
+  PROP_0,
+  PROP_CAPS
+};
+
+/* signals */
+enum
+{
+  SIGNAL_SELECT_STREAM,
+  LAST_SIGNAL
+};
+static guint gst_decodebin3_signals[LAST_SIGNAL] = { 0 };
+
+#define SELECTION_LOCK(dbin) G_STMT_START {				\
+    GST_LOG_OBJECT (dbin,						\
+		    "selection locking from thread %p",			\
+		    g_thread_self ());					\
+    g_mutex_lock (&dbin->selection_lock);				\
+    GST_LOG_OBJECT (dbin,						\
+		    "selection locked from thread %p",			\
+		    g_thread_self ());					\
+  } G_STMT_END
+
+#define SELECTION_UNLOCK(dbin) G_STMT_START {				\
+    GST_LOG_OBJECT (dbin,						\
+		    "selection unlocking from thread %p",		\
+		    g_thread_self ());					\
+    g_mutex_unlock (&dbin->selection_lock);				\
+  } G_STMT_END
+
+#define INPUT_LOCK(dbin) G_STMT_START {				\
+    GST_LOG_OBJECT (dbin,						\
+		    "input locking from thread %p",			\
+		    g_thread_self ());					\
+    g_mutex_lock (&dbin->input_lock);				\
+    GST_LOG_OBJECT (dbin,						\
+		    "input locked from thread %p",			\
+		    g_thread_self ());					\
+  } G_STMT_END
+
+#define INPUT_UNLOCK(dbin) G_STMT_START {				\
+    GST_LOG_OBJECT (dbin,						\
+		    "input unlocking from thread %p",		\
+		    g_thread_self ());					\
+    g_mutex_unlock (&dbin->input_lock);				\
+  } G_STMT_END
+
+GType gst_decodebin3_get_type (void);
+#define gst_decodebin3_parent_class parent_class
+G_DEFINE_TYPE (GstDecodebin3, gst_decodebin3, GST_TYPE_BIN);
+
+static GstStaticCaps default_raw_caps = GST_STATIC_CAPS (DEFAULT_RAW_CAPS);
+
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate request_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink_%u",
+    GST_PAD_SINK,
+    GST_PAD_REQUEST,
+    GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate video_src_template =
+GST_STATIC_PAD_TEMPLATE ("video_%u",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate audio_src_template =
+GST_STATIC_PAD_TEMPLATE ("audio_%u",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate text_src_template =
+GST_STATIC_PAD_TEMPLATE ("text_%u",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src_%u",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
+
+
+static void gst_decodebin3_dispose (GObject * object);
+static void gst_decodebin3_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_decodebin3_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static gboolean parsebin_autoplug_continue_cb (GstElement *
+    parsebin, GstPad * pad, GstCaps * caps, GstDecodebin3 * dbin);
+
+static gint
+gst_decodebin3_select_stream (GstDecodebin3 * dbin,
+    GstStreamCollection * collection, GstStream * stream)
+{
+  GST_LOG_OBJECT (dbin, "default select-stream, returning -1");
+
+  return -1;
+}
+
+static GstPad *gst_decodebin3_request_new_pad (GstElement * element,
+    GstPadTemplate * temp, const gchar * name, const GstCaps * caps);
+static void gst_decodebin3_handle_message (GstBin * bin, GstMessage * message);
+static GstStateChangeReturn gst_decodebin3_change_state (GstElement * element,
+    GstStateChange transition);
+static gboolean gst_decodebin3_send_event (GstElement * element,
+    GstEvent * event);
+
+static void gst_decode_bin_update_factories_list (GstDecodebin3 * dbin);
+#if 0
+static gboolean have_factory (GstDecodebin3 * dbin, GstCaps * caps,
+    GstElementFactoryListType ftype);
+#endif
+
+static void free_input (GstDecodebin3 * dbin, DecodebinInput * input);
+static DecodebinInput *create_new_input (GstDecodebin3 * dbin, gboolean main);
+static gboolean set_input_group_id (DecodebinInput * input, guint32 * group_id);
+
+static void reconfigure_output_stream (DecodebinOutputStream * output,
+    MultiQueueSlot * slot);
+static void free_output_stream (GstDecodebin3 * dbin,
+    DecodebinOutputStream * output);
+static DecodebinOutputStream *create_output_stream (GstDecodebin3 * dbin,
+    GstStreamType type);
+
+static GstPadProbeReturn slot_unassign_probe (GstPad * pad,
+    GstPadProbeInfo * info, MultiQueueSlot * slot);
+static gboolean reassign_slot (GstDecodebin3 * dbin, MultiQueueSlot * slot);
+static MultiQueueSlot *get_slot_for_input (GstDecodebin3 * dbin,
+    DecodebinInputStream * input);
+static void link_input_to_slot (DecodebinInputStream * input,
+    MultiQueueSlot * slot);
+static void free_multiqueue_slot (GstDecodebin3 * dbin, MultiQueueSlot * slot);
+
+/* FIXME: Really make all the parser stuff a self-contained helper object */
+#include "gstdecodebin3-parse.c"
+
+static gboolean
+_gst_int_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gint res = g_value_get_int (handler_return);
+
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_int (return_accu, res);
+
+  if (res == -1)
+    return TRUE;
+
+  return FALSE;
+}
+
+static void
+gst_decodebin3_class_init (GstDecodebin3Class * klass)
+{
+  GObjectClass *gobject_klass = (GObjectClass *) klass;
+  GstElementClass *element_class = (GstElementClass *) klass;
+  GstBinClass *bin_klass = (GstBinClass *) klass;
+
+  gobject_klass->dispose = gst_decodebin3_dispose;
+  gobject_klass->set_property = gst_decodebin3_set_property;
+  gobject_klass->get_property = gst_decodebin3_get_property;
+
+  /* FIXME : ADD PROPERTIES ! */
+  g_object_class_install_property (gobject_klass, PROP_CAPS,
+      g_param_spec_boxed ("caps", "Caps",
+          "The caps on which to stop decoding. (NULL = default)",
+          GST_TYPE_CAPS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /* FIXME : ADD SIGNALS ! */
+  /**
+   * GstDecodebin3::select-stream
+   * @decodebin: a #GstDecodebin3
+   * @collection: a #GstStreamCollection
+   * @stream: a #GstStream
+   *
+   * This signal is emitted whenever @decodebin needs to decide whether
+   * to expose a @stream of a given @collection.
+   *
+   * Returns: 1 if the stream should be selected, 0 if it shouldn't be selected.
+   * A value of -1 (default) lets @decodebin decide what to do with the stream.
+   * */
+  gst_decodebin3_signals[SIGNAL_SELECT_STREAM] =
+      g_signal_new ("select-stream", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstDecodebin3Class, select_stream),
+      _gst_int_accumulator, NULL, g_cclosure_marshal_generic,
+      G_TYPE_INT, 2, GST_TYPE_STREAM_COLLECTION, GST_TYPE_STREAM);
+
+
+  element_class->request_new_pad =
+      GST_DEBUG_FUNCPTR (gst_decodebin3_request_new_pad);
+  element_class->change_state = GST_DEBUG_FUNCPTR (gst_decodebin3_change_state);
+  element_class->send_event = GST_DEBUG_FUNCPTR (gst_decodebin3_send_event);
+
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&request_sink_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&video_src_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&audio_src_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&text_src_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&src_template));
+
+  gst_element_class_set_static_metadata (element_class,
+      "Decoder Bin 3", "Generic/Bin/Decoder",
+      "Autoplug and decode to raw media",
+      "Edward Hervey <edward@centricular.com>");
+
+  bin_klass->handle_message = gst_decodebin3_handle_message;
+
+  klass->select_stream = gst_decodebin3_select_stream;
+}
+
+static void
+gst_decodebin3_init (GstDecodebin3 * dbin)
+{
+  /* Create main input */
+  dbin->main_input = create_new_input (dbin, TRUE);
+
+  dbin->multiqueue = gst_element_factory_make ("multiqueue", NULL);
+  g_object_set (dbin->multiqueue, "sync-by-running-time", TRUE,
+      "max-size-buffers", 0, "use-interleave", TRUE, NULL);
+  gst_bin_add ((GstBin *) dbin, dbin->multiqueue);
+
+  dbin->current_group_id = G_MAXUINT32;
+
+  g_mutex_init (&dbin->factories_lock);
+  g_mutex_init (&dbin->selection_lock);
+  g_mutex_init (&dbin->input_lock);
+
+  dbin->caps = gst_static_caps_get (&default_raw_caps);
+}
+
+static void
+gst_decodebin3_dispose (GObject * object)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) object;
+
+  if (dbin->factories)
+    gst_plugin_feature_list_free (dbin->factories);
+  if (dbin->decoder_factories)
+    g_list_free (dbin->decoder_factories);
+  if (dbin->decodable_factories)
+    g_list_free (dbin->decodable_factories);
+  g_list_free (dbin->requested_selection);
+  g_list_free (dbin->active_selection);
+  g_list_free (dbin->to_activate);
+  g_list_free (dbin->pending_select_streams);
+
+  free_input (dbin, dbin->main_input);
+  /* FIXME : GO OVER INPUTS */
+
+  G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+gst_decodebin3_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) object;
+
+  /* FIXME : IMPLEMENT */
+  switch (prop_id) {
+    case PROP_CAPS:
+      GST_OBJECT_LOCK (dbin);
+      if (dbin->caps)
+        gst_caps_unref (dbin->caps);
+      dbin->caps = g_value_dup_boxed (value);
+      GST_OBJECT_UNLOCK (dbin);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_decodebin3_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) object;
+
+  /* FIXME : IMPLEMENT */
+  switch (prop_id) {
+    case PROP_CAPS:
+      GST_OBJECT_LOCK (dbin);
+      g_value_set_boxed (value, dbin->caps);
+      GST_OBJECT_UNLOCK (dbin);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static gboolean
+parsebin_autoplug_continue_cb (GstElement * parsebin, GstPad * pad,
+    GstCaps * caps, GstDecodebin3 * dbin)
+{
+  GST_DEBUG_OBJECT (pad, "caps %" GST_PTR_FORMAT, caps);
+
+  /* If it matches our target caps, expose it */
+  if (gst_caps_can_intersect (caps, dbin->caps))
+    return FALSE;
+
+  return TRUE;
+}
+
+/* This method should be called whenever a STREAM_START event
+ * comes out of a given parsebin.
+ * The caller shall replace the group_id if the function returns TRUE */
+static gboolean
+set_input_group_id (DecodebinInput * input, guint32 * group_id)
+{
+  GstDecodebin3 *dbin = input->dbin;
+
+  if (input->group_id != *group_id) {
+    if (input->group_id != G_MAXUINT32)
+      GST_WARNING_OBJECT (dbin,
+          "Group id changed (%" G_GUINT32_FORMAT " -> %" G_GUINT32_FORMAT
+          ") on input %p ", input->group_id, *group_id, input);
+    input->group_id = *group_id;
+  }
+
+  if (*group_id != dbin->current_group_id) {
+    if (dbin->current_group_id == G_MAXUINT32) {
+      GST_DEBUG_OBJECT (dbin, "Setting current group id to %" G_GUINT32_FORMAT,
+          *group_id);
+      dbin->current_group_id = *group_id;
+    }
+    *group_id = dbin->current_group_id;
+    return TRUE;
+  }
+
+  return FALSE;
+}
+
+/* Call with INPUT_LOCK taken */
+static gboolean
+ensure_input_parsebin (GstDecodebin3 * dbin, DecodebinInput * input)
+{
+  gboolean set_state = FALSE;
+
+  if (input->parsebin == NULL) {
+    input->parsebin = gst_element_factory_make ("parsebin", NULL);
+    if (input->parsebin == NULL)
+      goto no_parsebin;
+    input->parsebin = gst_object_ref (input->parsebin);
+    input->parsebin_sink = gst_element_get_static_pad (input->parsebin, "sink");
+    input->pad_added_sigid =
+        g_signal_connect (input->parsebin, "pad-added",
+        (GCallback) parsebin_pad_added_cb, input);
+    input->pad_removed_sigid =
+        g_signal_connect (input->parsebin, "pad-removed",
+        (GCallback) parsebin_pad_removed_cb, input);
+    g_signal_connect (input->parsebin, "autoplug-continue",
+        (GCallback) parsebin_autoplug_continue_cb, dbin);
+  }
+
+  if (GST_OBJECT_PARENT (GST_OBJECT (input->parsebin)) != GST_OBJECT (dbin)) {
+    gst_bin_add (GST_BIN (dbin), input->parsebin);
+    set_state = TRUE;
+  }
+
+  gst_ghost_pad_set_target (GST_GHOST_PAD (input->ghost_sink),
+      input->parsebin_sink);
+  if (set_state)
+    gst_element_sync_state_with_parent (input->parsebin);
+
+  return TRUE;
+
+  /* ERRORS */
+no_parsebin:
+  {
+    gst_element_post_message ((GstElement *) dbin,
+        gst_missing_element_message_new ((GstElement *) dbin, "parsebin"));
+    return FALSE;
+  }
+}
+
+static GstPadLinkReturn
+gst_decodebin3_input_pad_link (GstPad * pad, GstObject * parent, GstPad * peer)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) parent;
+  GstPadLinkReturn res = GST_PAD_LINK_OK;
+  DecodebinInput *input;
+
+  GST_LOG_OBJECT (parent, "Got link on input pad %" GST_PTR_FORMAT
+      ". Creating parsebin if needed", pad);
+
+  if ((input = g_object_get_data (G_OBJECT (pad), "decodebin.input")) == NULL)
+    goto fail;
+
+  INPUT_LOCK (dbin);
+  if (!ensure_input_parsebin (dbin, input))
+    res = GST_PAD_LINK_REFUSED;
+  INPUT_UNLOCK (dbin);
+
+  return res;
+fail:
+  GST_ERROR_OBJECT (parent, "Failed to retrieve input state from ghost pad");
+  return GST_PAD_LINK_REFUSED;
+}
+
+static void
+gst_decodebin3_input_pad_unlink (GstPad * pad, GstObject * parent)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) parent;
+  DecodebinInput *input;
+
+  GST_LOG_OBJECT (parent, "Got unlink on input pad %" GST_PTR_FORMAT
+      ". Removing parsebin.", pad);
+
+  if ((input = g_object_get_data (G_OBJECT (pad), "decodebin.input")) == NULL)
+    goto fail;
+
+  INPUT_LOCK (dbin);
+  if (input->parsebin == NULL) {
+    INPUT_UNLOCK (dbin);
+    return;
+  }
+
+  if (GST_OBJECT_PARENT (GST_OBJECT (input->parsebin)) == GST_OBJECT (dbin)) {
+    gst_bin_remove (GST_BIN (dbin), input->parsebin);
+    gst_element_set_state (input->parsebin, GST_STATE_NULL);
+  }
+  INPUT_UNLOCK (dbin);
+  return;
+
+fail:
+  GST_ERROR_OBJECT (parent, "Failed to retrieve input state from ghost pad");
+  return;
+}
+
+static void
+free_input (GstDecodebin3 * dbin, DecodebinInput * input)
+{
+  GST_DEBUG ("Freeing input %p", input);
+  gst_ghost_pad_set_target (GST_GHOST_PAD (input->ghost_sink), NULL);
+  gst_element_remove_pad (GST_ELEMENT (dbin), input->ghost_sink);
+  if (input->parsebin) {
+    g_signal_handler_disconnect (input->parsebin, input->pad_removed_sigid);
+    g_signal_handler_disconnect (input->parsebin, input->pad_added_sigid);
+    gst_element_set_state (input->parsebin, GST_STATE_NULL);
+    gst_object_unref (input->parsebin);
+    gst_object_unref (input->parsebin_sink);
+  }
+  g_free (input);
+}
+
+/* Call with INPUT_LOCK taken */
+static DecodebinInput *
+create_new_input (GstDecodebin3 * dbin, gboolean main)
+{
+  DecodebinInput *input;
+
+  input = g_new0 (DecodebinInput, 1);
+  input->dbin = dbin;
+  input->is_main = main;
+  input->group_id = G_MAXUINT32;
+  if (main)
+    input->ghost_sink = gst_ghost_pad_new_no_target ("sink", GST_PAD_SINK);
+  else {
+    gchar *pad_name = g_strdup_printf ("sink_%u", dbin->input_counter++);
+    input->ghost_sink = gst_ghost_pad_new_no_target (pad_name, GST_PAD_SINK);
+    g_free (pad_name);
+  }
+  g_object_set_data (G_OBJECT (input->ghost_sink), "decodebin.input", input);
+  gst_pad_set_link_function (input->ghost_sink, gst_decodebin3_input_pad_link);
+  gst_pad_set_unlink_function (input->ghost_sink,
+      gst_decodebin3_input_pad_unlink);
+
+  gst_pad_set_active (input->ghost_sink, TRUE);
+  gst_element_add_pad ((GstElement *) dbin, input->ghost_sink);
+
+  return input;
+
+}
+
+static GstPad *
+gst_decodebin3_request_new_pad (GstElement * element, GstPadTemplate * temp,
+    const gchar * name, const GstCaps * caps)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) element;
+  DecodebinInput *input;
+  GstPad *res = NULL;
+
+  /* We are ignoring names for the time being, not sure it makes any sense
+   * within the context of decodebin3 ... */
+  INPUT_LOCK (dbin);
+  input = create_new_input (dbin, FALSE);
+  if (input) {
+    dbin->other_inputs = g_list_append (dbin->other_inputs, input);
+    res = input->ghost_sink;
+  }
+  INPUT_UNLOCK (dbin);
+
+  return res;
+}
+
+/* Must be called with factories lock! */
+static void
+gst_decode_bin_update_factories_list (GstDecodebin3 * dbin)
+{
+  guint cookie;
+
+  cookie = gst_registry_get_feature_list_cookie (gst_registry_get ());
+  if (!dbin->factories || dbin->factories_cookie != cookie) {
+    GList *tmp;
+    if (dbin->factories)
+      gst_plugin_feature_list_free (dbin->factories);
+    if (dbin->decoder_factories)
+      g_list_free (dbin->decoder_factories);
+    if (dbin->decodable_factories)
+      g_list_free (dbin->decodable_factories);
+    dbin->factories =
+        gst_element_factory_list_get_elements
+        (GST_ELEMENT_FACTORY_TYPE_DECODABLE, GST_RANK_MARGINAL);
+    dbin->factories =
+        g_list_sort (dbin->factories, gst_plugin_feature_rank_compare_func);
+    dbin->factories_cookie = cookie;
+
+    /* Filter decoder and other decodables */
+    dbin->decoder_factories = NULL;
+    dbin->decodable_factories = NULL;
+    for (tmp = dbin->factories; tmp; tmp = tmp->next) {
+      GstElementFactory *fact = (GstElementFactory *) tmp->data;
+      if (gst_element_factory_list_is_type (fact,
+              GST_ELEMENT_FACTORY_TYPE_DECODER))
+        dbin->decoder_factories = g_list_append (dbin->decoder_factories, fact);
+      else
+        dbin->decodable_factories =
+            g_list_append (dbin->decodable_factories, fact);
+    }
+  }
+}
+
+/* Must be called with appropriate lock if list is a protected variable */
+static gboolean
+stream_in_list (GList * list, const gchar * sid)
+{
+  GList *tmp;
+
+#if EXTRA_DEBUG
+  for (tmp = list; tmp; tmp = tmp->next) {
+    gchar *osid = (gchar *) tmp->data;
+    GST_DEBUG ("Checking %s against %s", sid, osid);
+  }
+#endif
+
+  for (tmp = list; tmp; tmp = tmp->next) {
+    gchar *osid = (gchar *) tmp->data;
+    if (!g_strcmp0 (sid, osid))
+      return TRUE;
+  }
+
+  return FALSE;
+}
+
+static void
+update_requested_selection (GstDecodebin3 * dbin,
+    GstStreamCollection * collection)
+{
+  guint i, nb;
+  GList *tmp = NULL;
+  GstStreamType used_types = 0;
+
+  nb = gst_stream_collection_get_size (collection);
+
+  /* 1. Is there a pending SELECT_STREAMS we can return straight away since
+   *  the switch handler will take care of the pending selection */
+  SELECTION_LOCK (dbin);
+  if (dbin->pending_select_streams) {
+    GST_DEBUG_OBJECT (dbin,
+        "No need to create pending selection, SELECT_STREAMS underway");
+    goto beach;
+  }
+
+  /* 2. If not, are we in EXPOSE_ALL_MODE ? If so, match everything */
+  GST_FIXME_OBJECT (dbin, "Implement EXPOSE_ALL_MODE");
+
+  /* 3. If not, check if we already have some of the streams in the
+   * existing active/requested selection */
+  for (i = 0; i < nb; i++) {
+    GstStream *stream = gst_stream_collection_get_stream (collection, i);
+    const gchar *sid = gst_stream_get_stream_id (stream);
+    gint request = -1;
+    /* Fire select-stream signal to see if outside components want to
+     * hint at which streams should be selected */
+    g_signal_emit (G_OBJECT (dbin),
+        gst_decodebin3_signals[SIGNAL_SELECT_STREAM], 0, collection, stream,
+        &request);
+    GST_DEBUG_OBJECT (dbin, "stream %s , request:%d", sid, request);
+    if (request == 1 || (request == -1
+            && (stream_in_list (dbin->requested_selection, sid)
+                || stream_in_list (dbin->active_selection, sid)))) {
+      GstStreamType curtype = gst_stream_get_stream_type (stream);
+      if (request == 1)
+        GST_DEBUG_OBJECT (dbin,
+            "Using stream requested by 'select-stream' signal : %s", sid);
+      else
+        GST_DEBUG_OBJECT (dbin,
+            "Re-using stream already present in requested or active selection : %s",
+            sid);
+      tmp = g_list_append (tmp, (gchar *) sid);
+      used_types |= curtype;
+    }
+  }
+
+  /* 4. If not, match one stream of each type */
+  for (i = 0; i < nb; i++) {
+    GstStream *stream = gst_stream_collection_get_stream (collection, i);
+    GstStreamType curtype = gst_stream_get_stream_type (stream);
+    if (!(used_types & curtype)) {
+      const gchar *sid = gst_stream_get_stream_id (stream);
+      GST_DEBUG_OBJECT (dbin, "Selecting stream '%s' of type %s",
+          sid, gst_stream_type_get_name (curtype));
+      tmp = g_list_append (tmp, (gchar *) sid);
+      used_types |= curtype;
+    }
+  }
+
+beach:
+  /* Finally set the requested selection */
+  if (tmp) {
+    if (dbin->requested_selection) {
+      GST_FIXME_OBJECT (dbin,
+          "Replacing non-NULL requested_selection, what should we do ??");
+      g_list_free (dbin->requested_selection);
+    }
+    dbin->requested_selection = tmp;
+    dbin->selection_updated = TRUE;
+  }
+  SELECTION_UNLOCK (dbin);
+}
+
+/* Call with INPUT_LOCK taken */
+static GstStreamCollection *
+get_merged_collection (GstDecodebin3 * dbin)
+{
+  gboolean needs_merge = FALSE;
+  GstStreamCollection *res = NULL;
+  GList *tmp;
+  guint i, nb_stream;
+
+  /* First check if we need to do a merge or just return the only collection */
+  res = dbin->main_input->collection;
+
+  for (tmp = dbin->other_inputs; tmp; tmp = tmp->next) {
+    DecodebinInput *input = (DecodebinInput *) tmp->data;
+    if (input->collection) {
+      if (res) {
+        needs_merge = TRUE;
+        break;
+      }
+      res = input->collection;
+    }
+  }
+
+  if (!needs_merge) {
+    GST_DEBUG_OBJECT (dbin, "No need to merge, returning %p", res);
+    return res;
+  }
+
+  /* We really need to create a new collection */
+  /* FIXME : Some numbering scheme maybe ?? */
+  res = gst_stream_collection_new ("decodebin3");
+  if (dbin->main_input->collection) {
+    nb_stream = gst_stream_collection_get_size (dbin->main_input->collection);
+    GST_DEBUG_OBJECT (dbin, "main input %p %d", dbin->main_input, nb_stream);
+    for (i = 0; i < nb_stream; i++) {
+      GstStream *stream =
+          gst_stream_collection_get_stream (dbin->main_input->collection, i);
+      gst_stream_collection_add_stream (res, stream);
+    }
+  }
+
+  for (tmp = dbin->other_inputs; tmp; tmp = tmp->next) {
+    DecodebinInput *input = (DecodebinInput *) tmp->data;
+    GST_DEBUG_OBJECT (dbin, "input %p , collection %p", input,
+        input->collection);
+    if (input->collection) {
+      nb_stream = gst_stream_collection_get_size (input->collection);
+      GST_DEBUG_OBJECT (dbin, "nb_stream : %d", nb_stream);
+      for (i = 0; i < nb_stream; i++) {
+        GstStream *stream =
+            gst_stream_collection_get_stream (input->collection, i);
+        gst_stream_collection_add_stream (res, stream);
+      }
+    }
+  }
+
+  return res;
+}
+
+/* Call with INPUT_LOCK taken */
+static DecodebinInput *
+find_message_parsebin (GstDecodebin3 * dbin, GstElement * child)
+{
+  DecodebinInput *input = NULL;
+  GstElement *parent = gst_object_ref (child);
+  GList *tmp;
+
+  do {
+    GstElement *next_parent;
+
+    GST_DEBUG_OBJECT (dbin, "parent %s",
+        parent ? GST_ELEMENT_NAME (parent) : "<NONE>");
+
+    if (parent == dbin->main_input->parsebin) {
+      input = dbin->main_input;
+      break;
+    }
+    for (tmp = dbin->other_inputs; tmp; tmp = tmp->next) {
+      DecodebinInput *cur = (DecodebinInput *) tmp->data;
+      if (parent == cur->parsebin) {
+        input = cur;
+        break;
+      }
+    }
+    next_parent = (GstElement *) gst_element_get_parent (parent);
+    gst_object_unref (parent);
+    parent = next_parent;
+
+  } while (parent && parent != (GstElement *) dbin);
+
+  if (parent)
+    gst_object_unref (parent);
+
+  return input;
+}
+
+static gboolean
+stream_in_collection (GstDecodebin3 * dbin, gchar * sid)
+{
+  guint i, len;
+
+  if (dbin->collection == NULL)
+    return FALSE;
+  len = gst_stream_collection_get_size (dbin->collection);
+  for (i = 0; i < len; i++) {
+    GstStream *stream = gst_stream_collection_get_stream (dbin->collection, i);
+    const gchar *osid = gst_stream_get_stream_id (stream);
+    if (!g_strcmp0 (sid, osid))
+      return TRUE;
+  }
+
+  return FALSE;
+}
+
+/* Call with INPUT_LOCK taken */
+static void
+handle_stream_collection (GstDecodebin3 * dbin,
+    GstStreamCollection * collection, GstElement * child)
+{
+#ifndef GST_DISABLE_GST_DEBUG
+  const gchar *upstream_id;
+  guint i;
+#endif
+  DecodebinInput *input = find_message_parsebin (dbin, child);
+
+  if (!input) {
+    GST_DEBUG_OBJECT (dbin,
+        "Couldn't find corresponding input, most likely shutting down");
+    return;
+  }
+
+  /* Replace collection in input */
+  if (input->collection)
+    gst_object_unref (input->collection);
+  input->collection = collection;
+  GST_DEBUG_OBJECT (dbin, "Setting collection %p on input %p", collection,
+      input);
+
+  /* Merge collection if needed */
+  collection = get_merged_collection (dbin);
+
+#ifndef GST_DISABLE_GST_DEBUG
+  /* Just some debugging */
+  upstream_id = gst_stream_collection_get_upstream_id (collection);
+  GST_DEBUG ("Received Stream Collection. Upstream_id : %s", upstream_id);
+  GST_DEBUG ("From input %p", input);
+  GST_DEBUG ("  %d streams", gst_stream_collection_get_size (collection));
+  for (i = 0; i < gst_stream_collection_get_size (collection); i++) {
+    GstStream *stream = gst_stream_collection_get_stream (collection, i);
+    const GstTagList *taglist;
+    const GstCaps *caps;
+
+    GST_DEBUG ("   Stream '%s'", gst_stream_get_stream_id (stream));
+    GST_DEBUG ("     type  : %s",
+        gst_stream_type_get_name (gst_stream_get_stream_type (stream)));
+    GST_DEBUG ("     flags : 0x%x", gst_stream_get_stream_flags (stream));
+    taglist = gst_stream_get_tags (stream);
+    GST_DEBUG ("     tags  : %" GST_PTR_FORMAT, taglist);
+    caps = gst_stream_get_caps (stream);
+    GST_DEBUG ("     caps  : %" GST_PTR_FORMAT, caps);
+  }
+#endif
+
+  /* Store collection for later usage */
+  if (dbin->collection == NULL) {
+    dbin->collection = collection;
+  } else {
+    /* We need to check who emitted this collection (the owner).
+     * If we already had a collection from that user, this one is an update,
+     * that is to say that we need to figure out how we are going to re-use
+     * the streams/slot */
+    GST_FIXME_OBJECT (dbin, "New collection but already had one ...");
+    /* FIXME : When do we switch from pending collection to active collection ?
+     * When all streams from active collection are drained in multiqueue output ? */
+    gst_object_unref (dbin->collection);
+    dbin->collection = collection;
+    /* dbin->pending_collection = */
+    /*     g_list_append (dbin->pending_collection, collection); */
+  }
+}
+
+static void
+gst_decodebin3_handle_message (GstBin * bin, GstMessage * message)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) bin;
+  gboolean posting_collection = FALSE;
+
+  GST_DEBUG_OBJECT (bin, "Got Message %s", GST_MESSAGE_TYPE_NAME (message));
+
+  switch (GST_MESSAGE_TYPE (message)) {
+    case GST_MESSAGE_STREAM_COLLECTION:
+    {
+      GstStreamCollection *collection = NULL;
+      gst_message_parse_stream_collection (message, &collection);
+      if (collection) {
+        INPUT_LOCK (dbin);
+        handle_stream_collection (dbin, collection,
+            (GstElement *) GST_MESSAGE_SRC (message));
+        posting_collection = TRUE;
+        INPUT_UNLOCK (dbin);
+      }
+      if (dbin->collection && collection != dbin->collection) {
+        /* Replace collection message, we most likely aggregated it */
+        GstMessage *new_msg;
+        new_msg =
+            gst_message_new_stream_collection ((GstObject *) dbin,
+            dbin->collection);
+        gst_message_unref (message);
+        message = new_msg;
+      }
+      break;
+    }
+    default:
+      break;
+  }
+
+  GST_BIN_CLASS (parent_class)->handle_message (bin, message);
+
+  if (posting_collection) {
+    /* Figure out a selection for that collection */
+    update_requested_selection (dbin, dbin->collection);
+  }
+}
+
+static DecodebinOutputStream *
+find_free_compatible_output (GstDecodebin3 * dbin, GstStream * stream)
+{
+  GList *tmp;
+  GstStreamType stype = gst_stream_get_stream_type (stream);
+
+  for (tmp = dbin->output_streams; tmp; tmp = tmp->next) {
+    DecodebinOutputStream *output = (DecodebinOutputStream *) tmp->data;
+    if (output->type == stype && output->slot && output->slot->active_stream) {
+      GstStream *tstream = output->slot->active_stream;
+      if (!stream_in_list (dbin->requested_selection,
+              (gchar *) gst_stream_get_stream_id (tstream))) {
+        return output;
+      }
+    }
+  }
+
+  return NULL;
+}
+
+/* Give a certain slot, figure out if it should be linked to an
+ * output stream
+ * CALL WITH SELECTION LOCK TAKEN !*/
+static DecodebinOutputStream *
+get_output_for_slot (MultiQueueSlot * slot)
+{
+  GstDecodebin3 *dbin = slot->dbin;
+  DecodebinOutputStream *output = NULL;
+  const gchar *stream_id;
+  const GstCaps *caps;
+
+  /* If we already have a configured output, just use it */
+  if (slot->output != NULL)
+    return slot->output;
+
+  /*
+   * FIXME
+   * 
+   * This method needs to be split into multiple parts
+   *
+   * 1) Figure out whether stream should be exposed or not
+   *   This is based on autoplug-continue, EXPOSE_ALL_MODE, or presence
+   *   in the default stream attribution
+   *
+   * 2) Figure out whether an output stream should be created, whether
+   *   we can re-use the output stream already linked to the slot, or
+   *   whether we need to get re-assigned another (currently used) output
+   *   stream.
+   */
+
+  stream_id = gst_stream_get_stream_id (slot->active_stream);
+  caps = gst_stream_get_caps (slot->active_stream);
+  GST_DEBUG_OBJECT (dbin, "stream %s , %" GST_PTR_FORMAT, stream_id, caps);
+
+  /* 0. Emit autoplug-continue signal for pending caps ? */
+  GST_FIXME_OBJECT (dbin, "emit autoplug-continue");
+
+  /* 1. if in EXPOSE_ALL_MODE, just accept */
+  GST_FIXME_OBJECT (dbin, "Handle EXPOSE_ALL_MODE");
+
+#if 0
+  /* FIXME : The idea around this was to avoid activating a stream for
+   *     which we have no decoder. Unfortunately it is way too
+   *     expensive. Need to figure out a better solution */
+  /* 2. Is there a potential decoder (if one is required) */
+  if (!gst_caps_can_intersect (caps, dbin->caps)
+      && !have_factory (dbin, (GstCaps *) caps,
+          GST_ELEMENT_FACTORY_TYPE_DECODER)) {
+    GST_WARNING_OBJECT (dbin, "Don't have a decoder for %" GST_PTR_FORMAT,
+        caps);
+    SELECTION_UNLOCK (dbin);
+    gst_element_post_message (GST_ELEMENT_CAST (dbin),
+        gst_missing_decoder_message_new (GST_ELEMENT_CAST (dbin), caps));
+    SELECTION_LOCK (dbin);
+    return NULL;
+  }
+#endif
+
+  /* 3. In default mode check if we should expose */
+  if (stream_in_list (dbin->requested_selection, stream_id)) {
+    /* Check if we can steal an existing output stream we could re-use.
+     * that is:
+     * * an output stream whose slot->stream is not in requested
+     * * and is of the same type as this stream
+     */
+    output = find_free_compatible_output (dbin, slot->active_stream);
+    if (output) {
+      /* Move this output from its current slot to this slot */
+      dbin->to_activate =
+          g_list_append (dbin->to_activate, (gchar *) stream_id);
+      dbin->requested_selection =
+          g_list_remove (dbin->requested_selection, stream_id);
+      SELECTION_UNLOCK (dbin);
+      gst_pad_add_probe (output->slot->src_pad, GST_PAD_PROBE_TYPE_IDLE,
+          (GstPadProbeCallback) slot_unassign_probe, output->slot, NULL);
+      SELECTION_LOCK (dbin);
+      return NULL;
+    }
+
+    output = create_output_stream (dbin, slot->type);
+    output->slot = slot;
+    GST_DEBUG ("Linking slot %p to new output %p", slot, output);
+    slot->output = output;
+    dbin->active_selection =
+        g_list_append (dbin->active_selection, (gchar *) stream_id);
+  } else
+    GST_DEBUG ("Not creating any output for slot %p", slot);
+
+  return output;
+}
+
+/* Returns SELECTED_STREAMS message if active_selection is equal to
+ * requested_selection, else NULL.
+ * Must be called with LOCK taken */
+static GstMessage *
+is_selection_done (GstDecodebin3 * dbin)
+{
+  GList *tmp;
+  GstMessage *msg;
+
+  if (!dbin->selection_updated)
+    return NULL;
+
+  GST_LOG_OBJECT (dbin, "Checking");
+
+  if (dbin->to_activate != NULL) {
+    GST_DEBUG ("Still have streams to activate");
+    return NULL;
+  }
+  for (tmp = dbin->requested_selection; tmp; tmp = tmp->next) {
+    GST_DEBUG ("Checking requested stream %s", (gchar *) tmp->data);
+    if (!stream_in_list (dbin->active_selection, (gchar *) tmp->data)) {
+      GST_DEBUG ("Not in active selection, returning");
+      return NULL;
+    }
+  }
+
+  GST_DEBUG_OBJECT (dbin, "Selection active, creating message");
+
+  /* We are completely active */
+  msg = gst_message_new_streams_selected ((GstObject *) dbin, dbin->collection);
+  GST_MESSAGE_SEQNUM (msg) = dbin->select_streams_seqnum;
+  for (tmp = dbin->output_streams; tmp; tmp = tmp->next) {
+    DecodebinOutputStream *output = (DecodebinOutputStream *) tmp->data;
+    if (output->slot) {
+      GST_DEBUG_OBJECT (dbin, "Adding stream %s",
+          gst_stream_get_stream_id (output->slot->active_stream));
+
+      gst_message_streams_selected_add (msg, output->slot->active_stream);
+    } else
+      GST_WARNING_OBJECT (dbin, "No valid slot for output %p", output);
+  }
+  dbin->selection_updated = FALSE;
+  return msg;
+}
+
+static GstPadProbeReturn
+multiqueue_src_probe (GstPad * pad, GstPadProbeInfo * info,
+    MultiQueueSlot * slot)
+{
+  GstPadProbeReturn ret = GST_PAD_PROBE_OK;
+  GstDecodebin3 *dbin = slot->dbin;
+
+  if (GST_IS_EVENT (GST_PAD_PROBE_INFO_DATA (info))) {
+    GstEvent *ev = GST_PAD_PROBE_INFO_EVENT (info);
+
+    GST_DEBUG_OBJECT (pad, "Got event %p %s", ev, GST_EVENT_TYPE_NAME (ev));
+    switch (GST_EVENT_TYPE (ev)) {
+      case GST_EVENT_STREAM_START:
+      {
+        GstStream *stream = NULL;
+        const gchar *stream_id;
+
+        gst_event_parse_stream (ev, &stream);
+        if (stream == NULL) {
+          GST_ERROR_OBJECT (pad,
+              "Got a STREAM_START event without a GstStream");
+          break;
+        }
+        stream_id = gst_stream_get_stream_id (stream);
+        GST_DEBUG_OBJECT (pad, "Stream Start '%s'", stream_id);
+        if (slot->active_stream == NULL) {
+          slot->active_stream = stream;
+        } else if (slot->active_stream != stream) {
+          GST_FIXME_OBJECT (pad, "Handle stream changes (%s => %s) !",
+              gst_stream_get_stream_id (slot->active_stream),
+              gst_stream_get_stream_id (stream));
+          gst_object_unref (slot->active_stream);
+          slot->active_stream = stream;
+        } else
+          gst_object_unref (stream);
+#if 0                           /* Disabled because stream-start is pushed for every buffer on every unlinked pad */
+        {
+          gboolean is_active, is_requested;
+          /* Quick check to see if we're in the current selection */
+          /* FIXME : Re-check all slot<=>output mappings based on requested_selection */
+          SELECTION_LOCK (dbin);
+          GST_DEBUG_OBJECT (dbin, "Checking active selection");
+          is_active = stream_in_list (dbin->active_selection, stream_id);
+          GST_DEBUG_OBJECT (dbin, "Checking requested selection");
+          is_requested = stream_in_list (dbin->requested_selection, stream_id);
+          SELECTION_UNLOCK (dbin);
+          if (is_active)
+            GST_DEBUG_OBJECT (pad, "Slot in ACTIVE selection (output:%p)",
+                slot->output);
+          if (is_requested)
+            GST_DEBUG_OBJECT (pad, "Slot in REQUESTED selection (output:%p)",
+                slot->output);
+          else if (slot->output) {
+            GST_DEBUG_OBJECT (pad,
+                "Slot needs to be deactivated ? It's no longer in requested selection");
+          } else if (!is_active)
+            GST_DEBUG_OBJECT (pad,
+                "Slot in neither active nor requested selection");
+        }
+#endif
+      }
+        break;
+      case GST_EVENT_CAPS:
+      {
+        /* Configure the output slot if needed */
+        DecodebinOutputStream *output;
+        GstMessage *msg = NULL;
+        SELECTION_LOCK (dbin);
+        output = get_output_for_slot (slot);
+        if (output) {
+          reconfigure_output_stream (output, slot);
+          msg = is_selection_done (dbin);
+        }
+        SELECTION_UNLOCK (dbin);
+        if (msg)
+          gst_element_post_message ((GstElement *) slot->dbin, msg);
+      }
+        break;
+      case GST_EVENT_EOS:
+        /* FIXME : Figure out */
+        GST_FIXME_OBJECT (pad, "EOS on multiqueue source pad. input:%p",
+            slot->input);
+        if (slot->input == NULL) {
+          GstPad *peer;
+          GST_DEBUG_OBJECT (pad,
+              "last EOS for input, forwarding and removing slot");
+          peer = gst_pad_get_peer (pad);
+          if (peer) {
+            gst_pad_send_event (peer, ev);
+            gst_object_unref (peer);
+          }
+          SELECTION_LOCK (dbin);
+          /* FIXME : Shouldn't we try to re-assign the output instead of just
+           * removing it ? */
+          /* Remove the output */
+          if (slot->output) {
+            DecodebinOutputStream *output = slot->output;
+            dbin->output_streams = g_list_remove (dbin->output_streams, output);
+            free_output_stream (dbin, output);
+          }
+          SELECTION_UNLOCK (dbin);
+          ret = GST_PAD_PROBE_HANDLED;
+        }
+        break;
+      default:
+        break;
+    }
+  } else if (GST_IS_QUERY (GST_PAD_PROBE_INFO_DATA (info))) {
+    GstQuery *query = GST_PAD_PROBE_INFO_QUERY (info);
+    switch (GST_QUERY_TYPE (query)) {
+      case GST_QUERY_CAPS:
+      {
+        GST_DEBUG_OBJECT (pad, "Intercepting CAPS query");
+        gst_query_set_caps_result (query, gst_caps_new_any ());
+        ret = GST_PAD_PROBE_HANDLED;
+      }
+        break;
+
+      case GST_QUERY_ACCEPT_CAPS:
+      {
+        GST_DEBUG_OBJECT (pad, "Intercepting Accept Caps query");
+        /* If the current decoder doesn't accept caps, we'll reconfigure
+         * on the actual caps event. So accept any caps. */
+        gst_query_set_accept_caps_result (query, TRUE);
+        ret = GST_PAD_PROBE_HANDLED;
+      }
+      default:
+        break;
+    }
+  }
+
+  return ret;
+}
+
+/* Create a new multiqueue slot for the given type
+ *
+ * It is up to the caller to know whether that slot is needed or not
+ * (and release it when no longer needed) */
+static MultiQueueSlot *
+create_new_slot (GstDecodebin3 * dbin, GstStreamType type)
+{
+  MultiQueueSlot *slot;
+  GstIterator *it = NULL;
+  GValue item = { 0, };
+
+  GST_DEBUG_OBJECT (dbin, "Creating new slot for type %s",
+      gst_stream_type_get_name (type));
+  slot = g_new0 (MultiQueueSlot, 1);
+  slot->dbin = dbin;
+  slot->id = dbin->slot_id++;
+  slot->type = type;
+  slot->sink_pad = gst_element_get_request_pad (dbin->multiqueue, "sink_%u");
+  if (slot->sink_pad == NULL)
+    goto fail;
+  it = gst_pad_iterate_internal_links (slot->sink_pad);
+  if (!it || (gst_iterator_next (it, &item)) != GST_ITERATOR_OK
+      || ((slot->src_pad = g_value_dup_object (&item)) == NULL)) {
+    GST_ERROR ("Couldn't get srcpad from multiqueue for sink pad %s:%s",
+        GST_DEBUG_PAD_NAME (slot->src_pad));
+    goto fail;
+  }
+  gst_iterator_free (it);
+  g_value_reset (&item);
+
+  g_object_set (slot->sink_pad, "group-id", (guint) type, NULL);
+
+  /* Add event probe */
+  slot->probe_id =
+      gst_pad_add_probe (slot->src_pad,
+      GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM | GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM,
+      (GstPadProbeCallback) multiqueue_src_probe, slot, NULL);
+
+  GST_DEBUG ("Created new slot %u (%p) (%s:%s)", slot->id, slot,
+      GST_DEBUG_PAD_NAME (slot->src_pad));
+  dbin->slots = g_list_append (dbin->slots, slot);
+  return slot;
+
+  /* ERRORS */
+fail:
+  {
+    if (slot->sink_pad)
+      gst_element_release_request_pad (dbin->multiqueue, slot->sink_pad);
+    g_free (slot);
+    return NULL;
+  }
+}
+
+static MultiQueueSlot *
+get_slot_for_input (GstDecodebin3 * dbin, DecodebinInputStream * input)
+{
+  GList *tmp;
+  MultiQueueSlot *empty_slot = NULL;
+  GstStreamType input_type = 0;
+  gchar *stream_id = NULL;
+
+  GST_DEBUG_OBJECT (dbin, "input %p (stream %p %s)",
+      input, input->active_stream,
+      input->
+      active_stream ? gst_stream_get_stream_id (input->active_stream) : "");
+
+  if (input->active_stream) {
+    input_type = gst_stream_get_stream_type (input->active_stream);
+    stream_id = (gchar *) gst_stream_get_stream_id (input->active_stream);
+  }
+
+  /* Go over existing slots and check if there is already one for it */
+  for (tmp = dbin->slots; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    /* Already used input, return that one */
+    if (slot->input == input) {
+      GST_DEBUG_OBJECT (dbin, "Returning already specified slot %d", slot->id);
+      return slot;
+    }
+  }
+
+  /* Go amongst all unused slots of the right type and try to find a candidate */
+  for (tmp = dbin->slots; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    if (slot->input == NULL && input_type == slot->type) {
+      /* Remember this empty slot for later */
+      empty_slot = slot;
+      /* Check if available slot is of the same stream_id */
+      GST_LOG_OBJECT (dbin, "Checking candidate slot %d (active_stream:%p)",
+          slot->id, slot->active_stream);
+      if (stream_id && slot->active_stream) {
+        gchar *ostream_id =
+            (gchar *) gst_stream_get_stream_id (slot->active_stream);
+        GST_DEBUG_OBJECT (dbin, "Checking slot %d %s against %s", slot->id,
+            ostream_id, stream_id);
+        if (!g_strcmp0 (stream_id, ostream_id))
+          break;
+      }
+    }
+  }
+
+  if (empty_slot) {
+    GST_DEBUG_OBJECT (dbin, "Re-using existing unused slot %d", empty_slot->id);
+    empty_slot->input = input;
+    return empty_slot;
+  }
+
+  if (input_type)
+    return create_new_slot (dbin, input_type);
+
+  return NULL;
+}
+
+static void
+link_input_to_slot (DecodebinInputStream * input, MultiQueueSlot * slot)
+{
+  GstEvent *event;
+  if (slot->input != NULL && slot->input != input) {
+    GST_ERROR_OBJECT (slot->dbin,
+        "Trying to link input to an already used slot");
+    return;
+  }
+  gst_pad_link_full (input->srcpad, slot->sink_pad, GST_PAD_LINK_CHECK_NOTHING);
+  slot->pending_stream = input->active_stream;
+  slot->input = input;
+  event = gst_pad_get_sticky_event (input->srcpad, GST_EVENT_STREAM_START, 0);
+  if (event)
+    gst_pad_send_event (slot->sink_pad, event);
+}
+
+#if 0
+static gboolean
+have_factory (GstDecodebin3 * dbin, GstCaps * caps,
+    GstElementFactoryListType ftype)
+{
+  gboolean ret = FALSE;
+  GList *res;
+
+  g_mutex_lock (&dbin->factories_lock);
+  gst_decode_bin_update_factories_list (dbin);
+  if (ftype == GST_ELEMENT_FACTORY_TYPE_DECODER)
+    res =
+        gst_element_factory_list_filter (dbin->decoder_factories,
+        caps, GST_PAD_SINK, TRUE);
+  else
+    res =
+        gst_element_factory_list_filter (dbin->decodable_factories,
+        caps, GST_PAD_SINK, TRUE);
+  g_mutex_unlock (&dbin->factories_lock);
+
+  if (res) {
+    ret = TRUE;
+    gst_plugin_feature_list_free (res);
+  }
+
+  return ret;
+}
+#endif
+
+static GstElement *
+create_element (GstDecodebin3 * dbin, GstStream * stream,
+    GstElementFactoryListType ftype)
+{
+  GList *res;
+  GstElement *element = NULL;
+
+  g_mutex_lock (&dbin->factories_lock);
+  gst_decode_bin_update_factories_list (dbin);
+  if (ftype == GST_ELEMENT_FACTORY_TYPE_DECODER)
+    res =
+        gst_element_factory_list_filter (dbin->decoder_factories,
+        gst_stream_get_caps (stream), GST_PAD_SINK, TRUE);
+  else
+    res =
+        gst_element_factory_list_filter (dbin->decodable_factories,
+        gst_stream_get_caps (stream), GST_PAD_SINK, TRUE);
+  g_mutex_unlock (&dbin->factories_lock);
+
+  if (res) {
+    element =
+        gst_element_factory_create ((GstElementFactory *) res->data, NULL);
+    GST_DEBUG ("Created element '%s'", GST_ELEMENT_NAME (element));
+    gst_plugin_feature_list_free (res);
+  } else {
+    GST_DEBUG ("Could not find an element for caps %" GST_PTR_FORMAT,
+        gst_stream_get_caps (stream));
+  }
+
+  return element;
+}
+
+/* FIXME : VERY NAIVE. ASSUMING FIRST ONE WILL WORK */
+static GstElement *
+create_decoder (GstDecodebin3 * dbin, GstStream * stream)
+{
+  return create_element (dbin, stream, GST_ELEMENT_FACTORY_TYPE_DECODER);
+}
+
+static GstPadProbeReturn
+keyframe_waiter_probe (GstPad * pad, GstPadProbeInfo * info,
+    DecodebinOutputStream * output)
+{
+  GstBuffer *buf = GST_PAD_PROBE_INFO_BUFFER (info);
+  /* If we have a keyframe, remove the probe and let all data through */
+  /* FIXME : HANDLE HEADER BUFFER ?? */
+  if (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT) ||
+      GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_HEADER)) {
+    GST_DEBUG_OBJECT (pad,
+        "Buffer is keyframe or header, letting through and removing probe");
+    output->drop_probe_id = 0;
+    return GST_PAD_PROBE_REMOVE;
+  }
+  GST_DEBUG_OBJECT (pad, "Buffer is not a keyframe, dropping");
+  return GST_PAD_PROBE_DROP;
+}
+
+static void
+reconfigure_output_stream (DecodebinOutputStream * output,
+    MultiQueueSlot * slot)
+{
+  GstDecodebin3 *dbin = output->dbin;
+  GstCaps *new_caps = (GstCaps *) gst_stream_get_caps (slot->active_stream);
+  gboolean needs_decoder;
+
+  needs_decoder = gst_caps_can_intersect (new_caps, dbin->caps) != TRUE;
+
+  GST_DEBUG_OBJECT (dbin,
+      "Reconfiguring output %p to slot %p, needs_decoder:%d", output, slot,
+      needs_decoder);
+
+  /* FIXME : Maybe make the output un-hook itself automatically ? */
+  if (output->slot != NULL && output->slot != slot) {
+    GST_WARNING_OBJECT (dbin,
+        "Output still linked to another slot (%p)", output->slot);
+    return;
+  }
+
+  /* Check if existing config is reusable as-is by checking if
+   * the existing decoder accepts the new caps, if not delete
+   * it and create a new one */
+  if (output->decoder) {
+    gboolean can_reuse_decoder;
+
+    if (needs_decoder) {
+      GstQuery *q = gst_query_new_accept_caps (new_caps);
+      can_reuse_decoder = gst_pad_query (output->decoder_sink, q);
+    } else
+      can_reuse_decoder = FALSE;
+
+    if (can_reuse_decoder) {
+      if (output->type == GST_STREAM_TYPE_VIDEO && output->drop_probe_id == 0) {
+        GST_DEBUG_OBJECT (dbin, "Adding keyframe-waiter probe");
+        output->drop_probe_id =
+            gst_pad_add_probe (slot->src_pad, GST_PAD_PROBE_TYPE_BUFFER,
+            (GstPadProbeCallback) keyframe_waiter_probe, output, NULL);
+      }
+      GST_DEBUG_OBJECT (dbin, "Reusing existing decoder for slot %p", slot);
+      if (output->linked == FALSE) {
+        gst_pad_link_full (slot->src_pad, output->decoder_sink,
+            GST_PAD_LINK_CHECK_NOTHING);
+        output->linked = TRUE;
+      }
+      return;
+    }
+
+    GST_DEBUG_OBJECT (dbin, "Removing old decoder for slot %p", slot);
+
+    if (output->linked)
+      gst_pad_unlink (slot->src_pad, output->decoder_sink);
+    output->linked = FALSE;
+    if (output->drop_probe_id) {
+      gst_pad_remove_probe (slot->src_pad, output->drop_probe_id);
+      output->drop_probe_id = 0;
+    }
+
+    if (!gst_ghost_pad_set_target ((GstGhostPad *) output->src_pad, NULL)) {
+      GST_ERROR_OBJECT (dbin, "Could not release decoder pad");
+      goto cleanup;
+    }
+
+    gst_object_replace ((GstObject **) & output->decoder_sink, NULL);
+    gst_object_replace ((GstObject **) & output->decoder_src, NULL);
+
+    gst_element_set_locked_state (output->decoder, TRUE);
+    gst_element_set_state (output->decoder, GST_STATE_NULL);
+
+    gst_bin_remove ((GstBin *) dbin, output->decoder);
+    output->decoder = NULL;
+  }
+
+  /* If a decoder is required, create one */
+  if (needs_decoder) {
+    /* If we don't have a decoder yet, instantiate one */
+    output->decoder = create_decoder (dbin, slot->active_stream);
+    if (output->decoder == NULL) {
+      SELECTION_UNLOCK (dbin);
+      /* FIXME : Should we be smarter if there's a missing decoder ?
+       * Should we deactivate that stream ? */
+      gst_element_post_message (GST_ELEMENT_CAST (dbin),
+          gst_missing_decoder_message_new (GST_ELEMENT_CAST (dbin),
+              gst_stream_get_caps (slot->active_stream)));
+      SELECTION_LOCK (dbin);
+      goto cleanup;
+    }
+    if (!gst_bin_add ((GstBin *) dbin, output->decoder)) {
+      GST_ERROR_OBJECT (dbin, "could not add decoder to pipeline");
+      goto cleanup;
+    }
+    output->decoder_sink = gst_element_get_static_pad (output->decoder, "sink");
+    output->decoder_src = gst_element_get_static_pad (output->decoder, "src");
+    if (output->type == GST_STREAM_TYPE_VIDEO) {
+      GST_DEBUG_OBJECT (dbin, "Adding keyframe-waiter probe");
+      output->drop_probe_id =
+          gst_pad_add_probe (slot->src_pad, GST_PAD_PROBE_TYPE_BUFFER,
+          (GstPadProbeCallback) keyframe_waiter_probe, output, NULL);
+    }
+    if (gst_pad_link_full (slot->src_pad, output->decoder_sink,
+            GST_PAD_LINK_CHECK_NOTHING) != GST_PAD_LINK_OK) {
+      GST_ERROR_OBJECT (dbin, "could not link to %s:%s",
+          GST_DEBUG_PAD_NAME (output->decoder_sink));
+      goto cleanup;
+    }
+  } else {
+    output->decoder_src = gst_object_ref (slot->src_pad);
+    output->decoder_sink = NULL;
+  }
+  output->linked = TRUE;
+  if (!gst_ghost_pad_set_target ((GstGhostPad *) output->src_pad,
+          output->decoder_src)) {
+    GST_ERROR_OBJECT (dbin, "Could not expose decoder pad");
+    goto cleanup;
+  }
+  if (output->src_exposed == FALSE) {
+    output->src_exposed = TRUE;
+    gst_element_add_pad (GST_ELEMENT_CAST (dbin), output->src_pad);
+  }
+
+  if (output->decoder)
+    gst_element_sync_state_with_parent (output->decoder);
+
+  output->slot = slot;
+  return;
+
+cleanup:
+  {
+    GST_DEBUG_OBJECT (dbin, "Cleanup");
+    if (output->decoder_sink) {
+      gst_object_unref (output->decoder_sink);
+      output->decoder_sink = NULL;
+    }
+    if (output->decoder_src) {
+      gst_object_unref (output->decoder_src);
+      output->decoder_src = NULL;
+    }
+    if (output->decoder) {
+      gst_element_set_state (output->decoder, GST_STATE_NULL);
+      gst_bin_remove ((GstBin *) dbin, output->decoder);
+      output->decoder = NULL;
+    }
+  }
+}
+
+static GstPadProbeReturn
+idle_reconfigure (GstPad * pad, GstPadProbeInfo * info, MultiQueueSlot * slot)
+{
+  GstMessage *msg = NULL;
+  DecodebinOutputStream *output;
+
+  SELECTION_LOCK (slot->dbin);
+  output = get_output_for_slot (slot);
+
+  GST_DEBUG_OBJECT (pad, "output : %p", output);
+
+  if (output) {
+    reconfigure_output_stream (output, slot);
+    msg = is_selection_done (slot->dbin);
+  }
+  SELECTION_UNLOCK (slot->dbin);
+  if (msg)
+    gst_element_post_message ((GstElement *) slot->dbin, msg);
+
+  return GST_PAD_PROBE_REMOVE;
+}
+
+static MultiQueueSlot *
+find_slot_for_stream_id (GstDecodebin3 * dbin, const gchar * sid)
+{
+  GList *tmp;
+
+  for (tmp = dbin->slots; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    const gchar *stream_id;
+    if (slot->active_stream) {
+      stream_id = gst_stream_get_stream_id (slot->active_stream);
+      if (!g_strcmp0 (sid, stream_id))
+        return slot;
+    }
+    if (slot->pending_stream && slot->pending_stream != slot->active_stream) {
+      stream_id = gst_stream_get_stream_id (slot->pending_stream);
+      if (!g_strcmp0 (sid, stream_id))
+        return slot;
+    }
+  }
+
+  return NULL;
+}
+
+/* This function handles the reassignment of a slot. Call this from
+ * the streaming thread of a slot. */
+static gboolean
+reassign_slot (GstDecodebin3 * dbin, MultiQueueSlot * slot)
+{
+  DecodebinOutputStream *output;
+  MultiQueueSlot *target_slot = NULL;
+  GList *tmp;
+  const gchar *sid, *tsid;
+
+  SELECTION_LOCK (dbin);
+  output = slot->output;
+
+  if (G_UNLIKELY (slot->active_stream == NULL)) {
+    GST_DEBUG_OBJECT (slot->src_pad,
+        "Called on inactive slot (active_stream == NULL)");
+    SELECTION_UNLOCK (dbin);
+    return FALSE;
+  }
+
+  if (G_UNLIKELY (output == NULL)) {
+    GST_DEBUG_OBJECT (slot->src_pad,
+        "Slot doesn't have any output to be removed");
+    SELECTION_UNLOCK (dbin);
+    return FALSE;
+  }
+
+  sid = gst_stream_get_stream_id (slot->active_stream);
+  GST_DEBUG_OBJECT (slot->src_pad, "slot %s %p", sid, slot);
+
+  /* Recheck whether this stream is still in the list of streams to deactivate */
+  if (stream_in_list (dbin->requested_selection, sid)) {
+    /* Stream is in the list of requested streams, don't remove */
+    SELECTION_UNLOCK (dbin);
+    GST_DEBUG_OBJECT (slot->src_pad,
+        "Stream '%s' doesn't need to be deactivated", sid);
+    return FALSE;
+  }
+
+  /* Unlink slot from output */
+  /* FIXME : Handle flushing ? */
+  /* FIXME : Handle outputs without decoders */
+  GST_DEBUG_OBJECT (slot->src_pad, "Unlinking from decoder %p",
+      output->decoder_sink);
+  if (output->decoder_sink)
+    gst_pad_unlink (slot->src_pad, output->decoder_sink);
+  output->linked = FALSE;
+  slot->output = NULL;
+  output->slot = NULL;
+  /* Remove sid from active selection */
+  for (tmp = dbin->active_selection; tmp; tmp = tmp->next)
+    if (!g_strcmp0 (sid, tmp->data)) {
+      dbin->active_selection = g_list_delete_link (dbin->active_selection, tmp);
+      break;
+    }
+
+  /* Can we re-assign this output to a requested stream ? */
+  GST_DEBUG_OBJECT (slot->src_pad, "Attempting to re-assing output stream");
+  for (tmp = dbin->to_activate; tmp; tmp = tmp->next) {
+    MultiQueueSlot *tslot = find_slot_for_stream_id (dbin, tmp->data);
+    GST_LOG_OBJECT (tslot->src_pad, "Checking slot %p (output:%p , stream:%s)",
+        tslot, tslot->output, gst_stream_get_stream_id (tslot->active_stream));
+    if (tslot && tslot->type == output->type && tslot->output == NULL) {
+      GST_DEBUG_OBJECT (tslot->src_pad, "Using as reassigned slot");
+      target_slot = tslot;
+      tsid = tmp->data;
+      /* Pass target stream id to requested selection */
+      dbin->requested_selection =
+          g_list_append (dbin->requested_selection, tmp->data);
+      dbin->to_activate = g_list_remove (dbin->to_activate, tmp->data);
+      break;
+    }
+  }
+
+  if (target_slot) {
+    GST_DEBUG_OBJECT (slot->src_pad, "Assigning output to slot %p '%s'",
+        target_slot, tsid);
+    target_slot->output = output;
+    output->slot = target_slot;
+    dbin->active_selection =
+        g_list_append (dbin->active_selection, (gchar *) tsid);
+    SELECTION_UNLOCK (dbin);
+
+    /* Wakeup the target slot so that it retries to send events/buffers
+     * thereby triggering the output reconfiguration codepath */
+    gst_pad_add_probe (target_slot->src_pad, GST_PAD_PROBE_TYPE_IDLE,
+        (GstPadProbeCallback) idle_reconfigure, target_slot, NULL);
+    /* gst_pad_send_event (target_slot->src_pad, gst_event_new_reconfigure ()); */
+  } else {
+    SELECTION_UNLOCK (dbin);
+    /* FIXME : Remove output if no longer needed ? The tricky part is knowing
+     * if it's really no longer needed or not */
+    GST_FIXME_OBJECT (slot->src_pad, "Remove unused output stream ?");
+  }
+
+  return TRUE;
+}
+
+/* Idle probe called when a slot should be unassigned from its output stream.
+ * This is needed to ensure nothing is flowing when unlinking the slot.
+ *
+ * Also, this method will search for a pending stream which could re-use
+ * the output stream. */
+static GstPadProbeReturn
+slot_unassign_probe (GstPad * pad, GstPadProbeInfo * info,
+    MultiQueueSlot * slot)
+{
+  GstDecodebin3 *dbin = slot->dbin;
+
+  reassign_slot (dbin, slot);
+
+  return GST_PAD_PROBE_REMOVE;
+}
+
+static gboolean
+handle_stream_switch (GstDecodebin3 * dbin, GList * select_streams,
+    guint32 seqnum)
+{
+  gboolean ret = TRUE;
+  GList *tmp;
+  /* List of slots to (de)activate. */
+  GList *to_deactivate = NULL;
+  GList *to_activate = NULL;
+  /* List of unknown stream id, most likely means the event
+   * should be sent upstream so that elements can expose the requested stream */
+  GList *unknown = NULL;
+  GList *to_reassign = NULL;
+  GList *future_request_streams = NULL;
+  GList *pending_streams = NULL;
+  GList *slots_to_reassign = NULL;
+
+  SELECTION_LOCK (dbin);
+  if (G_UNLIKELY (seqnum != dbin->select_streams_seqnum)) {
+    GST_DEBUG_OBJECT (dbin, "New SELECT_STREAMS has arrived in the meantime");
+    SELECTION_UNLOCK (dbin);
+    return TRUE;
+  }
+  /* Remove pending select_streams */
+  g_list_free (dbin->pending_select_streams);
+  dbin->pending_select_streams = NULL;
+
+  /* COMPARE the requested streams to the active and requested streams
+   * on multiqueue. */
+
+  /* First check the slots to activate and which ones are unknown */
+  for (tmp = select_streams; tmp; tmp = tmp->next) {
+    const gchar *sid = (const gchar *) tmp->data;
+    MultiQueueSlot *slot;
+    GST_DEBUG_OBJECT (dbin, "Checking stream '%s'", sid);
+    slot = find_slot_for_stream_id (dbin, sid);
+    /* Find the corresponding slot */
+    if (slot == NULL) {
+      if (stream_in_collection (dbin, (gchar *) sid)) {
+        pending_streams = g_list_append (pending_streams, (gchar *) sid);
+      } else {
+        GST_DEBUG_OBJECT (dbin, "We don't have a slot for stream '%s'", sid);
+        unknown = g_list_append (unknown, (gchar *) sid);
+      }
+    } else if (slot->output == NULL) {
+      GST_DEBUG_OBJECT (dbin, "We need to activate slot %p for stream '%s')",
+          slot, sid);
+      to_activate = g_list_append (to_activate, slot);
+    } else {
+      GST_DEBUG_OBJECT (dbin,
+          "Stream '%s' from slot %p is already active on output %p", sid, slot,
+          slot->output);
+      future_request_streams =
+          g_list_append (future_request_streams, (gchar *) sid);
+    }
+  }
+
+  for (tmp = dbin->slots; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    /* For slots that have an output, check if it's part of the streams to
+     * be active */
+    if (slot->output) {
+      gboolean slot_to_deactivate = TRUE;
+
+      if (slot->active_stream) {
+        if (stream_in_list (select_streams,
+                gst_stream_get_stream_id (slot->active_stream)))
+          slot_to_deactivate = FALSE;
+      }
+      if (slot_to_deactivate && slot->pending_stream
+          && slot->pending_stream != slot->active_stream) {
+        if (stream_in_list (select_streams,
+                gst_stream_get_stream_id (slot->pending_stream)))
+          slot_to_deactivate = FALSE;
+      }
+      if (slot_to_deactivate) {
+        GST_DEBUG_OBJECT (dbin,
+            "Slot %p (%s) should be deactivated, no longer used", slot,
+            gst_stream_get_stream_id (slot->active_stream));
+        to_deactivate = g_list_append (to_deactivate, slot);
+      }
+    }
+  }
+
+  if (to_deactivate != NULL) {
+    GST_DEBUG_OBJECT (dbin, "Check if we can reassign slots");
+    /* We need to compare what needs to be activated and deactivated in order
+     * to determine whether there are outputs that can be transferred */
+    /* Take the stream-id of the slots that are to be activated, for which there
+     * is a slot of the same type that needs to be deactivated */
+    tmp = to_deactivate;
+    while (tmp) {
+      MultiQueueSlot *slot_to_deactivate = (MultiQueueSlot *) tmp->data;
+      gboolean removeit = FALSE;
+      GList *tmp2, *next;
+      GST_DEBUG_OBJECT (dbin,
+          "Checking if slot to deactivate (%p) has a candidate slot to activate",
+          slot_to_deactivate);
+      for (tmp2 = to_activate; tmp2; tmp2 = tmp2->next) {
+        MultiQueueSlot *slot_to_activate = (MultiQueueSlot *) tmp2->data;
+        GST_DEBUG_OBJECT (dbin, "Comparing to slot %p", slot_to_activate);
+        if (slot_to_activate->type == slot_to_deactivate->type) {
+          GST_DEBUG_OBJECT (dbin, "Re-using");
+          to_reassign = g_list_append (to_reassign, (gchar *)
+              gst_stream_get_stream_id (slot_to_activate->active_stream));
+          slots_to_reassign =
+              g_list_append (slots_to_reassign, slot_to_deactivate);
+          to_activate = g_list_remove (to_activate, slot_to_activate);
+          removeit = TRUE;
+          break;
+        }
+      }
+      next = tmp->next;
+      if (removeit)
+        to_deactivate = g_list_delete_link (to_deactivate, tmp);
+      tmp = next;
+    }
+  }
+
+  for (tmp = to_deactivate; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    GST_DEBUG_OBJECT (dbin,
+        "Really need to deactivate slot %p, but no available alternative",
+        slot);
+  }
+
+  /* The only slots left to activate are the ones that won't be reassigned and
+   * therefore really need to have a new output created */
+  for (tmp = to_activate; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    if (slot->active_stream)
+      future_request_streams =
+          g_list_append (future_request_streams,
+          (gchar *) gst_stream_get_stream_id (slot->active_stream));
+    else if (slot->pending_stream)
+      future_request_streams =
+          g_list_append (future_request_streams,
+          (gchar *) gst_stream_get_stream_id (slot->pending_stream));
+    else
+      GST_ERROR_OBJECT (dbin, "No stream for slot %p !!", slot);
+  }
+
+  if (to_activate == NULL && pending_streams != NULL) {
+    GST_DEBUG_OBJECT (dbin, "Stream switch requested for future collection");
+    if (dbin->requested_selection)
+      g_list_free (dbin->requested_selection);
+    dbin->requested_selection = select_streams;
+    g_list_free (to_deactivate);
+    g_list_free (pending_streams);
+    to_deactivate = NULL;
+  } else {
+    if (dbin->requested_selection)
+      g_list_free (dbin->requested_selection);
+    dbin->requested_selection = future_request_streams;
+    dbin->requested_selection =
+        g_list_concat (dbin->requested_selection, pending_streams);
+    if (dbin->to_activate)
+      g_list_free (dbin->to_activate);
+    dbin->to_activate = to_reassign;
+  }
+
+  dbin->selection_updated = TRUE;
+  SELECTION_UNLOCK (dbin);
+
+  if (unknown)
+    GST_FIXME_OBJECT (dbin, "Got request for an unknown stream");
+
+  /* For all streams to deactivate, add an idle probe where we will do
+   * the unassignment and switch over */
+  for (tmp = slots_to_reassign; tmp; tmp = tmp->next) {
+    MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+    gst_pad_add_probe (slot->src_pad, GST_PAD_PROBE_TYPE_IDLE,
+        (GstPadProbeCallback) slot_unassign_probe, slot, NULL);
+  }
+
+  return ret;
+}
+
+static GstPadProbeReturn
+ghost_pad_event_probe (GstPad * pad, GstPadProbeInfo * info,
+    DecodebinOutputStream * output)
+{
+  GstPadProbeReturn ret = GST_PAD_PROBE_OK;
+  GstDecodebin3 *dbin = output->dbin;
+  GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+
+  GST_DEBUG_OBJECT (pad, "Got event %p %s", event, GST_EVENT_TYPE_NAME (event));
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_SELECT_STREAMS:
+    {
+      GstPad *peer;
+      GList *streams = NULL;
+      guint32 seqnum = gst_event_get_seqnum (event);
+
+      SELECTION_LOCK (dbin);
+      if (seqnum == dbin->select_streams_seqnum) {
+        SELECTION_UNLOCK (dbin);
+        GST_DEBUG_OBJECT (pad,
+            "Already handled/handling that SELECT_STREAMS event");
+        break;
+      }
+      dbin->select_streams_seqnum = seqnum;
+      if (dbin->pending_select_streams != NULL) {
+        GST_LOG_OBJECT (dbin, "Replacing pending select streams");
+        g_list_free (dbin->pending_select_streams);
+        dbin->pending_select_streams = NULL;
+      }
+      gst_event_parse_select_streams (event, &streams);
+      dbin->pending_select_streams = g_list_copy (streams);
+      SELECTION_UNLOCK (dbin);
+
+      /* Send event upstream */
+      if ((peer = gst_pad_get_peer (pad))) {
+        gst_pad_send_event (peer, event);
+        gst_object_unref (peer);
+      }
+      /* Finally handle the switch */
+      if (streams)
+        handle_stream_switch (dbin, streams, seqnum);
+      ret = GST_PAD_PROBE_HANDLED;
+    }
+      break;
+    default:
+      break;
+  }
+
+  return ret;
+}
+
+static gboolean
+gst_decodebin3_send_event (GstElement * element, GstEvent * event)
+{
+  GST_DEBUG_OBJECT (element, "event %s", GST_EVENT_TYPE_NAME (event));
+  if (GST_EVENT_TYPE (event) == GST_EVENT_SELECT_STREAMS) {
+    GstDecodebin3 *dbin = (GstDecodebin3 *) element;
+    GList *streams = NULL;
+    guint32 seqnum = gst_event_get_seqnum (event);
+
+    SELECTION_LOCK (dbin);
+    if (seqnum == dbin->select_streams_seqnum) {
+      SELECTION_UNLOCK (dbin);
+      GST_DEBUG_OBJECT (dbin,
+          "Already handled/handling that SELECT_STREAMS event");
+      return TRUE;
+    }
+    dbin->select_streams_seqnum = seqnum;
+    if (dbin->pending_select_streams != NULL) {
+      GST_LOG_OBJECT (dbin, "Replacing pending select streams");
+      g_list_free (dbin->pending_select_streams);
+      dbin->pending_select_streams = NULL;
+    }
+    gst_event_parse_select_streams (event, &streams);
+    dbin->pending_select_streams = g_list_copy (streams);
+    SELECTION_UNLOCK (dbin);
+
+    /* FIXME : We don't have an upstream ?? */
+#if 0
+    /* Send event upstream */
+    if ((peer = gst_pad_get_peer (pad))) {
+      gst_pad_send_event (peer, event);
+      gst_object_unref (peer);
+    }
+#endif
+    /* Finally handle the switch */
+    if (streams)
+      handle_stream_switch (dbin, streams, seqnum);
+
+    return TRUE;
+  }
+  return GST_ELEMENT_CLASS (parent_class)->send_event (element, event);
+}
+
+
+static void
+free_multiqueue_slot (GstDecodebin3 * dbin, MultiQueueSlot * slot)
+{
+  if (slot->probe_id)
+    gst_pad_remove_probe (slot->src_pad, slot->probe_id);
+  if (slot->input) {
+    if (slot->input->srcpad)
+      gst_pad_unlink (slot->input->srcpad, slot->sink_pad);
+  }
+
+  gst_element_release_request_pad (dbin->multiqueue, slot->sink_pad);
+  gst_object_replace ((GstObject **) & slot->sink_pad, NULL);
+  gst_object_replace ((GstObject **) & slot->src_pad, NULL);
+  g_free (slot);
+}
+
+/* Create a DecodebinOutputStream for a given type
+ * Note: It will be empty initially, it needs to be configured
+ * afterwards */
+static DecodebinOutputStream *
+create_output_stream (GstDecodebin3 * dbin, GstStreamType type)
+{
+  DecodebinOutputStream *res = g_new0 (DecodebinOutputStream, 1);
+  gchar *pad_name;
+  const gchar *prefix;
+  GstStaticPadTemplate *templ;
+  GstPadTemplate *ptmpl;
+  guint32 *counter;
+  GstPad *internal_pad;
+
+  GST_DEBUG_OBJECT (dbin, "Created new output stream %p for type %s",
+      res, gst_stream_type_get_name (type));
+
+  res->type = type;
+  res->dbin = dbin;
+
+  switch (type) {
+    case GST_STREAM_TYPE_VIDEO:
+      templ = &video_src_template;
+      counter = &dbin->vpadcount;
+      prefix = "video";
+      break;
+    case GST_STREAM_TYPE_AUDIO:
+      templ = &audio_src_template;
+      counter = &dbin->apadcount;
+      prefix = "audio";
+      break;
+    case GST_STREAM_TYPE_TEXT:
+      templ = &text_src_template;
+      counter = &dbin->tpadcount;
+      prefix = "text";
+      break;
+    default:
+      templ = &src_template;
+      counter = &dbin->opadcount;
+      prefix = "src";
+      break;
+  }
+
+  pad_name = g_strdup_printf ("%s_%u", prefix, *counter);
+  *counter += 1;
+  ptmpl = gst_static_pad_template_get (templ);
+  res->src_pad = gst_ghost_pad_new_no_target_from_template (pad_name, ptmpl);
+  gst_object_unref (ptmpl);
+  g_free (pad_name);
+  gst_pad_set_active (res->src_pad, TRUE);
+  /* Put an event probe on the internal proxy pad to detect upstream
+   * events */
+  internal_pad =
+      (GstPad *) gst_proxy_pad_get_internal ((GstProxyPad *) res->src_pad);
+  gst_pad_add_probe (internal_pad, GST_PAD_PROBE_TYPE_EVENT_UPSTREAM,
+      (GstPadProbeCallback) ghost_pad_event_probe, res, NULL);
+  gst_object_unref (internal_pad);
+
+  dbin->output_streams = g_list_append (dbin->output_streams, res);
+
+  return res;
+}
+
+static void
+free_output_stream (GstDecodebin3 * dbin, DecodebinOutputStream * output)
+{
+  if (output->slot) {
+    if (output->decoder_sink && output->decoder)
+      gst_pad_unlink (output->slot->src_pad, output->decoder_sink);
+
+    output->slot->output = NULL;
+    output->slot = NULL;
+  }
+  gst_object_replace ((GstObject **) & output->decoder_sink, NULL);
+  gst_ghost_pad_set_target ((GstGhostPad *) output->src_pad, NULL);
+  gst_object_replace ((GstObject **) & output->decoder_src, NULL);
+  if (output->src_exposed) {
+    gst_element_remove_pad ((GstElement *) dbin, output->src_pad);
+  }
+  if (output->decoder) {
+    gst_element_set_locked_state (output->decoder, TRUE);
+    gst_element_set_state (output->decoder, GST_STATE_NULL);
+    gst_bin_remove ((GstBin *) dbin, output->decoder);
+  }
+  g_free (output);
+}
+
+static GstStateChangeReturn
+gst_decodebin3_change_state (GstElement * element, GstStateChange transition)
+{
+  GstDecodebin3 *dbin = (GstDecodebin3 *) element;
+  GstStateChangeReturn ret;
+
+  /* Upwards */
+  switch (transition) {
+    default:
+      break;
+  }
+  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+  if (ret == GST_STATE_CHANGE_FAILURE)
+    goto beach;
+
+  switch (transition) {
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+    {
+      GList *tmp;
+
+      /* Free output streams */
+      for (tmp = dbin->output_streams; tmp; tmp = tmp->next) {
+        DecodebinOutputStream *output = (DecodebinOutputStream *) tmp->data;
+        free_output_stream (dbin, output);
+      }
+      g_list_free (dbin->output_streams);
+      dbin->output_streams = NULL;
+      /* Free multiqueue slots */
+      for (tmp = dbin->slots; tmp; tmp = tmp->next) {
+        MultiQueueSlot *slot = (MultiQueueSlot *) tmp->data;
+        free_multiqueue_slot (dbin, slot);
+      }
+      g_list_free (dbin->slots);
+      dbin->slots = NULL;
+      /* Free inputs */
+    }
+      break;
+    default:
+      break;
+  }
+beach:
+  return ret;
+}
+
+gboolean
+gst_decodebin3_plugin_init (GstPlugin * plugin)
+{
+  GST_DEBUG_CATEGORY_INIT (decodebin3_debug, "decodebin3", 0, "decoder bin");
+
+  return gst_element_register (plugin, "decodebin3", GST_RANK_NONE,
+      GST_TYPE_DECODEBIN3);
+}
diff --git a/gst/playback/gstparsebin.c b/gst/playback/gstparsebin.c
new file mode 100644
index 0000000..6096887
--- /dev/null
+++ b/gst/playback/gstparsebin.c
@@ -0,0 +1,4396 @@
+/* GStreamer
+ * Copyright (C) <2006> Edward Hervey <edward@fluendo.com>
+ * Copyright (C) <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * Copyright (C) <2011> Hewlett-Packard Development Company, L.P.
+ *   Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>, Collabora Ltd.
+ * Copyright (C) <2013> Collabora Ltd.
+ *   Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * Copyright (C) <2015-2016> Centricular Ltd
+ *  @author: Edward Hervey <edward@centricular.com>
+ *  @author: 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.
+ */
+
+/**
+ * SECTION:element-ParseBin
+ *
+ * #GstBin that auto-magically constructs a parsing pipeline
+ * using available parsers and demuxers via auto-plugging.
+ *
+ */
+
+/* Implementation notes:
+ *
+ * The following section describes how ParseBin works internally.
+ *
+ * The first part of ParseBin is its typefind element, which tries
+ * to determine the media type of the input stream. If the type is found
+ * autoplugging starts.
+ *
+ * ParseBin internally organizes the elements it autoplugged into
+ * GstParseChains and GstParseGroups. A parse chain is a single chain
+ * of parsing, this
+ * means that if ParseBin ever autoplugs an element with two+ srcpads
+ * (e.g. a demuxer) this will end the chain and everything following this
+ * demuxer will be put into parse groups below the chain. Otherwise,
+ * if an element has a single srcpad that outputs raw data the parse chain
+ * is ended too and a GstParsePad is stored and blocked.
+ *
+ * A parse group combines a number of chains that are created by a
+ * demuxer element.
+ *
+ * This continues until the top-level parse chain is complete. A parse
+ * chain is complete if it either ends with a blocked elementary stream,
+ * if autoplugging stopped because no suitable plugins could be found
+ * or if the active group is complete. A parse group on the other hand
+ * is complete if all child chains are complete.
+ *
+ * If this happens at some point, all end pads of all active groups are exposed.
+ * For this ParseBin adds the end pads, and then unblocks them. Now playback starts.
+ *
+ * If one of the chains that end on a endpad receives EOS ParseBin checks
+ * if all chains and groups are drained. In that case everything goes into EOS.
+ * If there is a chain where the active group is drained but there exist next
+ * groups, the active group is hidden (endpads are removed) and the next group
+ * is exposed. This means that in some cases more pads may be created even
+ * after the initial no-more-pads signal. This happens for example with
+ * so-called "chained oggs", most commonly found among ogg/vorbis internet
+ * radio streams.
+ *
+ * Note 1: If we're talking about blocked endpads this really means that the
+ * *target* pads of the endpads are blocked. Pads that are exposed to the outside
+ * should never ever be blocked!
+ *
+ * Note 2: If a group is complete and the parent's chain demuxer adds new pads
+ * but never signaled no-more-pads this additional pads will be ignored!
+ *
+ */
+
+/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
+ * with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/gst-i18n-plugin.h>
+
+#include <string.h>
+#include <gst/gst.h>
+#include <gst/pbutils/pbutils.h>
+
+#include "gstplay-enum.h"
+#include "gstplayback.h"
+
+/* Also used by gsturidecodebin.c */
+gint _parse_bin_compare_factories_func (gconstpointer p1, gconstpointer p2);
+
+/* generic templates */
+static GstStaticPadTemplate decoder_bin_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate decoder_bin_src_template =
+GST_STATIC_PAD_TEMPLATE ("src_%u",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
+
+GST_DEBUG_CATEGORY_STATIC (gst_parse_bin_debug);
+#define GST_CAT_DEFAULT gst_parse_bin_debug
+
+typedef struct _GstPendingPad GstPendingPad;
+typedef struct _GstParseElement GstParseElement;
+typedef struct _GstParseChain GstParseChain;
+typedef struct _GstParseGroup GstParseGroup;
+typedef struct _GstParsePad GstParsePad;
+typedef GstGhostPadClass GstParsePadClass;
+typedef struct _GstParseBin GstParseBin;
+typedef struct _GstParseBinClass GstParseBinClass;
+
+#define GST_TYPE_PARSE_BIN             (gst_parse_bin_get_type())
+#define GST_PARSE_BIN_CAST(obj)        ((GstParseBin*)(obj))
+#define GST_PARSE_BIN(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PARSE_BIN,GstParseBin))
+#define GST_PARSE_BIN_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PARSE_BIN,GstParseBinClass))
+#define GST_IS_parse_bin(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PARSE_BIN))
+#define GST_IS_parse_bin_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PARSE_BIN))
+
+/**
+ *  GstParseBin:
+ *
+ *  The opaque #GstParseBin data structure
+ */
+struct _GstParseBin
+{
+  GstBin bin;                   /* we extend GstBin */
+
+  /* properties */
+  gchar *encoding;              /* encoding of subtitles */
+  guint64 connection_speed;
+
+  GstElement *typefind;         /* this holds the typefind object */
+
+  GMutex expose_lock;           /* Protects exposal and removal of groups */
+  GstParseChain *parse_chain;   /* Top level parse chain */
+  guint nbpads;                 /* unique identifier for source pads */
+
+  GMutex factories_lock;
+  guint32 factories_cookie;     /* Cookie from last time when factories was updated */
+  GList *factories;             /* factories we can use for selecting elements */
+
+  GMutex subtitle_lock;         /* Protects changes to subtitles and encoding */
+  GList *subtitles;             /* List of elements with subtitle-encoding,
+                                 * protected by above mutex! */
+
+  gboolean have_type;           /* if we received the have_type signal */
+  guint have_type_id;           /* signal id for have-type from typefind */
+
+  gboolean async_pending;       /* async-start has been emitted */
+
+  GMutex dyn_lock;              /* lock protecting pad blocking */
+  gboolean shutdown;            /* if we are shutting down */
+  GList *blocked_pads;          /* pads that have set to block */
+
+  gboolean expose_allstreams;   /* Whether to expose unknow type streams or not */
+
+  GList *filtered;              /* elements for which error messages are filtered */
+  GList *filtered_errors;       /* filtered error messages */
+};
+
+struct _GstParseBinClass
+{
+  GstBinClass parent_class;
+
+  /* signal fired when we found a pad that we cannot decode */
+  void (*unknown_type) (GstElement * element, GstPad * pad, GstCaps * caps);
+
+  /* signal fired to know if we continue trying to decode the given caps */
+    gboolean (*autoplug_continue) (GstElement * element, GstPad * pad,
+      GstCaps * caps);
+  /* signal fired to get a list of factories to try to autoplug */
+  GValueArray *(*autoplug_factories) (GstElement * element, GstPad * pad,
+      GstCaps * caps);
+  /* signal fired to sort the factories */
+  GValueArray *(*autoplug_sort) (GstElement * element, GstPad * pad,
+      GstCaps * caps, GValueArray * factories);
+  /* signal fired to select from the proposed list of factories */
+    GstAutoplugSelectResult (*autoplug_select) (GstElement * element,
+      GstPad * pad, GstCaps * caps, GstElementFactory * factory);
+  /* signal fired when a autoplugged element that is not linked downstream
+   * or exposed wants to query something */
+    gboolean (*autoplug_query) (GstElement * element, GstPad * pad,
+      GstQuery * query);
+
+  /* fired when the last group is drained */
+  void (*drained) (GstElement * element);
+};
+
+/* signals */
+enum
+{
+  SIGNAL_UNKNOWN_TYPE,
+  SIGNAL_AUTOPLUG_CONTINUE,
+  SIGNAL_AUTOPLUG_FACTORIES,
+  SIGNAL_AUTOPLUG_SELECT,
+  SIGNAL_AUTOPLUG_SORT,
+  SIGNAL_AUTOPLUG_QUERY,
+  SIGNAL_DRAINED,
+  LAST_SIGNAL
+};
+
+#define DEFAULT_SUBTITLE_ENCODING NULL
+#define DEFAULT_USE_BUFFERING     FALSE
+#define DEFAULT_LOW_PERCENT       10
+#define DEFAULT_HIGH_PERCENT      99
+/* by default we use the automatic values above */
+#define DEFAULT_EXPOSE_ALL_STREAMS  TRUE
+#define DEFAULT_CONNECTION_SPEED    0
+
+/* Properties */
+enum
+{
+  PROP_0,
+  PROP_SUBTITLE_ENCODING,
+  PROP_SINK_CAPS,
+  PROP_EXPOSE_ALL_STREAMS,
+  PROP_CONNECTION_SPEED
+};
+
+static GstBinClass *parent_class;
+static guint gst_parse_bin_signals[LAST_SIGNAL] = { 0 };
+
+static void do_async_start (GstParseBin * parsebin);
+static void do_async_done (GstParseBin * parsebin);
+
+static void type_found (GstElement * typefind, guint probability,
+    GstCaps * caps, GstParseBin * parse_bin);
+
+static gboolean gst_parse_bin_autoplug_continue (GstElement * element,
+    GstPad * pad, GstCaps * caps);
+static GValueArray *gst_parse_bin_autoplug_factories (GstElement *
+    element, GstPad * pad, GstCaps * caps);
+static GValueArray *gst_parse_bin_autoplug_sort (GstElement * element,
+    GstPad * pad, GstCaps * caps, GValueArray * factories);
+static GstAutoplugSelectResult gst_parse_bin_autoplug_select (GstElement *
+    element, GstPad * pad, GstCaps * caps, GstElementFactory * factory);
+static gboolean gst_parse_bin_autoplug_query (GstElement * element,
+    GstPad * pad, GstQuery * query);
+
+static void gst_parse_bin_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_parse_bin_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void caps_notify_cb (GstPad * pad, GParamSpec * unused,
+    GstParseChain * chain);
+
+static GstStateChangeReturn gst_parse_bin_change_state (GstElement * element,
+    GstStateChange transition);
+static void gst_parse_bin_handle_message (GstBin * bin, GstMessage * message);
+static void gst_parse_pad_update_caps (GstParsePad * parsepad, GstCaps * caps);
+static void gst_parse_pad_update_tags (GstParsePad * parsepad,
+    GstTagList * tags);
+static GstEvent *gst_parse_pad_stream_start_event (GstParsePad * parsepad,
+    GstEvent * event);
+static void gst_parse_pad_update_stream_collection (GstParsePad * parsepad,
+    GstStreamCollection * collection);
+
+static GstCaps *get_pad_caps (GstPad * pad);
+
+#define EXPOSE_LOCK(parsebin) G_STMT_START {				\
+    GST_LOG_OBJECT (parsebin,						\
+		    "expose locking from thread %p",			\
+		    g_thread_self ());					\
+    g_mutex_lock (&GST_PARSE_BIN_CAST(parsebin)->expose_lock);		\
+    GST_LOG_OBJECT (parsebin,						\
+		    "expose locked from thread %p",			\
+		    g_thread_self ());					\
+} G_STMT_END
+
+#define EXPOSE_UNLOCK(parsebin) G_STMT_START {				\
+    GST_LOG_OBJECT (parsebin,						\
+		    "expose unlocking from thread %p",			\
+		    g_thread_self ());					\
+    g_mutex_unlock (&GST_PARSE_BIN_CAST(parsebin)->expose_lock);		\
+} G_STMT_END
+
+#define DYN_LOCK(parsebin) G_STMT_START {			\
+    GST_LOG_OBJECT (parsebin,						\
+		    "dynlocking from thread %p",			\
+		    g_thread_self ());					\
+    g_mutex_lock (&GST_PARSE_BIN_CAST(parsebin)->dyn_lock);			\
+    GST_LOG_OBJECT (parsebin,						\
+		    "dynlocked from thread %p",				\
+		    g_thread_self ());					\
+} G_STMT_END
+
+#define DYN_UNLOCK(parsebin) G_STMT_START {			\
+    GST_LOG_OBJECT (parsebin,						\
+		    "dynunlocking from thread %p",			\
+		    g_thread_self ());					\
+    g_mutex_unlock (&GST_PARSE_BIN_CAST(parsebin)->dyn_lock);		\
+} G_STMT_END
+
+#define SUBTITLE_LOCK(parsebin) G_STMT_START {				\
+    GST_LOG_OBJECT (parsebin,						\
+		    "subtitle locking from thread %p",			\
+		    g_thread_self ());					\
+    g_mutex_lock (&GST_PARSE_BIN_CAST(parsebin)->subtitle_lock);		\
+    GST_LOG_OBJECT (parsebin,						\
+		    "subtitle lock from thread %p",			\
+		    g_thread_self ());					\
+} G_STMT_END
+
+#define SUBTITLE_UNLOCK(parsebin) G_STMT_START {				\
+    GST_LOG_OBJECT (parsebin,						\
+		    "subtitle unlocking from thread %p",		\
+		    g_thread_self ());					\
+    g_mutex_unlock (&GST_PARSE_BIN_CAST(parsebin)->subtitle_lock);		\
+} G_STMT_END
+
+struct _GstPendingPad
+{
+  GstPad *pad;
+  GstParseChain *chain;
+  gulong event_probe_id;
+  gulong notify_caps_id;
+};
+
+struct _GstParseElement
+{
+  GstElement *element;
+  GstElement *capsfilter;       /* Optional capsfilter for Parser/Convert */
+  gulong pad_added_id;
+  gulong pad_removed_id;
+  gulong no_more_pads_id;
+};
+
+/* GstParseGroup
+ *
+ * Streams belonging to the same group/chain of a media file
+ *
+ * When changing something here lock the parent chain!
+ */
+struct _GstParseGroup
+{
+  GstParseBin *parsebin;
+  GstParseChain *parent;
+
+  gboolean no_more_pads;        /* TRUE if the demuxer signaled no-more-pads */
+  gboolean drained;             /* TRUE if the all children are drained */
+
+  GList *children;              /* List of GstParseChains in this group */
+};
+
+struct _GstParseChain
+{
+  GstParseGroup *parent;
+  GstParseBin *parsebin;
+
+  GMutex lock;                  /* Protects this chain and its groups */
+
+  GstPad *pad;                  /* srcpad that caused creation of this chain */
+  GstCaps *start_caps;          /* The initial caps of this chain */
+
+  gboolean drained;             /* TRUE if the all children are drained */
+  gboolean demuxer;             /* TRUE if elements->data is a demuxer */
+  gboolean parsed;              /* TRUE if any elements are a parser */
+  GList *elements;              /* All elements in this group, first
+                                   is the latest and most downstream element */
+
+  /* Note: there are only groups if the last element of this chain
+   * is a demuxer, otherwise the chain will end with an endpad.
+   * The other way around this means, that endpad only exists if this
+   * chain doesn't end with a demuxer! */
+
+  GstParseGroup *active_group;  /* Currently active group */
+  GList *next_groups;           /* head is newest group, tail is next group.
+                                   a new group will be created only if the head
+                                   group had no-more-pads. If it's only exposed
+                                   all new pads will be ignored! */
+  GList *pending_pads;          /* Pads that have no fixed caps yet */
+
+  GstParsePad *current_pad;     /* Current ending pad of the chain that can't
+                                 * be exposed yet but would be the same as endpad
+                                 * once it can be exposed */
+  GstParsePad *endpad;          /* Pad of this chain that could be exposed */
+  gboolean deadend;             /* This chain is incomplete and can't be completed,
+                                   e.g. no suitable decoder could be found
+                                   e.g. stream got EOS without buffers
+                                 */
+  gchar *deadend_details;
+  GstCaps *endcaps;             /* Caps that were used when linking to the endpad
+                                   or that resulted in the deadend
+                                 */
+
+  /* FIXME: This should be done directly via a thread! */
+  GList *old_groups;            /* Groups that should be freed later */
+};
+
+static void gst_parse_chain_free (GstParseChain * chain);
+static GstParseChain *gst_parse_chain_new (GstParseBin * parsebin,
+    GstParseGroup * group, GstPad * pad, GstCaps * start_caps);
+static void gst_parse_group_hide (GstParseGroup * group);
+static void gst_parse_group_free (GstParseGroup * group);
+static GstParseGroup *gst_parse_group_new (GstParseBin * parsebin,
+    GstParseChain * chain);
+static gboolean gst_parse_chain_is_complete (GstParseChain * chain);
+static gboolean gst_parse_chain_expose (GstParseChain * chain,
+    GList ** endpads, gboolean * missing_plugin,
+    GString * missing_plugin_details, gboolean * last_group,
+    gboolean * uncollected_streams);
+static void build_fallback_collection (GstParseChain * chain,
+    GstStreamCollection * collection);
+static gboolean gst_parse_chain_is_drained (GstParseChain * chain);
+static gboolean gst_parse_group_is_complete (GstParseGroup * group);
+static gboolean gst_parse_group_is_drained (GstParseGroup * group);
+
+static gboolean gst_parse_bin_expose (GstParseBin * parsebin);
+
+#define CHAIN_MUTEX_LOCK(chain) G_STMT_START {				\
+    GST_LOG_OBJECT (chain->parsebin,					\
+		    "locking chain %p from thread %p",			\
+		    chain, g_thread_self ());				\
+    g_mutex_lock (&chain->lock);						\
+    GST_LOG_OBJECT (chain->parsebin,					\
+		    "locked chain %p from thread %p",			\
+		    chain, g_thread_self ());				\
+} G_STMT_END
+
+#define CHAIN_MUTEX_UNLOCK(chain) G_STMT_START {                        \
+    GST_LOG_OBJECT (chain->parsebin,					\
+		    "unlocking chain %p from thread %p",		\
+		    chain, g_thread_self ());				\
+    g_mutex_unlock (&chain->lock);					\
+} G_STMT_END
+
+/* GstParsePad
+ *
+ * GstPad private used for source pads of chains
+ */
+struct _GstParsePad
+{
+  GstGhostPad parent;
+  GstParseBin *parsebin;
+  GstParseChain *chain;
+
+  gboolean blocked;             /* the *target* pad is blocked */
+  gboolean exposed;             /* the pad is exposed */
+  gboolean drained;             /* an EOS has been seen on the pad */
+
+  gulong block_id;
+
+  gboolean in_a_fallback_collection;
+  GstStreamCollection *active_collection;
+  GstStream *active_stream;
+};
+
+GType gst_parse_pad_get_type (void);
+G_DEFINE_TYPE (GstParsePad, gst_parse_pad, GST_TYPE_GHOST_PAD);
+#define GST_TYPE_PARSE_PAD (gst_parse_pad_get_type ())
+#define GST_PARSE_PAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PARSE_PAD,GstParsePad))
+
+static GstParsePad *gst_parse_pad_new (GstParseBin * parsebin,
+    GstParseChain * chain);
+static void gst_parse_pad_activate (GstParsePad * parsepad,
+    GstParseChain * chain);
+static void gst_parse_pad_unblock (GstParsePad * parsepad);
+static void gst_parse_pad_set_blocked (GstParsePad * parsepad,
+    gboolean blocked);
+static gboolean gst_parse_pad_query (GstPad * pad, GstObject * parent,
+    GstQuery * query);
+static GstPadProbeReturn
+gst_parse_pad_event (GstPad * pad, GstPadProbeInfo * info, gpointer user_data);
+
+
+static void gst_pending_pad_free (GstPendingPad * ppad);
+static GstPadProbeReturn pad_event_cb (GstPad * pad, GstPadProbeInfo * info,
+    gpointer data);
+
+/********************************
+ * Standard GObject boilerplate *
+ ********************************/
+
+static void gst_parse_bin_class_init (GstParseBinClass * klass);
+static void gst_parse_bin_init (GstParseBin * parse_bin);
+static void gst_parse_bin_dispose (GObject * object);
+static void gst_parse_bin_finalize (GObject * object);
+
+static GType
+gst_parse_bin_get_type (void)
+{
+  static GType gst_parse_bin_type = 0;
+
+  if (!gst_parse_bin_type) {
+    static const GTypeInfo gst_parse_bin_info = {
+      sizeof (GstParseBinClass),
+      NULL,
+      NULL,
+      (GClassInitFunc) gst_parse_bin_class_init,
+      NULL,
+      NULL,
+      sizeof (GstParseBin),
+      0,
+      (GInstanceInitFunc) gst_parse_bin_init,
+      NULL
+    };
+
+    gst_parse_bin_type =
+        g_type_register_static (GST_TYPE_BIN, "GstParseBin",
+        &gst_parse_bin_info, 0);
+  }
+
+  return gst_parse_bin_type;
+}
+
+static gboolean
+_gst_boolean_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gboolean myboolean;
+
+  myboolean = g_value_get_boolean (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boolean (return_accu, myboolean);
+
+  /* stop emission if FALSE */
+  return myboolean;
+}
+
+static gboolean
+_gst_boolean_or_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gboolean myboolean;
+  gboolean retboolean;
+
+  myboolean = g_value_get_boolean (handler_return);
+  retboolean = g_value_get_boolean (return_accu);
+
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boolean (return_accu, myboolean || retboolean);
+
+  return TRUE;
+}
+
+/* we collect the first result */
+static gboolean
+_gst_array_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gpointer array;
+
+  array = g_value_get_boxed (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boxed (return_accu, array);
+
+  return FALSE;
+}
+
+static gboolean
+_gst_select_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  GstAutoplugSelectResult res;
+
+  res = g_value_get_enum (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_enum (return_accu, res);
+
+  /* Call the next handler in the chain (if any) when the current callback
+   * returns TRY. This makes it possible to register separate autoplug-select
+   * handlers that implement different TRY/EXPOSE/SKIP strategies.
+   */
+  if (res == GST_AUTOPLUG_SELECT_TRY)
+    return TRUE;
+
+  return FALSE;
+}
+
+static gboolean
+_gst_array_hasvalue_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gpointer array;
+
+  array = g_value_get_boxed (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boxed (return_accu, array);
+
+  if (array != NULL)
+    return FALSE;
+
+  return TRUE;
+}
+
+static void
+gst_parse_bin_class_init (GstParseBinClass * klass)
+{
+  GObjectClass *gobject_klass;
+  GstElementClass *gstelement_klass;
+  GstBinClass *gstbin_klass;
+
+  gobject_klass = (GObjectClass *) klass;
+  gstelement_klass = (GstElementClass *) klass;
+  gstbin_klass = (GstBinClass *) klass;
+
+  parent_class = g_type_class_peek_parent (klass);
+
+  gobject_klass->dispose = gst_parse_bin_dispose;
+  gobject_klass->finalize = gst_parse_bin_finalize;
+  gobject_klass->set_property = gst_parse_bin_set_property;
+  gobject_klass->get_property = gst_parse_bin_get_property;
+
+  /**
+   * GstParseBin::unknown-type:
+   * @bin: The ParseBin.
+   * @pad: The new pad containing caps that cannot be resolved to a 'final'
+   *       stream type.
+   * @caps: The #GstCaps of the pad that cannot be resolved.
+   *
+   * This signal is emitted when a pad for which there is no further possible
+   * decoding is added to the ParseBin.
+   */
+  gst_parse_bin_signals[SIGNAL_UNKNOWN_TYPE] =
+      g_signal_new ("unknown-type", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstParseBinClass, unknown_type),
+      NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 2,
+      GST_TYPE_PAD, GST_TYPE_CAPS);
+
+  /**
+   * GstParseBin::autoplug-continue:
+   * @bin: The ParseBin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps found.
+   *
+   * This signal is emitted whenever ParseBin finds a new stream. It is
+   * emitted before looking for any elements that can handle that stream.
+   *
+   * <note>
+   *   Invocation of signal handlers stops after the first signal handler
+   *   returns #FALSE. Signal handlers are invoked in the order they were
+   *   connected in.
+   * </note>
+   *
+   * Returns: #TRUE if you wish ParseBin to look for elements that can
+   * handle the given @caps. If #FALSE, those caps will be considered as
+   * final and the pad will be exposed as such (see 'pad-added' signal of
+   * #GstElement).
+   */
+  gst_parse_bin_signals[SIGNAL_AUTOPLUG_CONTINUE] =
+      g_signal_new ("autoplug-continue", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstParseBinClass, autoplug_continue),
+      _gst_boolean_accumulator, NULL, g_cclosure_marshal_generic,
+      G_TYPE_BOOLEAN, 2, GST_TYPE_PAD, GST_TYPE_CAPS);
+
+  /**
+   * GstParseBin::autoplug-factories:
+   * @bin: The ParseBin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps found.
+   *
+   * This function is emited when an array of possible factories for @caps on
+   * @pad is needed. ParseBin will by default return an array with all
+   * compatible factories, sorted by rank.
+   *
+   * If this function returns NULL, @pad will be exposed as a final caps.
+   *
+   * If this function returns an empty array, the pad will be considered as
+   * having an unhandled type media type.
+   *
+   * <note>
+   *   Only the signal handler that is connected first will ever by invoked.
+   *   Don't connect signal handlers with the #G_CONNECT_AFTER flag to this
+   *   signal, they will never be invoked!
+   * </note>
+   *
+   * Returns: a #GValueArray* with a list of factories to try. The factories are
+   * by default tried in the returned order or based on the index returned by
+   * "autoplug-select".
+   */
+  gst_parse_bin_signals[SIGNAL_AUTOPLUG_FACTORIES] =
+      g_signal_new ("autoplug-factories", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstParseBinClass,
+          autoplug_factories), _gst_array_accumulator, NULL,
+      g_cclosure_marshal_generic, G_TYPE_VALUE_ARRAY, 2,
+      GST_TYPE_PAD, GST_TYPE_CAPS);
+
+  /**
+   * GstParseBin::autoplug-sort:
+   * @bin: The ParseBin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps.
+   * @factories: A #GValueArray of possible #GstElementFactory to use.
+   *
+   * Once ParseBin has found the possible #GstElementFactory objects to try
+   * for @caps on @pad, this signal is emited. The purpose of the signal is for
+   * the application to perform additional sorting or filtering on the element
+   * factory array.
+   *
+   * The callee should copy and modify @factories or return #NULL if the
+   * order should not change.
+   *
+   * <note>
+   *   Invocation of signal handlers stops after one signal handler has
+   *   returned something else than #NULL. Signal handlers are invoked in
+   *   the order they were connected in.
+   *   Don't connect signal handlers with the #G_CONNECT_AFTER flag to this
+   *   signal, they will never be invoked!
+   * </note>
+   *
+   * Returns: A new sorted array of #GstElementFactory objects.
+   */
+  gst_parse_bin_signals[SIGNAL_AUTOPLUG_SORT] =
+      g_signal_new ("autoplug-sort", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstParseBinClass, autoplug_sort),
+      _gst_array_hasvalue_accumulator, NULL,
+      g_cclosure_marshal_generic, G_TYPE_VALUE_ARRAY, 3, GST_TYPE_PAD,
+      GST_TYPE_CAPS, G_TYPE_VALUE_ARRAY | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  /**
+   * GstParseBin::autoplug-select:
+   * @bin: The ParseBin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps.
+   * @factory: A #GstElementFactory to use.
+   *
+   * This signal is emitted once ParseBin has found all the possible
+   * #GstElementFactory that can be used to handle the given @caps. For each of
+   * those factories, this signal is emitted.
+   *
+   * The signal handler should return a #GST_TYPE_AUTOPLUG_SELECT_RESULT enum
+   * value indicating what ParseBin should do next.
+   *
+   * A value of #GST_AUTOPLUG_SELECT_TRY will try to autoplug an element from
+   * @factory.
+   *
+   * A value of #GST_AUTOPLUG_SELECT_EXPOSE will expose @pad without plugging
+   * any element to it.
+   *
+   * A value of #GST_AUTOPLUG_SELECT_SKIP will skip @factory and move to the
+   * next factory.
+   *
+   * <note>
+   *   The signal handler will not be invoked if any of the previously
+   *   registered signal handlers (if any) return a value other than
+   *   GST_AUTOPLUG_SELECT_TRY. Which also means that if you return
+   *   GST_AUTOPLUG_SELECT_TRY from one signal handler, handlers that get
+   *   registered next (again, if any) can override that decision.
+   * </note>
+   *
+   * Returns: a #GST_TYPE_AUTOPLUG_SELECT_RESULT that indicates the required
+   * operation. the default handler will always return
+   * #GST_AUTOPLUG_SELECT_TRY.
+   */
+  gst_parse_bin_signals[SIGNAL_AUTOPLUG_SELECT] =
+      g_signal_new ("autoplug-select", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstParseBinClass, autoplug_select),
+      _gst_select_accumulator, NULL,
+      g_cclosure_marshal_generic,
+      GST_TYPE_AUTOPLUG_SELECT_RESULT, 3, GST_TYPE_PAD, GST_TYPE_CAPS,
+      GST_TYPE_ELEMENT_FACTORY);
+
+  /**
+   * GstParseBin::autoplug-query:
+   * @bin: The ParseBin.
+   * @child: The child element doing the query
+   * @pad: The #GstPad.
+   * @element: The #GstElement.
+   * @query: The #GstQuery.
+   *
+   * This signal is emitted whenever an autoplugged element that is
+   * not linked downstream yet and not exposed does a query. It can
+   * be used to tell the element about the downstream supported caps
+   * for example.
+   *
+   * Returns: #TRUE if the query was handled, #FALSE otherwise.
+   */
+  gst_parse_bin_signals[SIGNAL_AUTOPLUG_QUERY] =
+      g_signal_new ("autoplug-query", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstParseBinClass, autoplug_query),
+      _gst_boolean_or_accumulator, NULL, g_cclosure_marshal_generic,
+      G_TYPE_BOOLEAN, 3, GST_TYPE_PAD, GST_TYPE_ELEMENT,
+      GST_TYPE_QUERY | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  /**
+   * GstParseBin::drained
+   * @bin: The ParseBin
+   *
+   * This signal is emitted once ParseBin has finished decoding all the data.
+   */
+  gst_parse_bin_signals[SIGNAL_DRAINED] =
+      g_signal_new ("drained", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstParseBinClass, drained),
+      NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 0, G_TYPE_NONE);
+
+  g_object_class_install_property (gobject_klass, PROP_SUBTITLE_ENCODING,
+      g_param_spec_string ("subtitle-encoding", "subtitle encoding",
+          "Encoding to assume if input subtitles are not in UTF-8 encoding. "
+          "If not set, the GST_SUBTITLE_ENCODING environment variable will "
+          "be checked for an encoding to use. If that is not set either, "
+          "ISO-8859-15 will be assumed.", NULL,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_klass, PROP_SINK_CAPS,
+      g_param_spec_boxed ("sink-caps", "Sink Caps",
+          "The caps of the input data. (NULL = use typefind element)",
+          GST_TYPE_CAPS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstParseBin::expose-all-streams
+   *
+   * Expose streams of unknown type.
+   *
+   * If set to %FALSE, then only the streams that can be decoded to the final
+   * caps (see 'caps' property) will have a pad exposed. Streams that do not
+   * match those caps but could have been decoded will not have decoder plugged
+   * in internally and will not have a pad exposed.
+   */
+  g_object_class_install_property (gobject_klass, PROP_EXPOSE_ALL_STREAMS,
+      g_param_spec_boolean ("expose-all-streams", "Expose All Streams",
+          "Expose all streams, including those of unknown type or that don't match the 'caps' property",
+          DEFAULT_EXPOSE_ALL_STREAMS,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstParseBin2::connection-speed
+   *
+   * Network connection speed in kbps (0 = unknownw)
+   */
+  g_object_class_install_property (gobject_klass, PROP_CONNECTION_SPEED,
+      g_param_spec_uint64 ("connection-speed", "Connection Speed",
+          "Network connection speed in kbps (0 = unknown)",
+          0, G_MAXUINT64 / 1000, DEFAULT_CONNECTION_SPEED,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+
+
+  klass->autoplug_continue =
+      GST_DEBUG_FUNCPTR (gst_parse_bin_autoplug_continue);
+  klass->autoplug_factories =
+      GST_DEBUG_FUNCPTR (gst_parse_bin_autoplug_factories);
+  klass->autoplug_sort = GST_DEBUG_FUNCPTR (gst_parse_bin_autoplug_sort);
+  klass->autoplug_select = GST_DEBUG_FUNCPTR (gst_parse_bin_autoplug_select);
+  klass->autoplug_query = GST_DEBUG_FUNCPTR (gst_parse_bin_autoplug_query);
+
+  gst_element_class_add_pad_template (gstelement_klass,
+      gst_static_pad_template_get (&decoder_bin_sink_template));
+  gst_element_class_add_pad_template (gstelement_klass,
+      gst_static_pad_template_get (&decoder_bin_src_template));
+
+  gst_element_class_set_static_metadata (gstelement_klass,
+      "Parse Bin", "Generic/Bin/Parser",
+      "Parse and de-multiplex to elementary stream",
+      "Jan Schmidt <jan@centricular.com>, "
+      "Edward Hervey <edward@centricular.com>");
+
+  gstelement_klass->change_state =
+      GST_DEBUG_FUNCPTR (gst_parse_bin_change_state);
+
+  gstbin_klass->handle_message =
+      GST_DEBUG_FUNCPTR (gst_parse_bin_handle_message);
+
+  g_type_class_ref (GST_TYPE_PARSE_PAD);
+}
+
+gint
+_parse_bin_compare_factories_func (gconstpointer p1, gconstpointer p2)
+{
+  GstPluginFeature *f1, *f2;
+  gboolean is_parser1, is_parser2;
+
+  f1 = (GstPluginFeature *) p1;
+  f2 = (GstPluginFeature *) p2;
+
+  is_parser1 = gst_element_factory_list_is_type (GST_ELEMENT_FACTORY_CAST (f1),
+      GST_ELEMENT_FACTORY_TYPE_PARSER);
+  is_parser2 = gst_element_factory_list_is_type (GST_ELEMENT_FACTORY_CAST (f2),
+      GST_ELEMENT_FACTORY_TYPE_PARSER);
+
+
+  /* We want all parsers first as we always want to plug parsers
+   * before decoders */
+  if (is_parser1 && !is_parser2)
+    return -1;
+  else if (!is_parser1 && is_parser2)
+    return 1;
+
+  /* And if it's a both a parser we first sort by rank
+   * and then by factory name */
+  return gst_plugin_feature_rank_compare_func (p1, p2);
+}
+
+/* Must be called with factories lock! */
+static void
+gst_parse_bin_update_factories_list (GstParseBin * parsebin)
+{
+  guint cookie;
+
+  cookie = gst_registry_get_feature_list_cookie (gst_registry_get ());
+  if (!parsebin->factories || parsebin->factories_cookie != cookie) {
+    if (parsebin->factories)
+      gst_plugin_feature_list_free (parsebin->factories);
+    parsebin->factories =
+        gst_element_factory_list_get_elements
+        (GST_ELEMENT_FACTORY_TYPE_DECODABLE, GST_RANK_MARGINAL);
+    parsebin->factories =
+        g_list_sort (parsebin->factories, _parse_bin_compare_factories_func);
+    parsebin->factories_cookie = cookie;
+  }
+}
+
+static void
+gst_parse_bin_init (GstParseBin * parse_bin)
+{
+  /* first filter out the interesting element factories */
+  g_mutex_init (&parse_bin->factories_lock);
+
+  /* we create the typefind element only once */
+  parse_bin->typefind = gst_element_factory_make ("typefind", "typefind");
+  if (!parse_bin->typefind) {
+    g_warning ("can't find typefind element, ParseBin will not work");
+  } else {
+    GstPad *pad;
+    GstPad *gpad;
+    GstPadTemplate *pad_tmpl;
+
+    /* add the typefind element */
+    if (!gst_bin_add (GST_BIN (parse_bin), parse_bin->typefind)) {
+      g_warning ("Could not add typefind element, ParseBin will not work");
+      gst_object_unref (parse_bin->typefind);
+      parse_bin->typefind = NULL;
+    }
+
+    /* get the sinkpad */
+    pad = gst_element_get_static_pad (parse_bin->typefind, "sink");
+
+    /* get the pad template */
+    pad_tmpl = gst_static_pad_template_get (&decoder_bin_sink_template);
+
+    /* ghost the sink pad to ourself */
+    gpad = gst_ghost_pad_new_from_template ("sink", pad, pad_tmpl);
+    gst_pad_set_active (gpad, TRUE);
+    gst_element_add_pad (GST_ELEMENT (parse_bin), gpad);
+
+    gst_object_unref (pad_tmpl);
+    gst_object_unref (pad);
+  }
+
+  g_mutex_init (&parse_bin->expose_lock);
+  parse_bin->parse_chain = NULL;
+
+  g_mutex_init (&parse_bin->dyn_lock);
+  parse_bin->shutdown = FALSE;
+  parse_bin->blocked_pads = NULL;
+
+  g_mutex_init (&parse_bin->subtitle_lock);
+
+  parse_bin->encoding = g_strdup (DEFAULT_SUBTITLE_ENCODING);
+
+  parse_bin->expose_allstreams = DEFAULT_EXPOSE_ALL_STREAMS;
+  parse_bin->connection_speed = DEFAULT_CONNECTION_SPEED;
+}
+
+static void
+gst_parse_bin_dispose (GObject * object)
+{
+  GstParseBin *parse_bin;
+
+  parse_bin = GST_PARSE_BIN (object);
+
+  if (parse_bin->factories)
+    gst_plugin_feature_list_free (parse_bin->factories);
+  parse_bin->factories = NULL;
+
+  if (parse_bin->parse_chain)
+    gst_parse_chain_free (parse_bin->parse_chain);
+  parse_bin->parse_chain = NULL;
+
+  g_free (parse_bin->encoding);
+  parse_bin->encoding = NULL;
+
+  g_list_free (parse_bin->subtitles);
+  parse_bin->subtitles = NULL;
+
+  G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+gst_parse_bin_finalize (GObject * object)
+{
+  GstParseBin *parse_bin;
+
+  parse_bin = GST_PARSE_BIN (object);
+
+  g_mutex_clear (&parse_bin->expose_lock);
+  g_mutex_clear (&parse_bin->dyn_lock);
+  g_mutex_clear (&parse_bin->subtitle_lock);
+  g_mutex_clear (&parse_bin->factories_lock);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_parse_bin_set_sink_caps (GstParseBin * parsebin, GstCaps * caps)
+{
+  GST_DEBUG_OBJECT (parsebin, "Setting new caps: %" GST_PTR_FORMAT, caps);
+
+  g_object_set (parsebin->typefind, "force-caps", caps, NULL);
+}
+
+static GstCaps *
+gst_parse_bin_get_sink_caps (GstParseBin * parsebin)
+{
+  GstCaps *caps;
+
+  GST_DEBUG_OBJECT (parsebin, "Getting currently set caps");
+
+  g_object_get (parsebin->typefind, "force-caps", &caps, NULL);
+
+  return caps;
+}
+
+static void
+gst_parse_bin_set_subs_encoding (GstParseBin * parsebin, const gchar * encoding)
+{
+  GList *walk;
+
+  GST_DEBUG_OBJECT (parsebin, "Setting new encoding: %s",
+      GST_STR_NULL (encoding));
+
+  SUBTITLE_LOCK (parsebin);
+  g_free (parsebin->encoding);
+  parsebin->encoding = g_strdup (encoding);
+
+  /* set the subtitle encoding on all added elements */
+  for (walk = parsebin->subtitles; walk; walk = g_list_next (walk)) {
+    g_object_set (G_OBJECT (walk->data), "subtitle-encoding",
+        parsebin->encoding, NULL);
+  }
+  SUBTITLE_UNLOCK (parsebin);
+}
+
+static gchar *
+gst_parse_bin_get_subs_encoding (GstParseBin * parsebin)
+{
+  gchar *encoding;
+
+  GST_DEBUG_OBJECT (parsebin, "Getting currently set encoding");
+
+  SUBTITLE_LOCK (parsebin);
+  encoding = g_strdup (parsebin->encoding);
+  SUBTITLE_UNLOCK (parsebin);
+
+  return encoding;
+}
+
+static void
+gst_parse_bin_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstParseBin *parsebin;
+
+  parsebin = GST_PARSE_BIN (object);
+
+  switch (prop_id) {
+    case PROP_SUBTITLE_ENCODING:
+      gst_parse_bin_set_subs_encoding (parsebin, g_value_get_string (value));
+      break;
+    case PROP_SINK_CAPS:
+      gst_parse_bin_set_sink_caps (parsebin, g_value_get_boxed (value));
+      break;
+    case PROP_EXPOSE_ALL_STREAMS:
+      parsebin->expose_allstreams = g_value_get_boolean (value);
+      break;
+    case PROP_CONNECTION_SPEED:
+      GST_OBJECT_LOCK (parsebin);
+      parsebin->connection_speed = g_value_get_uint64 (value) * 1000;
+      GST_OBJECT_UNLOCK (parsebin);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_parse_bin_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstParseBin *parsebin;
+
+  parsebin = GST_PARSE_BIN (object);
+  switch (prop_id) {
+    case PROP_SUBTITLE_ENCODING:
+      g_value_take_string (value, gst_parse_bin_get_subs_encoding (parsebin));
+      break;
+    case PROP_SINK_CAPS:
+      g_value_take_boxed (value, gst_parse_bin_get_sink_caps (parsebin));
+      break;
+    case PROP_EXPOSE_ALL_STREAMS:
+      g_value_set_boolean (value, parsebin->expose_allstreams);
+      break;
+    case PROP_CONNECTION_SPEED:
+      GST_OBJECT_LOCK (parsebin);
+      g_value_set_uint64 (value, parsebin->connection_speed / 1000);
+      GST_OBJECT_UNLOCK (parsebin);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+/*****
+ * Default autoplug signal handlers
+ *****/
+static gboolean
+gst_parse_bin_autoplug_continue (GstElement * element, GstPad * pad,
+    GstCaps * caps)
+{
+  GST_DEBUG_OBJECT (element, "autoplug-continue returns TRUE");
+
+  /* by default we always continue */
+  return TRUE;
+}
+
+static GValueArray *
+gst_parse_bin_autoplug_factories (GstElement * element, GstPad * pad,
+    GstCaps * caps)
+{
+  GList *list, *tmp;
+  GValueArray *result;
+  GstParseBin *parsebin = GST_PARSE_BIN_CAST (element);
+
+  GST_DEBUG_OBJECT (element, "finding factories");
+
+  /* return all compatible factories for caps */
+  g_mutex_lock (&parsebin->factories_lock);
+  gst_parse_bin_update_factories_list (parsebin);
+  list =
+      gst_element_factory_list_filter (parsebin->factories, caps, GST_PAD_SINK,
+      gst_caps_is_fixed (caps));
+  g_mutex_unlock (&parsebin->factories_lock);
+
+  result = g_value_array_new (g_list_length (list));
+  for (tmp = list; tmp; tmp = tmp->next) {
+    GstElementFactory *factory = GST_ELEMENT_FACTORY_CAST (tmp->data);
+    GValue val = { 0, };
+
+    g_value_init (&val, G_TYPE_OBJECT);
+    g_value_set_object (&val, factory);
+    g_value_array_append (result, &val);
+    g_value_unset (&val);
+  }
+  gst_plugin_feature_list_free (list);
+
+  GST_DEBUG_OBJECT (element, "autoplug-factories returns %p", result);
+
+  return result;
+}
+
+static GValueArray *
+gst_parse_bin_autoplug_sort (GstElement * element, GstPad * pad,
+    GstCaps * caps, GValueArray * factories)
+{
+  return NULL;
+}
+
+static GstAutoplugSelectResult
+gst_parse_bin_autoplug_select (GstElement * element, GstPad * pad,
+    GstCaps * caps, GstElementFactory * factory)
+{
+  /* Try factory. */
+  return GST_AUTOPLUG_SELECT_TRY;
+}
+
+static gboolean
+gst_parse_bin_autoplug_query (GstElement * element, GstPad * pad,
+    GstQuery * query)
+{
+  /* No query handled here */
+  return FALSE;
+}
+
+/********
+ * Discovery methods
+ *****/
+
+static gboolean is_demuxer_element (GstElement * srcelement);
+
+static gboolean connect_pad (GstParseBin * parsebin, GstElement * src,
+    GstParsePad * parsepad, GstPad * pad, GstCaps * caps,
+    GValueArray * factories, GstParseChain * chain, gchar ** deadend_details);
+static GList *connect_element (GstParseBin * parsebin, GstParseElement * delem,
+    GstParseChain * chain);
+static void expose_pad (GstParseBin * parsebin, GstElement * src,
+    GstParsePad * parsepad, GstPad * pad, GstCaps * caps,
+    GstParseChain * chain);
+
+static void pad_added_cb (GstElement * element, GstPad * pad,
+    GstParseChain * chain);
+static void pad_removed_cb (GstElement * element, GstPad * pad,
+    GstParseChain * chain);
+static void no_more_pads_cb (GstElement * element, GstParseChain * chain);
+
+static GstParseGroup *gst_parse_chain_get_current_group (GstParseChain * chain);
+
+static gboolean
+clear_sticky_events (GstPad * pad, GstEvent ** event, gpointer user_data)
+{
+  GST_DEBUG_OBJECT (pad, "clearing sticky event %" GST_PTR_FORMAT, *event);
+  gst_event_unref (*event);
+  *event = NULL;
+  return TRUE;
+}
+
+static gboolean
+copy_sticky_events (GstPad * pad, GstEvent ** eventptr, gpointer user_data)
+{
+  GstParsePad *ppad = GST_PARSE_PAD (user_data);
+  GstEvent *event = gst_event_ref (*eventptr);
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_CAPS:{
+      GstCaps *caps = NULL;
+      gst_event_parse_caps (event, &caps);
+      gst_parse_pad_update_caps (ppad, caps);
+      break;
+    }
+    case GST_EVENT_STREAM_START:{
+      event = gst_parse_pad_stream_start_event (ppad, event);
+      break;
+    }
+    case GST_EVENT_STREAM_COLLECTION:{
+      GstStreamCollection *collection = NULL;
+      gst_event_parse_stream_collection (event, &collection);
+      gst_parse_pad_update_stream_collection (ppad, collection);
+      break;
+    }
+    default:
+      break;
+  }
+
+  GST_DEBUG_OBJECT (ppad, "store sticky event %" GST_PTR_FORMAT, event);
+  gst_pad_store_sticky_event (GST_PAD_CAST (ppad), event);
+  gst_event_unref (event);
+
+  return TRUE;
+}
+
+static void
+parse_pad_set_target (GstParsePad * parsepad, GstPad * target)
+{
+  GstPad *old_target = gst_ghost_pad_get_target (GST_GHOST_PAD_CAST (parsepad));
+  if (old_target)
+    gst_object_unref (old_target);
+
+  if (old_target == target)
+    return;
+
+  gst_pad_sticky_events_foreach (GST_PAD_CAST (parsepad),
+      clear_sticky_events, NULL);
+  gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (parsepad), target);
+
+  if (target == NULL) {
+    GST_LOG_OBJECT (parsepad->parsebin, "Setting pad %" GST_PTR_FORMAT
+        " target to NULL", parsepad);
+  } else {
+    GST_LOG_OBJECT (parsepad->parsebin, "Setting pad %" GST_PTR_FORMAT
+        " target to %" GST_PTR_FORMAT, parsepad, target);
+    gst_pad_sticky_events_foreach (target, copy_sticky_events, parsepad);
+  }
+}
+
+/* called when a new pad is discovered. It will perform some basic actions
+ * before trying to link something to it.
+ *
+ *  - Check the caps, don't do anything when there are no caps or when they have
+ *    no good type.
+ *  - signal AUTOPLUG_CONTINUE to check if we need to continue autoplugging this
+ *    pad.
+ *  - if the caps are non-fixed, setup a handler to continue autoplugging when
+ *    the caps become fixed (connect to notify::caps).
+ *  - get list of factories to autoplug.
+ *  - continue autoplugging to one of the factories.
+ */
+static void
+analyze_new_pad (GstParseBin * parsebin, GstElement * src, GstPad * pad,
+    GstCaps * caps, GstParseChain * chain)
+{
+  gboolean apcontinue = TRUE;
+  GValueArray *factories = NULL, *result = NULL;
+  GstParsePad *parsepad;
+  GstElementFactory *factory;
+  const gchar *classification;
+  gboolean is_parser_converter = FALSE;
+  gboolean res;
+  gchar *deadend_details = NULL;
+
+  GST_DEBUG_OBJECT (parsebin, "Pad %s:%s caps:%" GST_PTR_FORMAT,
+      GST_DEBUG_PAD_NAME (pad), caps);
+
+  if (chain->elements
+      && src != ((GstParseElement *) chain->elements->data)->element
+      && src != ((GstParseElement *) chain->elements->data)->capsfilter) {
+    GST_ERROR_OBJECT (parsebin,
+        "New pad from not the last element in this chain");
+    return;
+  }
+
+  if (chain->demuxer) {
+    GstParseGroup *group;
+    GstParseChain *oldchain = chain;
+    GstParseElement *demux = (chain->elements ? chain->elements->data : NULL);
+
+    if (chain->current_pad)
+      gst_object_unref (chain->current_pad);
+    chain->current_pad = NULL;
+
+    /* we are adding a new pad for a demuxer (see is_demuxer_element(),
+     * start a new chain for it */
+    CHAIN_MUTEX_LOCK (oldchain);
+    group = gst_parse_chain_get_current_group (chain);
+    if (group && !g_list_find (group->children, chain)) {
+      chain = gst_parse_chain_new (parsebin, group, pad, caps);
+      group->children = g_list_prepend (group->children, chain);
+    }
+    CHAIN_MUTEX_UNLOCK (oldchain);
+    if (!group) {
+      GST_WARNING_OBJECT (parsebin, "No current group");
+      return;
+    }
+
+    /* If this is not a dynamic pad demuxer, we're no-more-pads
+     * already before anything else happens
+     */
+    if (demux == NULL || !demux->no_more_pads_id)
+      group->no_more_pads = TRUE;
+  }
+
+  /* From here on we own a reference to the caps as
+   * we might create new caps below and would need
+   * to unref them later */
+  if (caps)
+    gst_caps_ref (caps);
+
+  if ((caps == NULL) || gst_caps_is_empty (caps))
+    goto unknown_type;
+
+  if (gst_caps_is_any (caps))
+    goto any_caps;
+
+  if (!chain->current_pad)
+    chain->current_pad = gst_parse_pad_new (parsebin, chain);
+
+  parsepad = gst_object_ref (chain->current_pad);
+  gst_pad_set_active (GST_PAD_CAST (parsepad), TRUE);
+  parse_pad_set_target (parsepad, pad);
+
+  /* 1. Emit 'autoplug-continue' the result will tell us if this pads needs
+   * further autoplugging. Only do this for fixed caps, for unfixed caps
+   * we will later come here again from the notify::caps handler. The
+   * problem with unfixed caps is that, we can't reliably tell if the output
+   * is e.g. accepted by a sink because only parts of the possible final
+   * caps might be accepted by the sink. */
+  if (gst_caps_is_fixed (caps))
+    g_signal_emit (G_OBJECT (parsebin),
+        gst_parse_bin_signals[SIGNAL_AUTOPLUG_CONTINUE], 0, parsepad, caps,
+        &apcontinue);
+  else
+    apcontinue = TRUE;
+
+  /* 1.a if autoplug-continue is FALSE or caps is a raw format, goto pad_is_final */
+  if (!apcontinue)
+    goto expose_pad;
+
+  /* 1.b For Parser/Converter that can output different stream formats
+   * we insert a capsfilter with the sorted caps of all possible next
+   * elements and continue with the capsfilter srcpad */
+  factory = gst_element_get_factory (src);
+  classification =
+      gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS);
+  is_parser_converter = (strstr (classification, "Parser")
+      && strstr (classification, "Converter"));
+
+  /* FIXME: We just need to be sure that the next element is not a parser */
+  /* 1.c when the caps are not fixed yet, we can't be sure what element to
+   * connect. We delay autoplugging until the caps are fixed */
+  if (!is_parser_converter && !gst_caps_is_fixed (caps)) {
+    goto non_fixed;
+  } else if (!is_parser_converter) {
+    gst_caps_unref (caps);
+    caps = gst_pad_get_current_caps (pad);
+    if (!caps) {
+      GST_DEBUG_OBJECT (parsebin,
+          "No final caps set yet, delaying autoplugging");
+      gst_object_unref (parsepad);
+      goto setup_caps_delay;
+    }
+  }
+
+  /* 1.d else get the factories and if there's no compatible factory goto
+   * unknown_type */
+  g_signal_emit (G_OBJECT (parsebin),
+      gst_parse_bin_signals[SIGNAL_AUTOPLUG_FACTORIES], 0, parsepad, caps,
+      &factories);
+
+  /* NULL means that we can expose the pad */
+  if (factories == NULL)
+    goto expose_pad;
+
+  /* if the array is empty, we have a type for which we have no decoder */
+  if (factories->n_values == 0) {
+    /* if not we have a unhandled type with no compatible factories */
+    g_value_array_free (factories);
+    gst_object_unref (parsepad);
+    goto unknown_type;
+  }
+
+  /* 1.e sort some more. */
+  g_signal_emit (G_OBJECT (parsebin),
+      gst_parse_bin_signals[SIGNAL_AUTOPLUG_SORT], 0, parsepad, caps, factories,
+      &result);
+  if (result) {
+    g_value_array_free (factories);
+    factories = result;
+  }
+
+  /* 1.g now get the factory template caps and insert the capsfilter if this
+   * is a parser/converter
+   */
+  if (is_parser_converter) {
+    GstCaps *filter_caps;
+    gint i;
+    GstPad *p;
+    GstParseElement *delem;
+
+    g_assert (chain->elements != NULL);
+    delem = (GstParseElement *) chain->elements->data;
+
+    filter_caps = gst_caps_new_empty ();
+    for (i = 0; i < factories->n_values; i++) {
+      GstElementFactory *factory =
+          g_value_get_object (g_value_array_get_nth (factories, i));
+      GstCaps *tcaps, *intersection;
+      const GList *tmps;
+
+      GST_DEBUG ("Trying factory %s",
+          gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+
+      if (gst_element_get_factory (src) == factory ||
+          gst_element_factory_list_is_type (factory,
+              GST_ELEMENT_FACTORY_TYPE_PARSER)) {
+        GST_DEBUG ("Skipping factory");
+        continue;
+      }
+
+      for (tmps = gst_element_factory_get_static_pad_templates (factory); tmps;
+          tmps = tmps->next) {
+        GstStaticPadTemplate *st = (GstStaticPadTemplate *) tmps->data;
+        if (st->direction != GST_PAD_SINK || st->presence != GST_PAD_ALWAYS)
+          continue;
+        tcaps = gst_static_pad_template_get_caps (st);
+        intersection =
+            gst_caps_intersect_full (tcaps, caps, GST_CAPS_INTERSECT_FIRST);
+        filter_caps = gst_caps_merge (filter_caps, intersection);
+        gst_caps_unref (tcaps);
+      }
+    }
+
+    /* Append the parser caps to prevent any not-negotiated errors */
+    filter_caps = gst_caps_merge (filter_caps, gst_caps_ref (caps));
+
+    delem->capsfilter = gst_element_factory_make ("capsfilter", NULL);
+    g_object_set (G_OBJECT (delem->capsfilter), "caps", filter_caps, NULL);
+    gst_caps_unref (filter_caps);
+    gst_element_set_state (delem->capsfilter, GST_STATE_PAUSED);
+    gst_bin_add (GST_BIN_CAST (parsebin), gst_object_ref (delem->capsfilter));
+
+    parse_pad_set_target (parsepad, NULL);
+    p = gst_element_get_static_pad (delem->capsfilter, "sink");
+    gst_pad_link_full (pad, p, GST_PAD_LINK_CHECK_NOTHING);
+    gst_object_unref (p);
+    p = gst_element_get_static_pad (delem->capsfilter, "src");
+    parse_pad_set_target (parsepad, p);
+    pad = p;
+
+    gst_caps_unref (caps);
+
+    caps = gst_pad_get_current_caps (pad);
+    if (!caps) {
+      GST_DEBUG_OBJECT (parsebin,
+          "No final caps set yet, delaying autoplugging");
+      gst_object_unref (parsepad);
+      g_value_array_free (factories);
+      goto setup_caps_delay;
+    }
+  }
+
+  /* 1.h else continue autoplugging something from the list. */
+  GST_LOG_OBJECT (pad, "Let's continue discovery on this pad");
+  res =
+      connect_pad (parsebin, src, parsepad, pad, caps, factories, chain,
+      &deadend_details);
+
+  /* Need to unref the capsfilter srcpad here if
+   * we inserted a capsfilter */
+  if (is_parser_converter)
+    gst_object_unref (pad);
+
+  gst_object_unref (parsepad);
+  g_value_array_free (factories);
+
+  if (!res)
+    goto unknown_type;
+
+  gst_caps_unref (caps);
+
+  return;
+
+expose_pad:
+  {
+    GST_LOG_OBJECT (parsebin, "Pad is final. autoplug-continue:%d", apcontinue);
+    expose_pad (parsebin, src, parsepad, pad, caps, chain);
+    gst_object_unref (parsepad);
+    gst_caps_unref (caps);
+    return;
+  }
+
+unknown_type:
+  {
+    GST_LOG_OBJECT (pad, "Unknown type, posting message and firing signal");
+
+    chain->deadend_details = deadend_details;
+    chain->deadend = TRUE;
+    chain->endcaps = caps;
+    gst_object_replace ((GstObject **) & chain->current_pad, NULL);
+
+    gst_element_post_message (GST_ELEMENT_CAST (parsebin),
+        gst_missing_decoder_message_new (GST_ELEMENT_CAST (parsebin), caps));
+
+    g_signal_emit (G_OBJECT (parsebin),
+        gst_parse_bin_signals[SIGNAL_UNKNOWN_TYPE], 0, pad, caps);
+
+    /* Try to expose anything */
+    EXPOSE_LOCK (parsebin);
+    if (parsebin->parse_chain) {
+      if (gst_parse_chain_is_complete (parsebin->parse_chain)) {
+        gst_parse_bin_expose (parsebin);
+      }
+    }
+    EXPOSE_UNLOCK (parsebin);
+
+    if (src == parsebin->typefind) {
+      if (!caps || gst_caps_is_empty (caps)) {
+        GST_ELEMENT_ERROR (parsebin, STREAM, TYPE_NOT_FOUND,
+            (_("Could not determine type of stream")), (NULL));
+      }
+      do_async_done (parsebin);
+    }
+    return;
+  }
+#if 1
+non_fixed:
+  {
+    GST_DEBUG_OBJECT (pad, "pad has non-fixed caps delay autoplugging");
+    gst_object_unref (parsepad);
+    goto setup_caps_delay;
+  }
+#endif
+any_caps:
+  {
+    GST_DEBUG_OBJECT (pad, "pad has ANY caps, delaying auto-plugging");
+    goto setup_caps_delay;
+  }
+setup_caps_delay:
+  {
+    GstPendingPad *ppad;
+
+    /* connect to caps notification */
+    CHAIN_MUTEX_LOCK (chain);
+    GST_LOG_OBJECT (parsebin, "Chain %p has now %d dynamic pads", chain,
+        g_list_length (chain->pending_pads));
+    ppad = g_slice_new0 (GstPendingPad);
+    ppad->pad = gst_object_ref (pad);
+    ppad->chain = chain;
+    ppad->event_probe_id =
+        gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+        pad_event_cb, ppad, NULL);
+    chain->pending_pads = g_list_prepend (chain->pending_pads, ppad);
+    ppad->notify_caps_id = g_signal_connect (pad, "notify::caps",
+        G_CALLBACK (caps_notify_cb), chain);
+    CHAIN_MUTEX_UNLOCK (chain);
+
+    /* If we're here because we have a Parser/Converter
+     * we have to unref the pad */
+    if (is_parser_converter)
+      gst_object_unref (pad);
+    if (caps)
+      gst_caps_unref (caps);
+
+    return;
+  }
+}
+
+static void
+add_error_filter (GstParseBin * parsebin, GstElement * element)
+{
+  GST_OBJECT_LOCK (parsebin);
+  parsebin->filtered = g_list_prepend (parsebin->filtered, element);
+  GST_OBJECT_UNLOCK (parsebin);
+}
+
+static void
+remove_error_filter (GstParseBin * parsebin, GstElement * element,
+    GstMessage ** error)
+{
+  GList *l;
+
+  GST_OBJECT_LOCK (parsebin);
+  parsebin->filtered = g_list_remove (parsebin->filtered, element);
+
+  if (error)
+    *error = NULL;
+
+  l = parsebin->filtered_errors;
+  while (l) {
+    GstMessage *msg = l->data;
+
+    if (GST_MESSAGE_SRC (msg) == GST_OBJECT_CAST (element)) {
+      /* Get the last error of this element, i.e. the earliest */
+      if (error)
+        gst_message_replace (error, msg);
+      gst_message_unref (msg);
+      l = parsebin->filtered_errors =
+          g_list_delete_link (parsebin->filtered_errors, l);
+    } else {
+      l = l->next;
+    }
+  }
+  GST_OBJECT_UNLOCK (parsebin);
+}
+
+typedef struct
+{
+  gboolean ret;
+  GstPad *peer;
+} SendStickyEventsData;
+
+static gboolean
+send_sticky_event (GstPad * pad, GstEvent ** event, gpointer user_data)
+{
+  SendStickyEventsData *data = user_data;
+  gboolean ret;
+
+  ret = gst_pad_send_event (data->peer, gst_event_ref (*event));
+  if (!ret)
+    data->ret = FALSE;
+
+  return data->ret;
+}
+
+static gboolean
+send_sticky_events (GstParseBin * parsebin, GstPad * pad)
+{
+  SendStickyEventsData data;
+
+  data.ret = TRUE;
+  data.peer = gst_pad_get_peer (pad);
+
+  gst_pad_sticky_events_foreach (pad, send_sticky_event, &data);
+
+  gst_object_unref (data.peer);
+
+  return data.ret;
+}
+
+static gchar *
+error_message_to_string (GstMessage * msg)
+{
+  GError *err;
+  gchar *debug, *message, *full_message;
+
+  gst_message_parse_error (msg, &err, &debug);
+
+  message = gst_error_get_message (err->domain, err->code);
+
+  if (debug)
+    full_message = g_strdup_printf ("%s\n%s\n%s", message, err->message, debug);
+  else
+    full_message = g_strdup_printf ("%s\n%s", message, err->message);
+
+  g_free (message);
+  g_free (debug);
+  g_clear_error (&err);
+
+  return full_message;
+}
+
+/* We consider elements as "simple demuxer" when they are a demuxer
+ * with one and only one ALWAYS source pad.
+ */
+static gboolean
+is_simple_demuxer_factory (GstElementFactory * factory)
+{
+  if (strstr (gst_element_factory_get_metadata (factory,
+              GST_ELEMENT_METADATA_KLASS), "Demuxer")) {
+    const GList *tmp;
+    gint num_alway_srcpads = 0;
+
+    for (tmp = gst_element_factory_get_static_pad_templates (factory);
+        tmp; tmp = tmp->next) {
+      GstStaticPadTemplate *template = tmp->data;
+
+      if (template->direction == GST_PAD_SRC) {
+        if (template->presence == GST_PAD_ALWAYS) {
+          if (num_alway_srcpads >= 0)
+            num_alway_srcpads++;
+        } else {
+          num_alway_srcpads = -1;
+        }
+      }
+
+    }
+
+    if (num_alway_srcpads == 1)
+      return TRUE;
+  }
+
+  return FALSE;
+}
+
+/* connect_pad:
+ *
+ * Try to connect the given pad to an element created from one of the factories,
+ * and recursively.
+ *
+ * Note that parsepad is ghosting pad, and so pad is linked; be sure to unset parsepad's
+ * target before trying to link pad.
+ *
+ * Returns TRUE if an element was properly created and linked
+ */
+static gboolean
+connect_pad (GstParseBin * parsebin, GstElement * src, GstParsePad * parsepad,
+    GstPad * pad, GstCaps * caps, GValueArray * factories,
+    GstParseChain * chain, gchar ** deadend_details)
+{
+  gboolean res = FALSE;
+  GString *error_details = NULL;
+
+  g_return_val_if_fail (factories != NULL, FALSE);
+  g_return_val_if_fail (factories->n_values > 0, FALSE);
+
+  GST_DEBUG_OBJECT (parsebin,
+      "pad %s:%s , chain:%p, %d factories, caps %" GST_PTR_FORMAT,
+      GST_DEBUG_PAD_NAME (pad), chain, factories->n_values, caps);
+
+  error_details = g_string_new ("");
+
+  /* 2. Try to create an element and link to it */
+  while (factories->n_values > 0) {
+    GstAutoplugSelectResult ret;
+    GstElementFactory *factory;
+    GstParseElement *delem;
+    GstElement *element;
+    GstPad *sinkpad;
+    GParamSpec *pspec;
+    gboolean subtitle;
+    GList *to_connect = NULL;
+    gboolean is_parser_converter = FALSE, is_simple_demuxer = FALSE;
+
+    /* Set parsepad target to pad again, it might've been unset
+     * below but we came back here because something failed
+     */
+    parse_pad_set_target (parsepad, pad);
+
+    /* take first factory */
+    factory = g_value_get_object (g_value_array_get_nth (factories, 0));
+    /* Remove selected factory from the list. */
+    g_value_array_remove (factories, 0);
+
+    GST_LOG_OBJECT (src, "trying factory %" GST_PTR_FORMAT, factory);
+
+    /* Check if the caps are really supported by the factory. The
+     * factory list is non-empty-subset filtered while caps
+     * are only accepted by a pad if they are a subset of the
+     * pad caps.
+     *
+     * FIXME: Only do this for fixed caps here. Non-fixed caps
+     * can happen if a Parser/Converter was autoplugged before
+     * this. We then assume that it will be able to convert to
+     * everything that the decoder would want.
+     *
+     * A subset check will fail here because the parser caps
+     * will be generic and while the decoder will only
+     * support a subset of the parser caps.
+     */
+    if (gst_caps_is_fixed (caps)) {
+      const GList *templs;
+      gboolean skip = FALSE;
+
+      templs = gst_element_factory_get_static_pad_templates (factory);
+
+      while (templs) {
+        GstStaticPadTemplate *templ = (GstStaticPadTemplate *) templs->data;
+
+        if (templ->direction == GST_PAD_SINK) {
+          GstCaps *templcaps = gst_static_caps_get (&templ->static_caps);
+
+          if (!gst_caps_is_subset (caps, templcaps)) {
+            GST_DEBUG_OBJECT (src,
+                "caps %" GST_PTR_FORMAT " not subset of %" GST_PTR_FORMAT, caps,
+                templcaps);
+            gst_caps_unref (templcaps);
+            skip = TRUE;
+            break;
+          }
+
+          gst_caps_unref (templcaps);
+        }
+        templs = g_list_next (templs);
+      }
+      if (skip)
+        continue;
+    }
+
+    /* If the factory is for a parser we first check if the factory
+     * was already used for the current chain. If it was used already
+     * we would otherwise create an infinite loop here because the
+     * parser apparently accepts its own output as input.
+     * This is only done for parsers because it's perfectly valid
+     * to have other element classes after each other because a
+     * parser is the only one that does not change the data. A
+     * valid example for this would be multiple id3demux in a row.
+     */
+    is_parser_converter = strstr (gst_element_factory_get_metadata (factory,
+            GST_ELEMENT_METADATA_KLASS), "Parser") != NULL;
+    is_simple_demuxer = is_simple_demuxer_factory (factory);
+
+    if (is_parser_converter) {
+      gboolean skip = FALSE;
+      GList *l;
+
+      CHAIN_MUTEX_LOCK (chain);
+      for (l = chain->elements; l; l = l->next) {
+        GstParseElement *delem = (GstParseElement *) l->data;
+        GstElement *otherelement = delem->element;
+
+        if (gst_element_get_factory (otherelement) == factory) {
+          skip = TRUE;
+          break;
+        }
+      }
+
+      if (!skip && chain->parent && chain->parent->parent) {
+        GstParseChain *parent_chain = chain->parent->parent;
+        GstParseElement *pelem =
+            parent_chain->elements ? parent_chain->elements->data : NULL;
+
+        if (pelem && gst_element_get_factory (pelem->element) == factory)
+          skip = TRUE;
+      }
+      CHAIN_MUTEX_UNLOCK (chain);
+      if (skip) {
+        GST_DEBUG_OBJECT (parsebin,
+            "Skipping factory '%s' because it was already used in this chain",
+            gst_plugin_feature_get_name (GST_PLUGIN_FEATURE_CAST (factory)));
+        continue;
+      }
+
+    }
+
+    /* Expose pads if the next factory is a decoder */
+    if (gst_element_factory_list_is_type (factory,
+            GST_ELEMENT_FACTORY_TYPE_DECODER)) {
+      ret = GST_AUTOPLUG_SELECT_EXPOSE;
+    } else {
+      /* emit autoplug-select to see what we should do with it. */
+      g_signal_emit (G_OBJECT (parsebin),
+          gst_parse_bin_signals[SIGNAL_AUTOPLUG_SELECT],
+          0, parsepad, caps, factory, &ret);
+    }
+
+    switch (ret) {
+      case GST_AUTOPLUG_SELECT_TRY:
+        GST_DEBUG_OBJECT (parsebin, "autoplug select requested try");
+        break;
+      case GST_AUTOPLUG_SELECT_EXPOSE:
+        GST_DEBUG_OBJECT (parsebin, "autoplug select requested expose");
+        /* expose the pad, we don't have the source element */
+        expose_pad (parsebin, src, parsepad, pad, caps, chain);
+        res = TRUE;
+        goto beach;
+      case GST_AUTOPLUG_SELECT_SKIP:
+        GST_DEBUG_OBJECT (parsebin, "autoplug select requested skip");
+        continue;
+      default:
+        GST_WARNING_OBJECT (parsebin, "autoplug select returned unhandled %d",
+            ret);
+        break;
+    }
+
+    /* 2.0. Unlink pad */
+    parse_pad_set_target (parsepad, NULL);
+
+    /* 2.1. Try to create an element */
+    if ((element = gst_element_factory_create (factory, NULL)) == NULL) {
+      GST_WARNING_OBJECT (parsebin, "Could not create an element from %s",
+          gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+      g_string_append_printf (error_details,
+          "Could not create an element from %s\n",
+          gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+      continue;
+    }
+
+    /* Filter errors, this will prevent the element from causing the pipeline
+     * to error while we test it using READY state. */
+    add_error_filter (parsebin, element);
+
+    /* We don't yet want the bin to control the element's state */
+    gst_element_set_locked_state (element, TRUE);
+
+    /* ... add it ... */
+    if (!(gst_bin_add (GST_BIN_CAST (parsebin), element))) {
+      GST_WARNING_OBJECT (parsebin, "Couldn't add %s to the bin",
+          GST_ELEMENT_NAME (element));
+      remove_error_filter (parsebin, element, NULL);
+      g_string_append_printf (error_details, "Couldn't add %s to the bin\n",
+          GST_ELEMENT_NAME (element));
+      gst_object_unref (element);
+      continue;
+    }
+
+    /* Find its sink pad. */
+    sinkpad = NULL;
+    GST_OBJECT_LOCK (element);
+    if (element->sinkpads != NULL)
+      sinkpad = gst_object_ref (element->sinkpads->data);
+    GST_OBJECT_UNLOCK (element);
+
+    if (sinkpad == NULL) {
+      GST_WARNING_OBJECT (parsebin, "Element %s doesn't have a sink pad",
+          GST_ELEMENT_NAME (element));
+      remove_error_filter (parsebin, element, NULL);
+      g_string_append_printf (error_details,
+          "Element %s doesn't have a sink pad", GST_ELEMENT_NAME (element));
+      gst_bin_remove (GST_BIN (parsebin), element);
+      continue;
+    }
+
+    /* ... and try to link */
+    if ((gst_pad_link_full (pad, sinkpad,
+                GST_PAD_LINK_CHECK_NOTHING)) != GST_PAD_LINK_OK) {
+      GST_WARNING_OBJECT (parsebin, "Link failed on pad %s:%s",
+          GST_DEBUG_PAD_NAME (sinkpad));
+      remove_error_filter (parsebin, element, NULL);
+      g_string_append_printf (error_details, "Link failed on pad %s:%s",
+          GST_DEBUG_PAD_NAME (sinkpad));
+      gst_object_unref (sinkpad);
+      gst_bin_remove (GST_BIN (parsebin), element);
+      continue;
+    }
+
+    /* ... activate it ... */
+    if ((gst_element_set_state (element,
+                GST_STATE_READY)) == GST_STATE_CHANGE_FAILURE) {
+      GstMessage *error_msg;
+
+      GST_WARNING_OBJECT (parsebin, "Couldn't set %s to READY",
+          GST_ELEMENT_NAME (element));
+      remove_error_filter (parsebin, element, &error_msg);
+
+      if (error_msg) {
+        gchar *error_string = error_message_to_string (error_msg);
+        g_string_append_printf (error_details, "Couldn't set %s to READY:\n%s",
+            GST_ELEMENT_NAME (element), error_string);
+        gst_message_unref (error_msg);
+        g_free (error_string);
+      } else {
+        g_string_append_printf (error_details, "Couldn't set %s to READY",
+            GST_ELEMENT_NAME (element));
+      }
+      gst_object_unref (sinkpad);
+      gst_bin_remove (GST_BIN (parsebin), element);
+      continue;
+    }
+
+    /* check if we still accept the caps on the pad after setting
+     * the element to READY */
+    if (!gst_pad_query_accept_caps (sinkpad, caps)) {
+      GstMessage *error_msg;
+
+      GST_WARNING_OBJECT (parsebin, "Element %s does not accept caps",
+          GST_ELEMENT_NAME (element));
+
+      remove_error_filter (parsebin, element, &error_msg);
+
+      if (error_msg) {
+        gchar *error_string = error_message_to_string (error_msg);
+        g_string_append_printf (error_details,
+            "Element %s does not accept caps:\n%s", GST_ELEMENT_NAME (element),
+            error_string);
+        gst_message_unref (error_msg);
+        g_free (error_string);
+      } else {
+        g_string_append_printf (error_details,
+            "Element %s does not accept caps", GST_ELEMENT_NAME (element));
+      }
+
+      gst_element_set_state (element, GST_STATE_NULL);
+      gst_object_unref (sinkpad);
+      gst_bin_remove (GST_BIN (parsebin), element);
+      continue;
+    }
+
+    gst_object_unref (sinkpad);
+    GST_LOG_OBJECT (parsebin, "linked on pad %s:%s", GST_DEBUG_PAD_NAME (pad));
+
+    CHAIN_MUTEX_LOCK (chain);
+    delem = g_slice_new0 (GstParseElement);
+    delem->element = gst_object_ref (element);
+    delem->capsfilter = NULL;
+    chain->elements = g_list_prepend (chain->elements, delem);
+    chain->demuxer = is_demuxer_element (element);
+
+    /* If we plugging a parser, mark the chain as parsed */
+    chain->parsed |= is_parser_converter;
+
+    CHAIN_MUTEX_UNLOCK (chain);
+
+    /* Set connection-speed property if needed */
+    if (chain->demuxer) {
+      GParamSpec *pspec;
+
+      if ((pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (element),
+                  "connection-speed"))) {
+        guint64 speed = parsebin->connection_speed / 1000;
+        gboolean wrong_type = FALSE;
+
+        if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT) {
+          GParamSpecUInt *pspecuint = G_PARAM_SPEC_UINT (pspec);
+
+          speed = CLAMP (speed, pspecuint->minimum, pspecuint->maximum);
+        } else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT) {
+          GParamSpecInt *pspecint = G_PARAM_SPEC_INT (pspec);
+
+          speed = CLAMP (speed, pspecint->minimum, pspecint->maximum);
+        } else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT64) {
+          GParamSpecUInt64 *pspecuint = G_PARAM_SPEC_UINT64 (pspec);
+
+          speed = CLAMP (speed, pspecuint->minimum, pspecuint->maximum);
+        } else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT64) {
+          GParamSpecInt64 *pspecint = G_PARAM_SPEC_INT64 (pspec);
+
+          speed = CLAMP (speed, pspecint->minimum, pspecint->maximum);
+        } else {
+          GST_WARNING_OBJECT (parsebin,
+              "The connection speed property %" G_GUINT64_FORMAT " of type %s"
+              " is not usefull not setting it", speed,
+              g_type_name (G_PARAM_SPEC_TYPE (pspec)));
+          wrong_type = TRUE;
+        }
+
+        if (!wrong_type) {
+          GST_DEBUG_OBJECT (parsebin,
+              "setting connection-speed=%" G_GUINT64_FORMAT
+              " to demuxer element", speed);
+
+          g_object_set (element, "connection-speed", speed, NULL);
+        }
+      }
+    }
+
+    /* try to configure the subtitle encoding property when we can */
+    pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (element),
+        "subtitle-encoding");
+    if (pspec && G_PARAM_SPEC_VALUE_TYPE (pspec) == G_TYPE_STRING) {
+      SUBTITLE_LOCK (parsebin);
+      GST_DEBUG_OBJECT (parsebin,
+          "setting subtitle-encoding=%s to element", parsebin->encoding);
+      g_object_set (G_OBJECT (element), "subtitle-encoding", parsebin->encoding,
+          NULL);
+      SUBTITLE_UNLOCK (parsebin);
+      subtitle = TRUE;
+    } else {
+      subtitle = FALSE;
+    }
+
+    /* link this element further */
+    to_connect = connect_element (parsebin, delem, chain);
+
+    if ((is_simple_demuxer || is_parser_converter) && to_connect) {
+      GList *l;
+      for (l = to_connect; l; l = g_list_next (l)) {
+        GstPad *opad = GST_PAD_CAST (l->data);
+        GstCaps *ocaps;
+
+        ocaps = get_pad_caps (opad);
+        analyze_new_pad (parsebin, delem->element, opad, ocaps, chain);
+        if (ocaps)
+          gst_caps_unref (ocaps);
+
+        gst_object_unref (opad);
+      }
+      g_list_free (to_connect);
+      to_connect = NULL;
+    }
+
+    /* Bring the element to the state of the parent */
+
+    /* First lock element's sinkpad stream lock so no data reaches
+     * the possible new element added when caps are sent by element
+     * while we're still sending sticky events */
+    GST_PAD_STREAM_LOCK (sinkpad);
+
+    if ((gst_element_set_state (element,
+                GST_STATE_PAUSED)) == GST_STATE_CHANGE_FAILURE ||
+        !send_sticky_events (parsebin, pad)) {
+      GstParseElement *dtmp = NULL;
+      GstElement *tmp = NULL;
+      GstMessage *error_msg;
+
+      GST_PAD_STREAM_UNLOCK (sinkpad);
+
+      GST_WARNING_OBJECT (parsebin, "Couldn't set %s to PAUSED",
+          GST_ELEMENT_NAME (element));
+
+      g_list_free_full (to_connect, (GDestroyNotify) gst_object_unref);
+      to_connect = NULL;
+
+      remove_error_filter (parsebin, element, &error_msg);
+
+      if (error_msg) {
+        gchar *error_string = error_message_to_string (error_msg);
+        g_string_append_printf (error_details, "Couldn't set %s to PAUSED:\n%s",
+            GST_ELEMENT_NAME (element), error_string);
+        gst_message_unref (error_msg);
+        g_free (error_string);
+      } else {
+        g_string_append_printf (error_details, "Couldn't set %s to PAUSED",
+            GST_ELEMENT_NAME (element));
+      }
+
+      /* Remove all elements in this chain that were just added. No
+       * other thread could've added elements in the meantime */
+      CHAIN_MUTEX_LOCK (chain);
+      do {
+        GList *l;
+
+        dtmp = chain->elements->data;
+        tmp = dtmp->element;
+
+        /* Disconnect any signal handlers that might be connected
+         * in connect_element() or analyze_pad() */
+        if (dtmp->pad_added_id)
+          g_signal_handler_disconnect (tmp, dtmp->pad_added_id);
+        if (dtmp->pad_removed_id)
+          g_signal_handler_disconnect (tmp, dtmp->pad_removed_id);
+        if (dtmp->no_more_pads_id)
+          g_signal_handler_disconnect (tmp, dtmp->no_more_pads_id);
+
+        for (l = chain->pending_pads; l;) {
+          GstPendingPad *pp = l->data;
+          GList *n;
+
+          if (GST_PAD_PARENT (pp->pad) != tmp) {
+            l = l->next;
+            continue;
+          }
+
+          gst_pending_pad_free (pp);
+
+          /* Remove element from the list, update list head and go to the
+           * next element in the list */
+          n = l->next;
+          chain->pending_pads = g_list_delete_link (chain->pending_pads, l);
+          l = n;
+        }
+
+        if (dtmp->capsfilter) {
+          gst_bin_remove (GST_BIN (parsebin), dtmp->capsfilter);
+          gst_element_set_state (dtmp->capsfilter, GST_STATE_NULL);
+          gst_object_unref (dtmp->capsfilter);
+        }
+
+        gst_bin_remove (GST_BIN (parsebin), tmp);
+        gst_element_set_state (tmp, GST_STATE_NULL);
+
+        gst_object_unref (tmp);
+        g_slice_free (GstParseElement, dtmp);
+
+        chain->elements = g_list_delete_link (chain->elements, chain->elements);
+      } while (tmp != element);
+      CHAIN_MUTEX_UNLOCK (chain);
+
+      continue;
+    } else {
+      /* Everything went well, the spice must flow now */
+      GST_PAD_STREAM_UNLOCK (sinkpad);
+    }
+
+    /* Remove error filter now, from now on we can't gracefully
+     * handle errors of the element anymore */
+    remove_error_filter (parsebin, element, NULL);
+
+    /* Now let the bin handle the state */
+    gst_element_set_locked_state (element, FALSE);
+
+    if (subtitle) {
+      SUBTITLE_LOCK (parsebin);
+      /* we added the element now, add it to the list of subtitle-encoding
+       * elements when we can set the property */
+      parsebin->subtitles = g_list_prepend (parsebin->subtitles, element);
+      SUBTITLE_UNLOCK (parsebin);
+    }
+
+    if (to_connect) {
+      GList *l;
+      for (l = to_connect; l; l = g_list_next (l)) {
+        GstPad *opad = GST_PAD_CAST (l->data);
+        GstCaps *ocaps;
+
+        ocaps = get_pad_caps (opad);
+        analyze_new_pad (parsebin, delem->element, opad, ocaps, chain);
+        if (ocaps)
+          gst_caps_unref (ocaps);
+
+        gst_object_unref (opad);
+      }
+      g_list_free (to_connect);
+      to_connect = NULL;
+    }
+
+    res = TRUE;
+    break;
+  }
+
+beach:
+  if (error_details)
+    *deadend_details = g_string_free (error_details, (error_details->len == 0
+            || res));
+  else
+    *deadend_details = NULL;
+
+  return res;
+}
+
+static GstCaps *
+get_pad_caps (GstPad * pad)
+{
+  GstCaps *caps;
+
+  /* first check the pad caps, if this is set, we are positively sure it is
+   * fixed and exactly what the element will produce. */
+  caps = gst_pad_get_current_caps (pad);
+
+  /* then use the getcaps function if we don't have caps. These caps might not
+   * be fixed in some cases, in which case analyze_new_pad will set up a
+   * notify::caps signal to continue autoplugging. */
+  if (caps == NULL)
+    caps = gst_pad_query_caps (pad, NULL);
+
+  return caps;
+}
+
+/* Returns a list of pads that can be connected to already and
+ * connects to pad-added and related signals */
+static GList *
+connect_element (GstParseBin * parsebin, GstParseElement * delem,
+    GstParseChain * chain)
+{
+  GstElement *element = delem->element;
+  GList *pads;
+  gboolean dynamic = FALSE;
+  GList *to_connect = NULL;
+
+  GST_DEBUG_OBJECT (parsebin,
+      "Attempting to connect element %s [chain:%p] further",
+      GST_ELEMENT_NAME (element), chain);
+
+  /* 1. Loop over pad templates, grabbing existing pads along the way */
+  for (pads = GST_ELEMENT_GET_CLASS (element)->padtemplates; pads;
+      pads = g_list_next (pads)) {
+    GstPadTemplate *templ = GST_PAD_TEMPLATE (pads->data);
+    const gchar *templ_name;
+
+    /* we are only interested in source pads */
+    if (GST_PAD_TEMPLATE_DIRECTION (templ) != GST_PAD_SRC)
+      continue;
+
+    templ_name = GST_PAD_TEMPLATE_NAME_TEMPLATE (templ);
+    GST_DEBUG_OBJECT (parsebin, "got a source pad template %s", templ_name);
+
+    /* figure out what kind of pad this is */
+    switch (GST_PAD_TEMPLATE_PRESENCE (templ)) {
+      case GST_PAD_ALWAYS:
+      {
+        /* get the pad that we need to autoplug */
+        GstPad *pad = gst_element_get_static_pad (element, templ_name);
+
+        if (pad) {
+          GST_DEBUG_OBJECT (parsebin, "got the pad for always template %s",
+              templ_name);
+          /* here is the pad, we need to autoplug it */
+          to_connect = g_list_prepend (to_connect, pad);
+        } else {
+          /* strange, pad is marked as always but it's not
+           * there. Fix the element */
+          GST_WARNING_OBJECT (parsebin,
+              "could not get the pad for always template %s", templ_name);
+        }
+        break;
+      }
+      case GST_PAD_SOMETIMES:
+      {
+        /* try to get the pad to see if it is already created or
+         * not */
+        GstPad *pad = gst_element_get_static_pad (element, templ_name);
+
+        if (pad) {
+          GST_DEBUG_OBJECT (parsebin, "got the pad for sometimes template %s",
+              templ_name);
+          /* the pad is created, we need to autoplug it */
+          to_connect = g_list_prepend (to_connect, pad);
+        } else {
+          GST_DEBUG_OBJECT (parsebin,
+              "did not get the sometimes pad of template %s", templ_name);
+          /* we have an element that will create dynamic pads */
+          dynamic = TRUE;
+        }
+        break;
+      }
+      case GST_PAD_REQUEST:
+        /* ignore request pads */
+        GST_DEBUG_OBJECT (parsebin, "ignoring request padtemplate %s",
+            templ_name);
+        break;
+    }
+  }
+
+  /* 2. if there are more potential pads, connect to relevant signals */
+  if (dynamic) {
+    GST_LOG_OBJECT (parsebin, "Adding signals to element %s in chain %p",
+        GST_ELEMENT_NAME (element), chain);
+    delem->pad_added_id = g_signal_connect (element, "pad-added",
+        G_CALLBACK (pad_added_cb), chain);
+    delem->pad_removed_id = g_signal_connect (element, "pad-removed",
+        G_CALLBACK (pad_removed_cb), chain);
+    delem->no_more_pads_id = g_signal_connect (element, "no-more-pads",
+        G_CALLBACK (no_more_pads_cb), chain);
+  }
+
+  /* 3. return all pads that can be connected to already */
+
+  return to_connect;
+}
+
+/* expose_pad:
+ *
+ * Expose the given pad on the chain as a decoded pad.
+ */
+static void
+expose_pad (GstParseBin * parsebin, GstElement * src, GstParsePad * parsepad,
+    GstPad * pad, GstCaps * caps, GstParseChain * chain)
+{
+  GST_DEBUG_OBJECT (parsebin, "pad %s:%s, chain:%p",
+      GST_DEBUG_PAD_NAME (pad), chain);
+
+  gst_parse_pad_activate (parsepad, chain);
+  chain->endpad = gst_object_ref (parsepad);
+  if (caps)
+    chain->endcaps = gst_caps_ref (caps);
+  else
+    chain->endcaps = NULL;
+}
+
+static void
+type_found (GstElement * typefind, guint probability,
+    GstCaps * caps, GstParseBin * parse_bin)
+{
+  GstPad *pad, *sink_pad;
+
+  GST_DEBUG_OBJECT (parse_bin, "typefind found caps %" GST_PTR_FORMAT, caps);
+
+  /* If the typefinder (but not something else) finds text/plain - i.e. that's
+   * the top-level type of the file - then error out.
+   */
+  if (gst_structure_has_name (gst_caps_get_structure (caps, 0), "text/plain")) {
+    GST_ELEMENT_ERROR (parse_bin, STREAM, WRONG_TYPE,
+        (_("This appears to be a text file")),
+        ("ParseBin cannot decode plain text files"));
+    goto exit;
+  }
+
+  /* FIXME: we can only deal with one type, we don't yet support dynamically changing
+   * caps from the typefind element */
+  if (parse_bin->have_type || parse_bin->parse_chain)
+    goto exit;
+
+  parse_bin->have_type = TRUE;
+
+  pad = gst_element_get_static_pad (typefind, "src");
+  sink_pad = gst_element_get_static_pad (typefind, "sink");
+
+  /* need some lock here to prevent race with shutdown state change
+   * which might yank away e.g. parse_chain while building stuff here.
+   * In typical cases, STREAM_LOCK is held and handles that, it need not
+   * be held (if called from a proxied setcaps), so grab it anyway */
+  GST_PAD_STREAM_LOCK (sink_pad);
+  parse_bin->parse_chain = gst_parse_chain_new (parse_bin, NULL, pad, caps);
+  analyze_new_pad (parse_bin, typefind, pad, caps, parse_bin->parse_chain);
+  GST_PAD_STREAM_UNLOCK (sink_pad);
+
+  gst_object_unref (sink_pad);
+  gst_object_unref (pad);
+
+exit:
+  return;
+}
+
+static GstPadProbeReturn
+pad_event_cb (GstPad * pad, GstPadProbeInfo * info, gpointer data)
+{
+  GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+  GstPendingPad *ppad = (GstPendingPad *) data;
+  GstParseChain *chain = ppad->chain;
+  GstParseBin *parsebin = chain->parsebin;
+
+  g_assert (ppad);
+  g_assert (chain);
+  g_assert (parsebin);
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_EOS:
+      GST_DEBUG_OBJECT (pad, "Received EOS on a non final pad, this stream "
+          "ended too early");
+      chain->deadend = TRUE;
+      chain->drained = TRUE;
+      gst_object_replace ((GstObject **) & chain->current_pad, NULL);
+      /* we don't set the endcaps because NULL endcaps means early EOS */
+
+      EXPOSE_LOCK (parsebin);
+      if (parsebin->parse_chain)
+        if (gst_parse_chain_is_complete (parsebin->parse_chain))
+          gst_parse_bin_expose (parsebin);
+      EXPOSE_UNLOCK (parsebin);
+      break;
+    default:
+      break;
+  }
+  return GST_PAD_PROBE_OK;
+}
+
+static void
+pad_added_cb (GstElement * element, GstPad * pad, GstParseChain * chain)
+{
+  GstCaps *caps;
+  GstParseBin *parsebin;
+
+  parsebin = chain->parsebin;
+
+  GST_DEBUG_OBJECT (pad, "pad added, chain:%p", chain);
+
+  caps = get_pad_caps (pad);
+  analyze_new_pad (parsebin, element, pad, caps, chain);
+  if (caps)
+    gst_caps_unref (caps);
+
+  EXPOSE_LOCK (parsebin);
+  if (parsebin->parse_chain) {
+    if (gst_parse_chain_is_complete (parsebin->parse_chain)) {
+      GST_LOG_OBJECT (parsebin,
+          "That was the last dynamic object, now attempting to expose the group");
+      if (!gst_parse_bin_expose (parsebin))
+        GST_WARNING_OBJECT (parsebin, "Couldn't expose group");
+    }
+  } else {
+    GST_DEBUG_OBJECT (parsebin, "No parse chain, new pad ignored");
+  }
+  EXPOSE_UNLOCK (parsebin);
+}
+
+static void
+pad_removed_cb (GstElement * element, GstPad * pad, GstParseChain * chain)
+{
+  GList *l;
+
+  GST_LOG_OBJECT (pad, "pad removed, chain:%p", chain);
+
+  /* In fact, we don't have to do anything here, the active group will be
+   * removed when the group's multiqueue is drained */
+  CHAIN_MUTEX_LOCK (chain);
+  for (l = chain->pending_pads; l; l = l->next) {
+    GstPendingPad *ppad = l->data;
+    GstPad *opad = ppad->pad;
+
+    if (pad == opad) {
+      gst_pending_pad_free (ppad);
+      chain->pending_pads = g_list_delete_link (chain->pending_pads, l);
+      break;
+    }
+  }
+  CHAIN_MUTEX_UNLOCK (chain);
+}
+
+static void
+no_more_pads_cb (GstElement * element, GstParseChain * chain)
+{
+  GstParseGroup *group = NULL;
+
+  GST_LOG_OBJECT (element, "got no more pads");
+
+  CHAIN_MUTEX_LOCK (chain);
+  if (!chain->elements
+      || ((GstParseElement *) chain->elements->data)->element != element) {
+    GST_LOG_OBJECT (chain->parsebin, "no-more-pads from old chain element '%s'",
+        GST_OBJECT_NAME (element));
+    CHAIN_MUTEX_UNLOCK (chain);
+    return;
+  } else if (!chain->demuxer) {
+    GST_LOG_OBJECT (chain->parsebin,
+        "no-more-pads from a non-demuxer element '%s'",
+        GST_OBJECT_NAME (element));
+    CHAIN_MUTEX_UNLOCK (chain);
+    return;
+  }
+
+  /* when we received no_more_pads, we can complete the pads of the chain */
+  if (!chain->next_groups && chain->active_group) {
+    group = chain->active_group;
+  } else if (chain->next_groups) {
+    GList *iter;
+    for (iter = chain->next_groups; iter; iter = g_list_next (iter)) {
+      group = iter->data;
+      if (!group->no_more_pads)
+        break;
+    }
+  }
+  if (!group) {
+    GST_ERROR_OBJECT (chain->parsebin, "can't find group for element");
+    CHAIN_MUTEX_UNLOCK (chain);
+    return;
+  }
+
+  GST_DEBUG_OBJECT (element, "Setting group %p to complete", group);
+
+  group->no_more_pads = TRUE;
+  CHAIN_MUTEX_UNLOCK (chain);
+
+  EXPOSE_LOCK (chain->parsebin);
+  if (chain->parsebin->parse_chain) {
+    if (gst_parse_chain_is_complete (chain->parsebin->parse_chain)) {
+      gst_parse_bin_expose (chain->parsebin);
+    }
+  }
+  EXPOSE_UNLOCK (chain->parsebin);
+}
+
+static void
+caps_notify_cb (GstPad * pad, GParamSpec * unused, GstParseChain * chain)
+{
+  GstElement *element;
+  GList *l;
+
+  GST_LOG_OBJECT (pad, "Notified caps for pad %s:%s", GST_DEBUG_PAD_NAME (pad));
+
+  /* Disconnect this; if we still need it, we'll reconnect to this in
+   * analyze_new_pad */
+  element = GST_ELEMENT_CAST (gst_pad_get_parent (pad));
+
+  CHAIN_MUTEX_LOCK (chain);
+  for (l = chain->pending_pads; l; l = l->next) {
+    GstPendingPad *ppad = l->data;
+    if (ppad->pad == pad) {
+      gst_pending_pad_free (ppad);
+      chain->pending_pads = g_list_delete_link (chain->pending_pads, l);
+      break;
+    }
+  }
+  CHAIN_MUTEX_UNLOCK (chain);
+
+  pad_added_cb (element, pad, chain);
+
+  gst_object_unref (element);
+}
+
+/* Decide whether an element is a demuxer based on the
+ * klass and number/type of src pad templates it has */
+static gboolean
+is_demuxer_element (GstElement * srcelement)
+{
+  GstElementFactory *srcfactory;
+  GstElementClass *elemclass;
+  GList *walk;
+  const gchar *klass;
+  gint potential_src_pads = 0;
+
+  srcfactory = gst_element_get_factory (srcelement);
+  klass =
+      gst_element_factory_get_metadata (srcfactory, GST_ELEMENT_METADATA_KLASS);
+
+  /* Can't be a demuxer unless it has Demux in the klass name */
+  if (!strstr (klass, "Demux"))
+    return FALSE;
+
+  /* Walk the src pad templates and count how many the element
+   * might produce */
+  elemclass = GST_ELEMENT_GET_CLASS (srcelement);
+
+  walk = gst_element_class_get_pad_template_list (elemclass);
+  while (walk != NULL) {
+    GstPadTemplate *templ;
+
+    templ = (GstPadTemplate *) walk->data;
+    if (GST_PAD_TEMPLATE_DIRECTION (templ) == GST_PAD_SRC) {
+      switch (GST_PAD_TEMPLATE_PRESENCE (templ)) {
+        case GST_PAD_ALWAYS:
+        case GST_PAD_SOMETIMES:
+          if (strstr (GST_PAD_TEMPLATE_NAME_TEMPLATE (templ), "%"))
+            potential_src_pads += 2;    /* Might make multiple pads */
+          else
+            potential_src_pads += 1;
+          break;
+        case GST_PAD_REQUEST:
+          potential_src_pads += 2;
+          break;
+      }
+    }
+    walk = g_list_next (walk);
+  }
+
+  if (potential_src_pads < 2)
+    return FALSE;
+
+  return TRUE;
+}
+
+/* gst_parse_chain_get_current_group:
+ *
+ * Returns the current group of this chain, to which
+ * new chains should be attached or NULL if the last
+ * group didn't have no-more-pads.
+ *
+ * Not MT-safe: Call with parent chain lock!
+ */
+static GstParseGroup *
+gst_parse_chain_get_current_group (GstParseChain * chain)
+{
+  GstParseGroup *group;
+
+  /* Now we know that we can really return something useful */
+  if (!chain->active_group) {
+    chain->active_group = group = gst_parse_group_new (chain->parsebin, chain);
+  } else if (!chain->active_group->no_more_pads) {
+    group = chain->active_group;
+  } else {
+    GList *iter;
+    group = NULL;
+    for (iter = chain->next_groups; iter; iter = g_list_next (iter)) {
+      GstParseGroup *next_group = iter->data;
+
+      if (!next_group->no_more_pads) {
+        group = next_group;
+        break;
+      }
+    }
+  }
+  if (!group) {
+    group = gst_parse_group_new (chain->parsebin, chain);
+    chain->next_groups = g_list_append (chain->next_groups, group);
+  }
+
+  return group;
+}
+
+static void gst_parse_group_free_internal (GstParseGroup * group,
+    gboolean hide);
+
+static void
+gst_parse_chain_free_internal (GstParseChain * chain, gboolean hide)
+{
+  GList *l, *set_to_null = NULL;
+
+  CHAIN_MUTEX_LOCK (chain);
+
+  GST_DEBUG_OBJECT (chain->parsebin, "%s chain %p",
+      (hide ? "Hiding" : "Freeing"), chain);
+
+  if (chain->active_group) {
+    gst_parse_group_free_internal (chain->active_group, hide);
+    if (!hide)
+      chain->active_group = NULL;
+  }
+
+  for (l = chain->next_groups; l; l = l->next) {
+    gst_parse_group_free_internal ((GstParseGroup *) l->data, hide);
+    if (!hide)
+      l->data = NULL;
+  }
+  if (!hide) {
+    g_list_free (chain->next_groups);
+    chain->next_groups = NULL;
+  }
+
+  if (!hide) {
+    for (l = chain->old_groups; l; l = l->next) {
+      GstParseGroup *group = l->data;
+
+      gst_parse_group_free (group);
+    }
+    g_list_free (chain->old_groups);
+    chain->old_groups = NULL;
+  }
+
+  gst_object_replace ((GstObject **) & chain->current_pad, NULL);
+
+  for (l = chain->pending_pads; l; l = l->next) {
+    GstPendingPad *ppad = l->data;
+    gst_pending_pad_free (ppad);
+    l->data = NULL;
+  }
+  g_list_free (chain->pending_pads);
+  chain->pending_pads = NULL;
+
+  for (l = chain->elements; l; l = l->next) {
+    GstParseElement *delem = l->data;
+    GstElement *element = delem->element;
+
+    if (delem->pad_added_id)
+      g_signal_handler_disconnect (element, delem->pad_added_id);
+    delem->pad_added_id = 0;
+    if (delem->pad_removed_id)
+      g_signal_handler_disconnect (element, delem->pad_removed_id);
+    delem->pad_removed_id = 0;
+    if (delem->no_more_pads_id)
+      g_signal_handler_disconnect (element, delem->no_more_pads_id);
+    delem->no_more_pads_id = 0;
+
+    if (delem->capsfilter) {
+      if (GST_OBJECT_PARENT (delem->capsfilter) ==
+          GST_OBJECT_CAST (chain->parsebin))
+        gst_bin_remove (GST_BIN_CAST (chain->parsebin), delem->capsfilter);
+      if (!hide) {
+        set_to_null =
+            g_list_append (set_to_null, gst_object_ref (delem->capsfilter));
+      }
+    }
+
+    if (GST_OBJECT_PARENT (element) == GST_OBJECT_CAST (chain->parsebin))
+      gst_bin_remove (GST_BIN_CAST (chain->parsebin), element);
+    if (!hide) {
+      set_to_null = g_list_append (set_to_null, gst_object_ref (element));
+    }
+
+    SUBTITLE_LOCK (chain->parsebin);
+    /* remove possible subtitle element */
+    chain->parsebin->subtitles =
+        g_list_remove (chain->parsebin->subtitles, element);
+    SUBTITLE_UNLOCK (chain->parsebin);
+
+    if (!hide) {
+      if (delem->capsfilter) {
+        gst_object_unref (delem->capsfilter);
+        delem->capsfilter = NULL;
+      }
+
+      gst_object_unref (element);
+      l->data = NULL;
+
+      g_slice_free (GstParseElement, delem);
+    }
+  }
+  if (!hide) {
+    g_list_free (chain->elements);
+    chain->elements = NULL;
+  }
+
+  if (chain->endpad) {
+    if (chain->endpad->exposed) {
+      GstPad *endpad = GST_PAD_CAST (chain->endpad);
+      GST_DEBUG_OBJECT (chain->parsebin, "Removing pad %s:%s",
+          GST_DEBUG_PAD_NAME (endpad));
+      gst_pad_push_event (endpad, gst_event_new_eos ());
+      gst_element_remove_pad (GST_ELEMENT_CAST (chain->parsebin), endpad);
+    }
+
+    parse_pad_set_target (chain->endpad, NULL);
+    chain->endpad->exposed = FALSE;
+    if (!hide) {
+      gst_object_unref (chain->endpad);
+      chain->endpad = NULL;
+    }
+  }
+
+  if (!hide && chain->current_pad) {
+    gst_object_unref (chain->current_pad);
+    chain->current_pad = NULL;
+  }
+
+  if (chain->pad) {
+    gst_object_unref (chain->pad);
+    chain->pad = NULL;
+  }
+  if (chain->start_caps) {
+    gst_caps_unref (chain->start_caps);
+    chain->start_caps = NULL;
+  }
+
+  if (chain->endcaps) {
+    gst_caps_unref (chain->endcaps);
+    chain->endcaps = NULL;
+  }
+  g_free (chain->deadend_details);
+  chain->deadend_details = NULL;
+
+  GST_DEBUG_OBJECT (chain->parsebin, "%s chain %p", (hide ? "Hidden" : "Freed"),
+      chain);
+  CHAIN_MUTEX_UNLOCK (chain);
+
+  while (set_to_null) {
+    GstElement *element = set_to_null->data;
+    set_to_null = g_list_delete_link (set_to_null, set_to_null);
+    gst_element_set_state (element, GST_STATE_NULL);
+    gst_object_unref (element);
+  }
+
+  if (!hide) {
+    g_mutex_clear (&chain->lock);
+    g_slice_free (GstParseChain, chain);
+  }
+}
+
+/* gst_parse_chain_free:
+ *
+ * Completely frees and removes the chain and all
+ * child groups from ParseBin.
+ *
+ * MT-safe, don't hold the chain lock or any child chain's lock
+ * when calling this!
+ */
+static void
+gst_parse_chain_free (GstParseChain * chain)
+{
+  gst_parse_chain_free_internal (chain, FALSE);
+}
+
+/* gst_parse_chain_new:
+ *
+ * Creates a new parse chain and initializes it.
+ *
+ * It's up to the caller to add it to the list of child chains of
+ * a group!
+ */
+static GstParseChain *
+gst_parse_chain_new (GstParseBin * parsebin, GstParseGroup * parent,
+    GstPad * pad, GstCaps * start_caps)
+{
+  GstParseChain *chain = g_slice_new0 (GstParseChain);
+
+  GST_DEBUG_OBJECT (parsebin, "Creating new chain %p with parent group %p",
+      chain, parent);
+
+  chain->parsebin = parsebin;
+  chain->parent = parent;
+  g_mutex_init (&chain->lock);
+  chain->pad = gst_object_ref (pad);
+  if (start_caps)
+    chain->start_caps = gst_caps_ref (start_caps);
+
+  return chain;
+}
+
+/****
+ * GstParseGroup functions
+ ****/
+
+static void
+gst_parse_group_free_internal (GstParseGroup * group, gboolean hide)
+{
+  GList *l;
+
+  GST_DEBUG_OBJECT (group->parsebin, "%s group %p",
+      (hide ? "Hiding" : "Freeing"), group);
+  for (l = group->children; l; l = l->next) {
+    GstParseChain *chain = (GstParseChain *) l->data;
+
+    gst_parse_chain_free_internal (chain, hide);
+    if (!hide)
+      l->data = NULL;
+  }
+  if (!hide) {
+    g_list_free (group->children);
+    group->children = NULL;
+  }
+
+  GST_DEBUG_OBJECT (group->parsebin, "%s group %p", (hide ? "Hid" : "Freed"),
+      group);
+  if (!hide)
+    g_slice_free (GstParseGroup, group);
+}
+
+/* gst_parse_group_free:
+ *
+ * Completely frees and removes the parse group and all
+ * it's children.
+ *
+ * Never call this from any streaming thread!
+ *
+ * Not MT-safe, call with parent's chain lock!
+ */
+static void
+gst_parse_group_free (GstParseGroup * group)
+{
+  gst_parse_group_free_internal (group, FALSE);
+}
+
+/* gst_parse_group_hide:
+ *
+ * Hide the parse group only, this means that
+ * all child endpads are removed from ParseBin
+ * and all signals are unconnected.
+ *
+ * No element is set to NULL state and completely
+ * unrefed here.
+ *
+ * Can be called from streaming threads.
+ *
+ * Not MT-safe, call with parent's chain lock!
+ */
+static void
+gst_parse_group_hide (GstParseGroup * group)
+{
+  gst_parse_group_free_internal (group, TRUE);
+}
+
+/* gst_parse_chain_free_hidden_groups:
+ *
+ * Frees any parse groups that were hidden previously.
+ * This allows keeping memory use from ballooning when
+ * switching chains repeatedly.
+ *
+ * A new throwaway thread will be created to free the
+ * groups, so any delay does not block the setup of a
+ * new group.
+ *
+ * Not MT-safe, call with parent's chain lock!
+ */
+static void
+gst_parse_chain_free_hidden_groups (GList * old_groups)
+{
+  GList *l;
+
+  for (l = old_groups; l; l = l->next) {
+    GstParseGroup *group = l->data;
+
+    gst_parse_group_free (group);
+  }
+  g_list_free (old_groups);
+}
+
+static void
+gst_parse_chain_start_free_hidden_groups_thread (GstParseChain * chain)
+{
+  GThread *thread;
+  GError *error = NULL;
+  GList *old_groups;
+
+  old_groups = chain->old_groups;
+  if (!old_groups)
+    return;
+
+  chain->old_groups = NULL;
+  thread = g_thread_try_new ("free-hidden-groups",
+      (GThreadFunc) gst_parse_chain_free_hidden_groups, old_groups, &error);
+  if (!thread || error) {
+    GST_ERROR ("Failed to start free-hidden-groups thread: %s",
+        error ? error->message : "unknown reason");
+    g_clear_error (&error);
+    chain->old_groups = old_groups;
+    return;
+  }
+  GST_DEBUG_OBJECT (chain->parsebin, "Started free-hidden-groups thread");
+  /* We do not need to wait for it or get any results from it */
+  g_thread_unref (thread);
+}
+
+/* gst_parse_group_new:
+ * @parsebin: Parent ParseBin
+ * @parent: Parent chain or %NULL
+ *
+ * Creates a new GstParseGroup. It is up to the caller to add it to the list
+ * of groups.
+ */
+static GstParseGroup *
+gst_parse_group_new (GstParseBin * parsebin, GstParseChain * parent)
+{
+  GstParseGroup *group = g_slice_new0 (GstParseGroup);
+
+  GST_DEBUG_OBJECT (parsebin, "Creating new group %p with parent chain %p",
+      group, parent);
+
+  group->parsebin = parsebin;
+  group->parent = parent;
+
+  return group;
+}
+
+/* gst_parse_group_is_complete:
+ *
+ * Checks if the group is complete, this means that
+ * a) no-more-pads happened
+ * b) all child chains are complete
+ *
+ * Not MT-safe, always call with ParseBin expose lock
+ */
+static gboolean
+gst_parse_group_is_complete (GstParseGroup * group)
+{
+  GList *l;
+  gboolean complete = TRUE;
+
+  if (!group->no_more_pads) {
+    complete = FALSE;
+    goto out;
+  }
+
+  for (l = group->children; l; l = l->next) {
+    GstParseChain *chain = l->data;
+
+    /* Any blocked chain requires we complete this group
+     * since everything is synchronous, we can't proceed otherwise */
+    if (chain->endpad && chain->endpad->blocked)
+      goto out;
+
+    if (!gst_parse_chain_is_complete (chain)) {
+      complete = FALSE;
+      goto out;
+    }
+  }
+
+out:
+  GST_DEBUG_OBJECT (group->parsebin, "Group %p is complete: %d", group,
+      complete);
+  return complete;
+}
+
+/* gst_parse_chain_is_complete:
+ *
+ * Returns TRUE if the chain is complete, this means either
+ * a) This chain is a dead end, i.e. we have no suitable plugins
+ * b) This chain ends in an endpad and this is blocked or exposed
+ * c) The chain has gotten far enough to have plugged 1 parser at least.
+ *
+ * Not MT-safe, always call with ParseBin expose lock
+ */
+static gboolean
+gst_parse_chain_is_complete (GstParseChain * chain)
+{
+  gboolean complete = FALSE;
+
+  CHAIN_MUTEX_LOCK (chain);
+  if (chain->parsebin->shutdown)
+    goto out;
+
+  if (chain->deadend) {
+    complete = TRUE;
+    goto out;
+  }
+
+  if (chain->endpad && (chain->endpad->blocked || chain->endpad->exposed)) {
+    complete = TRUE;
+    goto out;
+  }
+
+  if (chain->demuxer) {
+    if (chain->active_group
+        && gst_parse_group_is_complete (chain->active_group)) {
+      complete = TRUE;
+      goto out;
+    }
+  }
+
+  if (chain->parsed) {
+    complete = TRUE;
+    goto out;
+  }
+
+out:
+  CHAIN_MUTEX_UNLOCK (chain);
+  GST_DEBUG_OBJECT (chain->parsebin, "Chain %p is complete: %d", chain,
+      complete);
+  return complete;
+}
+
+static void
+chain_remove_old_groups (GstParseChain * chain)
+{
+  GList *tmp;
+
+  /* First go in child */
+  if (chain->active_group) {
+    for (tmp = chain->active_group->children; tmp; tmp = tmp->next) {
+      GstParseChain *child = (GstParseChain *) tmp->data;
+      chain_remove_old_groups (child);
+    }
+  }
+
+  if (chain->old_groups) {
+    gst_parse_group_hide (chain->old_groups->data);
+    gst_parse_chain_start_free_hidden_groups_thread (chain);
+  }
+}
+
+static gboolean
+drain_and_switch_chains (GstParseChain * chain, GstParsePad * drainpad,
+    gboolean * last_group, gboolean * drained, gboolean * switched);
+/* drain_and_switch_chains/groups:
+ *
+ * CALL WITH CHAIN LOCK (or group parent) TAKEN !
+ *
+ * Goes down the chains/groups until it finds the chain
+ * to which the drainpad belongs.
+ *
+ * It marks that pad/chain as drained and then will figure
+ * out which group to switch to or not.
+ *
+ * last_chain will be set to TRUE if the group to which the
+ * pad belongs is the last one.
+ *
+ * drained will be set to TRUE if the chain/group is drained.
+ *
+ * Returns: TRUE if the chain contained the target pad */
+static gboolean
+drain_and_switch_group (GstParseGroup * group, GstParsePad * drainpad,
+    gboolean * last_group, gboolean * drained, gboolean * switched)
+{
+  gboolean handled = FALSE;
+  GList *tmp;
+
+  GST_DEBUG ("Checking group %p (target pad %s:%s)",
+      group, GST_DEBUG_PAD_NAME (drainpad));
+
+  /* Definitely can't be in drained groups */
+  if (G_UNLIKELY (group->drained)) {
+    goto beach;
+  }
+
+  /* Figure out if all our chains are drained with the
+   * new information */
+  group->drained = TRUE;
+  for (tmp = group->children; tmp; tmp = tmp->next) {
+    GstParseChain *chain = (GstParseChain *) tmp->data;
+    gboolean subdrained = FALSE;
+
+    handled |=
+        drain_and_switch_chains (chain, drainpad, last_group, &subdrained,
+        switched);
+    if (!subdrained)
+      group->drained = FALSE;
+  }
+
+beach:
+  GST_DEBUG ("group %p (last_group:%d, drained:%d, switched:%d, handled:%d)",
+      group, *last_group, group->drained, *switched, handled);
+  *drained = group->drained;
+  return handled;
+}
+
+static gboolean
+drain_and_switch_chains (GstParseChain * chain, GstParsePad * drainpad,
+    gboolean * last_group, gboolean * drained, gboolean * switched)
+{
+  gboolean handled = FALSE;
+  GstParseBin *parsebin = chain->parsebin;
+
+  GST_DEBUG ("Checking chain %p %s:%s (target pad %s:%s)",
+      chain, GST_DEBUG_PAD_NAME (chain->pad), GST_DEBUG_PAD_NAME (drainpad));
+
+  CHAIN_MUTEX_LOCK (chain);
+
+  /* Definitely can't be in drained chains */
+  if (G_UNLIKELY (chain->drained)) {
+    goto beach;
+  }
+
+  if (chain->endpad) {
+    /* Check if we're reached the target endchain */
+    if (drainpad != NULL && chain == drainpad->chain) {
+      GST_DEBUG ("Found the target chain");
+      drainpad->drained = TRUE;
+      handled = TRUE;
+    }
+
+    chain->drained = chain->endpad->drained;
+    goto beach;
+  }
+
+  /* We known there are groups to switch to */
+  if (chain->next_groups)
+    *last_group = FALSE;
+
+  /* Check the active group */
+  if (chain->active_group) {
+    gboolean subdrained = FALSE;
+    handled = drain_and_switch_group (chain->active_group, drainpad,
+        last_group, &subdrained, switched);
+
+    /* The group is drained, see if we can switch to another */
+    if ((handled || drainpad == NULL) && subdrained && !*switched) {
+      if (chain->next_groups) {
+        /* Switch to next group, the actual removal of the current group will
+         * be done when the next one is activated */
+        GST_DEBUG_OBJECT (parsebin, "Moving current group %p to old groups",
+            chain->active_group);
+        chain->old_groups =
+            g_list_prepend (chain->old_groups, chain->active_group);
+        GST_DEBUG_OBJECT (parsebin, "Switching to next group %p",
+            chain->next_groups->data);
+        chain->active_group = chain->next_groups->data;
+        chain->next_groups =
+            g_list_delete_link (chain->next_groups, chain->next_groups);
+        *switched = TRUE;
+        chain->drained = FALSE;
+      } else {
+        GST_DEBUG ("Group %p was the last in chain %p", chain->active_group,
+            chain);
+        chain->drained = TRUE;
+        /* We're drained ! */
+      }
+    } else {
+      if (subdrained && !chain->next_groups)
+        *drained = TRUE;
+    }
+  }
+
+beach:
+  CHAIN_MUTEX_UNLOCK (chain);
+
+  GST_DEBUG ("Chain %p (handled:%d, last_group:%d, drained:%d, switched:%d)",
+      chain, handled, *last_group, chain->drained, *switched);
+
+  *drained = chain->drained;
+
+  if (*drained)
+    g_signal_emit (parsebin, gst_parse_bin_signals[SIGNAL_DRAINED], 0, NULL);
+
+  return handled;
+}
+
+/* check if the group is drained, meaning all pads have seen an EOS
+ * event.  */
+static gboolean
+gst_parse_pad_handle_eos (GstParsePad * pad)
+{
+  gboolean last_group = TRUE;
+  gboolean switched = FALSE;
+  gboolean drained = FALSE;
+  GstParseChain *chain = pad->chain;
+  GstParseBin *parsebin = chain->parsebin;
+
+  GST_LOG_OBJECT (parsebin, "pad %p", pad);
+  EXPOSE_LOCK (parsebin);
+  if (parsebin->parse_chain) {
+    drain_and_switch_chains (parsebin->parse_chain, pad, &last_group, &drained,
+        &switched);
+
+    if (switched) {
+      /* If we resulted in a group switch, expose what's needed */
+      if (gst_parse_chain_is_complete (parsebin->parse_chain))
+        gst_parse_bin_expose (parsebin);
+    }
+  }
+  EXPOSE_UNLOCK (parsebin);
+
+  return last_group;
+}
+
+/* gst_parse_group_is_drained:
+ *
+ * Check is this group is drained and cache this result.
+ * The group is drained if all child chains are drained.
+ *
+ * Not MT-safe, call with group->parent's lock */
+static gboolean
+gst_parse_group_is_drained (GstParseGroup * group)
+{
+  GList *l;
+  gboolean drained = TRUE;
+
+  if (group->drained) {
+    drained = TRUE;
+    goto out;
+  }
+
+  for (l = group->children; l; l = l->next) {
+    GstParseChain *chain = l->data;
+
+    CHAIN_MUTEX_LOCK (chain);
+    if (!gst_parse_chain_is_drained (chain))
+      drained = FALSE;
+    CHAIN_MUTEX_UNLOCK (chain);
+    if (!drained)
+      goto out;
+  }
+  group->drained = drained;
+
+out:
+  GST_DEBUG_OBJECT (group->parsebin, "Group %p is drained: %d", group, drained);
+  return drained;
+}
+
+/* gst_parse_chain_is_drained:
+ *
+ * Check is the chain is drained, which means that
+ * either
+ *
+ * a) it's endpad is drained
+ * b) there are no pending pads, the active group is drained
+ *    and there are no next groups
+ *
+ * Not MT-safe, call with chain lock
+ */
+static gboolean
+gst_parse_chain_is_drained (GstParseChain * chain)
+{
+  gboolean drained = FALSE;
+
+  if (chain->endpad) {
+    drained = chain->endpad->drained;
+    goto out;
+  }
+
+  if (chain->pending_pads) {
+    drained = FALSE;
+    goto out;
+  }
+
+  if (chain->active_group && gst_parse_group_is_drained (chain->active_group)
+      && !chain->next_groups) {
+    drained = TRUE;
+    goto out;
+  }
+
+out:
+  GST_DEBUG_OBJECT (chain->parsebin, "Chain %p is drained: %d", chain, drained);
+  return drained;
+}
+
+/* sort_end_pads:
+ * GCompareFunc to use with lists of GstPad.
+ * Sorts pads by mime type.
+ * First video (raw, then non-raw), then audio (raw, then non-raw),
+ * then others.
+ *
+ * Return: negative if a<b, 0 if a==b, positive if a>b
+ */
+static gint
+sort_end_pads (GstParsePad * da, GstParsePad * db)
+{
+  gint va, vb;
+  GstCaps *capsa, *capsb;
+  GstStructure *sa, *sb;
+  const gchar *namea, *nameb;
+  gchar *ida, *idb;
+  gint ret;
+
+  capsa = get_pad_caps (GST_PAD_CAST (da));
+  capsb = get_pad_caps (GST_PAD_CAST (db));
+
+  sa = gst_caps_get_structure ((const GstCaps *) capsa, 0);
+  sb = gst_caps_get_structure ((const GstCaps *) capsb, 0);
+
+  namea = gst_structure_get_name (sa);
+  nameb = gst_structure_get_name (sb);
+
+  if (g_strrstr (namea, "video/x-raw"))
+    va = 0;
+  else if (g_strrstr (namea, "video/"))
+    va = 1;
+  else if (g_strrstr (namea, "image/"))
+    va = 2;
+  else if (g_strrstr (namea, "audio/x-raw"))
+    va = 3;
+  else if (g_strrstr (namea, "audio/"))
+    va = 4;
+  else
+    va = 5;
+
+  if (g_strrstr (nameb, "video/x-raw"))
+    vb = 0;
+  else if (g_strrstr (nameb, "video/"))
+    vb = 1;
+  else if (g_strrstr (nameb, "image/"))
+    vb = 2;
+  else if (g_strrstr (nameb, "audio/x-raw"))
+    vb = 3;
+  else if (g_strrstr (nameb, "audio/"))
+    vb = 4;
+  else
+    vb = 5;
+
+  gst_caps_unref (capsa);
+  gst_caps_unref (capsb);
+
+  if (va != vb)
+    return va - vb;
+
+  /* if otherwise the same, sort by stream-id */
+  ida = gst_pad_get_stream_id (GST_PAD_CAST (da));
+  idb = gst_pad_get_stream_id (GST_PAD_CAST (db));
+  ret = (ida) ? ((idb) ? strcmp (ida, idb) : -1) : 1;
+  g_free (ida);
+  g_free (idb);
+
+  return ret;
+}
+
+static gboolean
+debug_sticky_event (GstPad * pad, GstEvent ** event, gpointer user_data)
+{
+  GST_DEBUG_OBJECT (pad, "sticky event %s (%p)", GST_EVENT_TYPE_NAME (*event),
+      *event);
+  return TRUE;
+}
+
+/* Must only be called if the toplevel chain is complete and blocked! */
+/* Not MT-safe, call with ParseBin expose lock! */
+static gboolean
+gst_parse_bin_expose (GstParseBin * parsebin)
+{
+  GList *tmp, *endpads;
+  gboolean missing_plugin;
+  GString *missing_plugin_details;
+  gboolean already_exposed;
+  gboolean last_group;
+  gboolean uncollected_streams;
+  GstStreamCollection *fallback_collection = NULL;
+
+retry:
+  endpads = NULL;
+  missing_plugin = FALSE;
+  already_exposed = TRUE;
+  last_group = TRUE;
+
+  missing_plugin_details = g_string_new ("");
+
+  GST_DEBUG_OBJECT (parsebin, "Exposing currently active chains/groups");
+
+  /* Don't expose if we're currently shutting down */
+  DYN_LOCK (parsebin);
+  if (G_UNLIKELY (parsebin->shutdown)) {
+    GST_WARNING_OBJECT (parsebin,
+        "Currently, shutting down, aborting exposing");
+    DYN_UNLOCK (parsebin);
+    return FALSE;
+  }
+  DYN_UNLOCK (parsebin);
+
+  /* Get the pads that we're going to expose and mark things as exposed */
+  uncollected_streams = FALSE;
+  if (!gst_parse_chain_expose (parsebin->parse_chain, &endpads, &missing_plugin,
+          missing_plugin_details, &last_group, &uncollected_streams)) {
+    g_list_free_full (endpads, (GDestroyNotify) gst_object_unref);
+    g_string_free (missing_plugin_details, TRUE);
+    GST_ERROR_OBJECT (parsebin, "Broken chain/group tree");
+    g_return_val_if_reached (FALSE);
+    return FALSE;
+  }
+  if (endpads == NULL) {
+    if (missing_plugin) {
+      if (missing_plugin_details->len > 0) {
+        gchar *details = g_string_free (missing_plugin_details, FALSE);
+        GST_ELEMENT_ERROR (parsebin, CORE, MISSING_PLUGIN, (NULL),
+            ("no suitable plugins found:\n%s", details));
+        g_free (details);
+      } else {
+        g_string_free (missing_plugin_details, TRUE);
+        GST_ELEMENT_ERROR (parsebin, CORE, MISSING_PLUGIN, (NULL),
+            ("no suitable plugins found"));
+      }
+    } else {
+      /* in this case, the stream ended without buffers,
+       * just post a warning */
+      g_string_free (missing_plugin_details, TRUE);
+
+      GST_WARNING_OBJECT (parsebin, "All streams finished without buffers. "
+          "Last group: %d", last_group);
+      if (last_group) {
+        GST_ELEMENT_ERROR (parsebin, STREAM, FAILED, (NULL),
+            ("all streams without buffers"));
+      } else {
+        gboolean switched = FALSE;
+        gboolean drained = FALSE;
+
+        drain_and_switch_chains (parsebin->parse_chain, NULL, &last_group,
+            &drained, &switched);
+        GST_ELEMENT_WARNING (parsebin, STREAM, FAILED, (NULL),
+            ("all streams without buffers"));
+        if (switched) {
+          if (gst_parse_chain_is_complete (parsebin->parse_chain))
+            goto retry;
+          else
+            return FALSE;
+        }
+      }
+    }
+
+    do_async_done (parsebin);
+    return FALSE;
+  }
+
+  if (uncollected_streams) {
+    /* FIXME: Collect and use a stream id from the top chain as
+     * upstream ID? */
+    fallback_collection = gst_stream_collection_new (NULL);
+
+    build_fallback_collection (parsebin->parse_chain, fallback_collection);
+
+    gst_element_post_message (GST_ELEMENT (parsebin),
+        gst_message_new_stream_collection (GST_OBJECT (parsebin),
+            fallback_collection));
+  }
+
+  g_string_free (missing_plugin_details, TRUE);
+
+  /* Check if this was called when everything was exposed already,
+   * and see if we need to post a new fallback collection */
+  for (tmp = endpads; tmp && already_exposed; tmp = tmp->next) {
+    GstParsePad *parsepad = tmp->data;
+
+    already_exposed &= parsepad->exposed;
+  }
+  if (already_exposed) {
+    GST_DEBUG_OBJECT (parsebin, "Everything was exposed already!");
+    if (fallback_collection)
+      gst_object_unref (fallback_collection);
+    g_list_free_full (endpads, (GDestroyNotify) gst_object_unref);
+    return TRUE;
+  }
+
+  /* Set all already exposed pads to blocked */
+  for (tmp = endpads; tmp; tmp = tmp->next) {
+    GstParsePad *parsepad = tmp->data;
+
+    if (parsepad->exposed) {
+      GST_DEBUG_OBJECT (parsepad, "blocking exposed pad");
+      gst_parse_pad_set_blocked (parsepad, TRUE);
+    }
+  }
+
+  /* re-order pads : video, then audio, then others */
+  endpads = g_list_sort (endpads, (GCompareFunc) sort_end_pads);
+
+  /* Expose pads */
+  for (tmp = endpads; tmp; tmp = tmp->next) {
+    GstParsePad *parsepad = (GstParsePad *) tmp->data;
+    gchar *padname;
+
+    //if (!parsepad->blocked)
+    //continue;
+
+    /* 1. rewrite name */
+    padname = g_strdup_printf ("src_%u", parsebin->nbpads);
+    parsebin->nbpads++;
+    GST_DEBUG_OBJECT (parsebin, "About to expose parsepad %s as %s",
+        GST_OBJECT_NAME (parsepad), padname);
+    gst_object_set_name (GST_OBJECT (parsepad), padname);
+    g_free (padname);
+
+    gst_pad_sticky_events_foreach (GST_PAD_CAST (parsepad), debug_sticky_event,
+        parsepad);
+
+    /* 2. activate and add */
+    if (!parsepad->exposed) {
+      parsepad->exposed = TRUE;
+      if (!gst_element_add_pad (GST_ELEMENT (parsebin),
+              GST_PAD_CAST (parsepad))) {
+        /* not really fatal, we can try to add the other pads */
+        g_warning ("error adding pad to ParseBin");
+        parsepad->exposed = FALSE;
+        continue;
+      }
+#if 0
+      /* HACK: Send an empty gap event to push sticky events */
+      gst_pad_push_event (GST_PAD (parsepad),
+          gst_event_new_gap (0, GST_CLOCK_TIME_NONE));
+#endif
+    }
+
+    GST_INFO_OBJECT (parsepad, "added new decoded pad");
+  }
+
+  /* Unblock internal pads. The application should have connected stuff now
+   * so that streaming can continue. */
+  for (tmp = endpads; tmp; tmp = tmp->next) {
+    GstParsePad *parsepad = (GstParsePad *) tmp->data;
+
+    if (parsepad->exposed) {
+      GST_DEBUG_OBJECT (parsepad, "unblocking");
+      gst_parse_pad_unblock (parsepad);
+      GST_DEBUG_OBJECT (parsepad, "unblocked");
+    }
+
+    /* Send stream-collection events for any pads that don't have them,
+     * and post a stream-collection onto the bus */
+    if (parsepad->active_collection == NULL && fallback_collection) {
+      gst_pad_push_event (GST_PAD (parsepad),
+          gst_event_new_stream_collection (gst_object_ref
+              (fallback_collection)));
+    }
+    gst_object_unref (parsepad);
+  }
+  g_list_free (endpads);
+
+  if (fallback_collection)
+    gst_object_unref (fallback_collection);
+
+  /* Remove old groups */
+  chain_remove_old_groups (parsebin->parse_chain);
+
+  do_async_done (parsebin);
+  GST_DEBUG_OBJECT (parsebin, "Exposed everything");
+  return TRUE;
+}
+
+/* gst_parse_chain_expose:
+ *
+ * Check if the chain can be exposed and add all endpads
+ * to the endpads list.
+ *
+ * Not MT-safe, call with ParseBin expose lock! *
+ */
+static gboolean
+gst_parse_chain_expose (GstParseChain * chain, GList ** endpads,
+    gboolean * missing_plugin, GString * missing_plugin_details,
+    gboolean * last_group, gboolean * uncollected_streams)
+{
+  GstParseGroup *group;
+  GList *l;
+  gboolean ret = FALSE;
+
+  if (chain->deadend) {
+    if (chain->endcaps) {
+      if (chain->deadend_details) {
+        g_string_append (missing_plugin_details, chain->deadend_details);
+        g_string_append_c (missing_plugin_details, '\n');
+      } else {
+        gchar *desc = gst_pb_utils_get_codec_description (chain->endcaps);
+        gchar *caps_str = gst_caps_to_string (chain->endcaps);
+        g_string_append_printf (missing_plugin_details,
+            "Missing decoder: %s (%s)\n", desc, caps_str);
+        g_free (caps_str);
+        g_free (desc);
+      }
+      *missing_plugin = TRUE;
+    }
+    return TRUE;
+  }
+
+  if (chain->endpad == NULL && chain->parsed && chain->pending_pads) {
+    /* The chain has a pending pad from a parser, let's just
+     * expose that now as the endpad */
+    GList *cur = chain->pending_pads;
+    GstPendingPad *ppad = (GstPendingPad *) (cur->data);
+    GstPad *endpad = gst_object_ref (ppad->pad);
+    GstElement *elem =
+        GST_ELEMENT (gst_object_get_parent (GST_OBJECT (endpad)));
+
+    chain->pending_pads = g_list_remove (chain->pending_pads, ppad);
+
+    gst_pending_pad_free (ppad);
+
+    GST_DEBUG_OBJECT (chain->parsebin,
+        "Exposing pad %" GST_PTR_FORMAT " with incomplete caps "
+        "because it's parsed", endpad);
+
+    expose_pad (chain->parsebin, elem, chain->current_pad, endpad, NULL, chain);
+    gst_object_unref (endpad);
+    gst_object_unref (elem);
+  }
+
+  if (chain->endpad) {
+    GstParsePad *p = chain->endpad;
+
+    if (p->active_stream && p->active_collection == NULL
+        && !p->in_a_fallback_collection)
+      *uncollected_streams = TRUE;
+
+    *endpads = g_list_prepend (*endpads, gst_object_ref (p));
+    return TRUE;
+  }
+
+  if (chain->next_groups)
+    *last_group = FALSE;
+
+  group = chain->active_group;
+  if (!group) {
+    GstParsePad *p = chain->current_pad;
+
+    if (p->active_stream && p->active_collection == NULL
+        && !p->in_a_fallback_collection)
+      *uncollected_streams = TRUE;
+
+    return FALSE;
+  }
+
+  for (l = group->children; l; l = l->next) {
+    GstParseChain *childchain = l->data;
+
+    ret |= gst_parse_chain_expose (childchain, endpads, missing_plugin,
+        missing_plugin_details, last_group, uncollected_streams);
+  }
+
+  return ret;
+}
+
+static void
+build_fallback_collection (GstParseChain * chain,
+    GstStreamCollection * collection)
+{
+  GstParseGroup *group = chain->active_group;
+  GList *l;
+
+  /* If it's an end pad, or a not-finished chain that's
+   * not a group, put it in the collection */
+  if (chain->endpad || (chain->current_pad && group == NULL)) {
+    GstParsePad *p = chain->current_pad;
+
+    if (p->active_stream != NULL && p->active_collection == NULL) {
+      GST_DEBUG_OBJECT (p, "Adding stream to fallback collection");
+      gst_stream_collection_add_stream (collection,
+          gst_object_ref (p->active_stream));
+      p->in_a_fallback_collection = TRUE;
+    }
+    return;
+  }
+
+  if (!group)
+    return;
+  for (l = group->children; l; l = l->next) {
+    GstParseChain *childchain = l->data;
+
+    build_fallback_collection (childchain, collection);
+  }
+}
+
+/*************************
+ * GstParsePad functions
+ *************************/
+
+static void gst_parse_pad_dispose (GObject * object);
+
+static void
+gst_parse_pad_class_init (GstParsePadClass * klass)
+{
+  GObjectClass *gobject_klass;
+
+  gobject_klass = (GObjectClass *) klass;
+
+  gobject_klass->dispose = gst_parse_pad_dispose;
+}
+
+static void
+gst_parse_pad_init (GstParsePad * pad)
+{
+  pad->chain = NULL;
+  pad->blocked = FALSE;
+  pad->exposed = FALSE;
+  pad->drained = FALSE;
+  gst_object_ref_sink (pad);
+}
+
+static void
+gst_parse_pad_dispose (GObject * object)
+{
+  GstParsePad *parsepad = (GstParsePad *) (object);
+  parse_pad_set_target (parsepad, NULL);
+
+  gst_object_replace ((GstObject **) & parsepad->active_collection, NULL);
+  gst_object_replace ((GstObject **) & parsepad->active_stream, NULL);
+
+  G_OBJECT_CLASS (gst_parse_pad_parent_class)->dispose (object);
+}
+
+static GstPadProbeReturn
+source_pad_blocked_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  GstParsePad *parsepad = user_data;
+  GstParseChain *chain;
+  GstParseBin *parsebin;
+  GstPadProbeReturn ret = GST_PAD_PROBE_OK;
+
+  if (GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) {
+    GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+
+    GST_LOG_OBJECT (pad, "Seeing event '%s'", GST_EVENT_TYPE_NAME (event));
+
+    if (!GST_EVENT_IS_SERIALIZED (event)) {
+      /* do not block on sticky or out of band events otherwise the allocation query
+         from demuxer might block the loop thread */
+      GST_LOG_OBJECT (pad, "Letting OOB event through");
+      return GST_PAD_PROBE_PASS;
+    }
+
+    if (GST_EVENT_IS_STICKY (event) && GST_EVENT_TYPE (event) != GST_EVENT_EOS) {
+      GstPad *peer;
+
+      /* manually push sticky events to ghost pad to avoid exposing pads
+       * that don't have the sticky events. Handle EOS separately as we
+       * want to block the pad on it if we didn't get any buffers before
+       * EOS and expose the pad then. */
+      peer = gst_pad_get_peer (pad);
+      gst_pad_send_event (peer, gst_event_ref (event));
+      gst_object_unref (peer);
+      GST_LOG_OBJECT (pad, "Manually pushed sticky event through");
+      ret = GST_PAD_PROBE_HANDLED;
+      goto done;
+    }
+  } else if (GST_PAD_PROBE_INFO_TYPE (info) &
+      GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM) {
+    GstQuery *query = GST_PAD_PROBE_INFO_QUERY (info);
+
+    if (!GST_QUERY_IS_SERIALIZED (query)) {
+      /* do not block on non-serialized queries */
+      GST_LOG_OBJECT (pad, "Letting non-serialized query through");
+      return GST_PAD_PROBE_PASS;
+    }
+    if (!gst_pad_has_current_caps (pad)) {
+      /* do not block on allocation queries before we have caps,
+       * this would deadlock because we are doing no autoplugging
+       * without caps.
+       * TODO: Try to do autoplugging based on the query caps
+       */
+      GST_LOG_OBJECT (pad, "Letting serialized query before caps through");
+      return GST_PAD_PROBE_PASS;
+    }
+  }
+  chain = parsepad->chain;
+  parsebin = chain->parsebin;
+
+  GST_LOG_OBJECT (parsepad, "blocked: parsepad->chain:%p", chain);
+
+  parsepad->blocked = TRUE;
+
+  EXPOSE_LOCK (parsebin);
+  if (parsebin->parse_chain) {
+    if (!gst_parse_bin_expose (parsebin))
+      GST_WARNING_OBJECT (parsebin, "Couldn't expose group");
+  }
+  EXPOSE_UNLOCK (parsebin);
+
+done:
+  return ret;
+}
+
+/* FIXME: We can probably do some cleverer things, and maybe move this into
+ * pbutils. Ideas:
+ *    if there are tags look if it's got an AUDIO_CODEC VIDEO_CODEC CONTAINER_FORMAT tag
+ *    Look at the factory klass designation of parsers in the chain
+ *    Consider demuxer pad names as well, sometimes they give the type away
+ */
+static GstStreamType
+guess_stream_type_from_caps (GstCaps * caps)
+{
+  GstStructure *s;
+  const gchar *name;
+
+  if (gst_caps_get_size (caps) < 1)
+    return GST_STREAM_TYPE_UNKNOWN;
+
+  s = gst_caps_get_structure (caps, 0);
+  name = gst_structure_get_name (s);
+
+  if (g_str_has_prefix (name, "video/") || g_str_has_prefix (name, "image/"))
+    return GST_STREAM_TYPE_VIDEO;
+  if (g_str_has_prefix (name, "audio/"))
+    return GST_STREAM_TYPE_AUDIO;
+  if (g_str_has_prefix (name, "text/") ||
+      g_str_has_prefix (name, "subpicture/"))
+    return GST_STREAM_TYPE_TEXT;
+
+  return GST_STREAM_TYPE_UNKNOWN;
+}
+
+static void
+gst_parse_pad_update_caps (GstParsePad * parsepad, GstCaps * caps)
+{
+  if (caps && parsepad->active_stream) {
+    GST_DEBUG_OBJECT (parsepad, "Storing caps %" GST_PTR_FORMAT
+        " on stream %" GST_PTR_FORMAT, caps, parsepad->active_stream);
+
+    if (gst_caps_is_fixed (caps))
+      gst_stream_set_caps (parsepad->active_stream, caps);
+    /* intuit a type */
+    if (gst_stream_get_stream_type (parsepad->active_stream) ==
+        GST_STREAM_TYPE_UNKNOWN) {
+      GstStreamType new_type = guess_stream_type_from_caps (caps);
+      if (new_type != GST_STREAM_TYPE_UNKNOWN)
+        gst_stream_set_stream_type (parsepad->active_stream, new_type);
+    }
+  }
+}
+
+static void
+gst_parse_pad_update_tags (GstParsePad * parsepad, GstTagList * tags)
+{
+  if (tags && parsepad->active_stream) {
+    GST_DEBUG_OBJECT (parsepad, "Storing new tags %" GST_PTR_FORMAT
+        " on stream %" GST_PTR_FORMAT, tags, parsepad->active_stream);
+    gst_stream_set_tags (parsepad->active_stream, tags);
+  }
+}
+
+static GstEvent *
+gst_parse_pad_stream_start_event (GstParsePad * parsepad, GstEvent * event)
+{
+  GstStream *stream = NULL;
+  const gchar *stream_id = NULL;
+  gboolean repeat_event = FALSE;
+
+  gst_event_parse_stream_start (event, &stream_id);
+
+  if (parsepad->active_stream != NULL &&
+      g_str_equal (parsepad->active_stream->stream_id, stream_id))
+    repeat_event = TRUE;
+  else {
+    /* A new stream requires a new collection event, or else
+     * we'll place it in a fallback collection later */
+    gst_object_replace ((GstObject **) & parsepad->active_collection, NULL);
+    parsepad->in_a_fallback_collection = FALSE;
+  }
+
+  gst_event_parse_stream (event, &stream);
+  if (stream == NULL) {
+    GstCaps *caps = gst_pad_get_current_caps (GST_PAD_CAST (parsepad));
+    if (caps == NULL) {
+      /* Try and get caps from the parsepad peer */
+      GstPad *peer = gst_ghost_pad_get_target (GST_GHOST_PAD (parsepad));
+      caps = gst_pad_get_current_caps (peer);
+      gst_object_unref (peer);
+    }
+    if (caps == NULL && parsepad->chain && parsepad->chain->start_caps) {
+      /* Still no caps, use the chain start caps */
+      caps = gst_caps_ref (parsepad->chain->start_caps);
+    }
+
+    GST_DEBUG_OBJECT (parsepad,
+        "Saw stream_start with no GstStream. Adding one. Caps %"
+        GST_PTR_FORMAT, caps);
+
+    if (repeat_event) {
+      stream = gst_object_ref (parsepad->active_stream);
+    } else {
+      stream =
+          gst_stream_new (stream_id, NULL, GST_STREAM_TYPE_UNKNOWN,
+          GST_STREAM_FLAG_NONE);
+      gst_object_replace ((GstObject **) & parsepad->active_stream,
+          (GstObject *) stream);
+    }
+    if (caps)
+      gst_parse_pad_update_caps (parsepad, caps);
+
+    event = gst_event_make_writable (event);
+    gst_event_set_stream (event, stream);
+  }
+  gst_object_unref (stream);
+  GST_LOG_OBJECT (parsepad, "Saw stream %s (GstStream %p)",
+      stream->stream_id, stream);
+
+  return event;
+}
+
+static void
+gst_parse_pad_update_stream_collection (GstParsePad * parsepad,
+    GstStreamCollection * collection)
+{
+  GST_LOG_OBJECT (parsepad, "Got new stream collection %p", collection);
+  gst_object_replace ((GstObject **) & parsepad->active_collection,
+      (GstObject *) collection);
+  parsepad->in_a_fallback_collection = FALSE;
+}
+
+static GstPadProbeReturn
+gst_parse_pad_event (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+  GstObject *parent = gst_pad_get_parent (pad);
+  GstParsePad *parsepad = GST_PARSE_PAD (parent);
+  gboolean forwardit = TRUE;
+
+  GST_LOG_OBJECT (pad, "%s parsepad:%p", GST_EVENT_TYPE_NAME (event), parsepad);
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_CAPS:{
+      GstCaps *caps = NULL;
+      gst_event_parse_caps (event, &caps);
+      gst_parse_pad_update_caps (parsepad, caps);
+      break;
+    }
+    case GST_EVENT_TAG:{
+      GstTagList *tags;
+      gst_event_parse_tag (event, &tags);
+      gst_parse_pad_update_tags (parsepad, tags);
+      break;
+    }
+    case GST_EVENT_STREAM_START:{
+      GST_PAD_PROBE_INFO_DATA (info) =
+          gst_parse_pad_stream_start_event (parsepad, event);
+      break;
+    }
+    case GST_EVENT_STREAM_COLLECTION:{
+      GstStreamCollection *collection = NULL;
+      gst_event_parse_stream_collection (event, &collection);
+      gst_parse_pad_update_stream_collection (parsepad, collection);
+      break;
+    }
+    case GST_EVENT_EOS:{
+      GST_DEBUG_OBJECT (pad, "we received EOS");
+
+      /* Check if all pads are drained.
+       * * If there is no next group, we will let the EOS go through.
+       * * If there is a next group but the current group isn't completely
+       *   drained, we will drop the EOS event.
+       * * If there is a next group to expose and this was the last non-drained
+       *   pad for that group, we will remove the ghostpad of the current group
+       *   first, which unlinks the peer and so drops the EOS. */
+      forwardit = gst_parse_pad_handle_eos (parsepad);
+    }
+    default:
+      break;
+  }
+  gst_object_unref (parent);
+  if (forwardit)
+    return GST_PAD_PROBE_OK;
+  else
+    return GST_PAD_PROBE_DROP;
+}
+
+static void
+gst_parse_pad_set_blocked (GstParsePad * parsepad, gboolean blocked)
+{
+  GstParseBin *parsebin = parsepad->parsebin;
+  GstPad *opad;
+
+  DYN_LOCK (parsebin);
+
+  GST_DEBUG_OBJECT (parsepad, "blocking pad: %d", blocked);
+
+  opad = gst_ghost_pad_get_target (GST_GHOST_PAD_CAST (parsepad));
+  if (!opad)
+    goto out;
+
+  /* do not block if shutting down.
+   * we do not consider/expect it blocked further below, but use other trick */
+  if (!blocked || !parsebin->shutdown) {
+    if (blocked) {
+      if (parsepad->block_id == 0)
+        parsepad->block_id =
+            gst_pad_add_probe (opad,
+            GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM |
+            GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM, source_pad_blocked_cb,
+            gst_object_ref (parsepad), (GDestroyNotify) gst_object_unref);
+    } else {
+      if (parsepad->block_id != 0) {
+        gst_pad_remove_probe (opad, parsepad->block_id);
+        parsepad->block_id = 0;
+      }
+      parsepad->blocked = FALSE;
+    }
+  }
+
+  if (blocked) {
+    if (parsebin->shutdown) {
+      /* deactivate to force flushing state to prevent NOT_LINKED errors */
+      gst_pad_set_active (GST_PAD_CAST (parsepad), FALSE);
+      /* note that deactivating the target pad would have no effect here,
+       * since elements are typically connected first (and pads exposed),
+       * and only then brought to PAUSED state (so pads activated) */
+    } else {
+      gst_object_ref (parsepad);
+      parsebin->blocked_pads =
+          g_list_prepend (parsebin->blocked_pads, parsepad);
+    }
+  } else {
+    GList *l;
+
+    if ((l = g_list_find (parsebin->blocked_pads, parsepad))) {
+      gst_object_unref (parsepad);
+      parsebin->blocked_pads = g_list_delete_link (parsebin->blocked_pads, l);
+    }
+  }
+  gst_object_unref (opad);
+out:
+  DYN_UNLOCK (parsebin);
+}
+
+static void
+gst_parse_pad_activate (GstParsePad * parsepad, GstParseChain * chain)
+{
+  g_return_if_fail (chain != NULL);
+
+  parsepad->chain = chain;
+  gst_pad_set_active (GST_PAD_CAST (parsepad), TRUE);
+  gst_parse_pad_set_blocked (parsepad, TRUE);
+}
+
+static void
+gst_parse_pad_unblock (GstParsePad * parsepad)
+{
+  gst_parse_pad_set_blocked (parsepad, FALSE);
+}
+
+static gboolean
+gst_parse_pad_query (GstPad * pad, GstObject * parent, GstQuery * query)
+{
+  GstParsePad *parsepad = GST_PARSE_PAD (parent);
+  gboolean ret = FALSE;
+
+  CHAIN_MUTEX_LOCK (parsepad->chain);
+  if (!parsepad->exposed && !parsepad->parsebin->shutdown
+      && !parsepad->chain->deadend && parsepad->chain->elements) {
+    GstParseElement *delem = parsepad->chain->elements->data;
+
+    ret = FALSE;
+    GST_DEBUG_OBJECT (parsepad->parsebin,
+        "calling autoplug-query for %s (element %s): %" GST_PTR_FORMAT,
+        GST_PAD_NAME (parsepad), GST_ELEMENT_NAME (delem->element), query);
+    g_signal_emit (G_OBJECT (parsepad->parsebin),
+        gst_parse_bin_signals[SIGNAL_AUTOPLUG_QUERY], 0, parsepad,
+        delem->element, query, &ret);
+
+    if (ret)
+      GST_DEBUG_OBJECT (parsepad->parsebin,
+          "autoplug-query returned %d: %" GST_PTR_FORMAT, ret, query);
+    else
+      GST_DEBUG_OBJECT (parsepad->parsebin, "autoplug-query returned %d", ret);
+  }
+  CHAIN_MUTEX_UNLOCK (parsepad->chain);
+
+  /* If exposed or nothing handled the query use the default handler */
+  if (!ret)
+    ret = gst_pad_query_default (pad, parent, query);
+
+  return ret;
+}
+
+/*gst_parse_pad_new:
+ *
+ * Creates a new GstParsePad for the given pad.
+ */
+static GstParsePad *
+gst_parse_pad_new (GstParseBin * parsebin, GstParseChain * chain)
+{
+  GstParsePad *parsepad;
+  GstProxyPad *ppad;
+  GstPadTemplate *pad_tmpl;
+
+  GST_DEBUG_OBJECT (parsebin, "making new decodepad");
+  pad_tmpl = gst_static_pad_template_get (&decoder_bin_src_template);
+  parsepad =
+      g_object_new (GST_TYPE_PARSE_PAD, "direction", GST_PAD_SRC,
+      "template", pad_tmpl, NULL);
+  gst_ghost_pad_construct (GST_GHOST_PAD_CAST (parsepad));
+  parsepad->chain = chain;
+  parsepad->parsebin = parsebin;
+  gst_object_unref (pad_tmpl);
+
+  ppad = gst_proxy_pad_get_internal (GST_PROXY_PAD (parsepad));
+  gst_pad_set_query_function (GST_PAD_CAST (ppad), gst_parse_pad_query);
+
+  /* Add downstream event probe */
+  GST_LOG_OBJECT (parsepad, "Adding event probe on internal pad %"
+      GST_PTR_FORMAT, ppad);
+  gst_pad_add_probe (GST_PAD_CAST (ppad),
+      GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, gst_parse_pad_event, parsepad, NULL);
+  gst_object_unref (ppad);
+
+  return parsepad;
+}
+
+static void
+gst_pending_pad_free (GstPendingPad * ppad)
+{
+  g_assert (ppad);
+  g_assert (ppad->pad);
+
+  if (ppad->event_probe_id != 0)
+    gst_pad_remove_probe (ppad->pad, ppad->event_probe_id);
+  if (ppad->notify_caps_id)
+    g_signal_handler_disconnect (ppad->pad, ppad->notify_caps_id);
+  gst_object_unref (ppad->pad);
+  g_slice_free (GstPendingPad, ppad);
+}
+
+/*****
+ * Element add/remove
+ *****/
+
+static void
+do_async_start (GstParseBin * parsebin)
+{
+  GstMessage *message;
+
+  parsebin->async_pending = TRUE;
+
+  message = gst_message_new_async_start (GST_OBJECT_CAST (parsebin));
+  parent_class->handle_message (GST_BIN_CAST (parsebin), message);
+}
+
+static void
+do_async_done (GstParseBin * parsebin)
+{
+  GstMessage *message;
+
+  if (parsebin->async_pending) {
+    message =
+        gst_message_new_async_done (GST_OBJECT_CAST (parsebin),
+        GST_CLOCK_TIME_NONE);
+    parent_class->handle_message (GST_BIN_CAST (parsebin), message);
+
+    parsebin->async_pending = FALSE;
+  }
+}
+
+/* call with dyn_lock held */
+static void
+unblock_pads (GstParseBin * parsebin)
+{
+  GList *tmp;
+
+  GST_LOG_OBJECT (parsebin, "unblocking pads");
+
+  for (tmp = parsebin->blocked_pads; tmp; tmp = tmp->next) {
+    GstParsePad *parsepad = (GstParsePad *) tmp->data;
+    GstPad *opad;
+
+    opad = gst_ghost_pad_get_target (GST_GHOST_PAD_CAST (parsepad));
+    if (!opad)
+      continue;
+
+    GST_DEBUG_OBJECT (parsepad, "unblocking");
+    if (parsepad->block_id != 0) {
+      gst_pad_remove_probe (opad, parsepad->block_id);
+      parsepad->block_id = 0;
+    }
+    parsepad->blocked = FALSE;
+    /* make flushing, prevent NOT_LINKED */
+    gst_pad_set_active (GST_PAD_CAST (parsepad), FALSE);
+    gst_object_unref (parsepad);
+    gst_object_unref (opad);
+    GST_DEBUG_OBJECT (parsepad, "unblocked");
+  }
+
+  /* clear, no more blocked pads */
+  g_list_free (parsebin->blocked_pads);
+  parsebin->blocked_pads = NULL;
+}
+
+static GstStateChangeReturn
+gst_parse_bin_change_state (GstElement * element, GstStateChange transition)
+{
+  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
+  GstParseBin *parsebin = GST_PARSE_BIN (element);
+  GstParseChain *chain_to_free = NULL;
+
+  switch (transition) {
+    case GST_STATE_CHANGE_NULL_TO_READY:
+      if (parsebin->typefind == NULL)
+        goto missing_typefind;
+      break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      /* Make sure we've cleared all existing chains */
+      EXPOSE_LOCK (parsebin);
+      if (parsebin->parse_chain) {
+        gst_parse_chain_free (parsebin->parse_chain);
+        parsebin->parse_chain = NULL;
+      }
+      EXPOSE_UNLOCK (parsebin);
+      DYN_LOCK (parsebin);
+      GST_LOG_OBJECT (parsebin, "clearing shutdown flag");
+      parsebin->shutdown = FALSE;
+      DYN_UNLOCK (parsebin);
+      parsebin->have_type = FALSE;
+      ret = GST_STATE_CHANGE_ASYNC;
+      do_async_start (parsebin);
+
+
+      /* connect a signal to find out when the typefind element found
+       * a type */
+      parsebin->have_type_id =
+          g_signal_connect (parsebin->typefind, "have-type",
+          G_CALLBACK (type_found), parsebin);
+      break;
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      if (parsebin->have_type_id)
+        g_signal_handler_disconnect (parsebin->typefind,
+            parsebin->have_type_id);
+      parsebin->have_type_id = 0;
+      DYN_LOCK (parsebin);
+      GST_LOG_OBJECT (parsebin, "setting shutdown flag");
+      parsebin->shutdown = TRUE;
+      unblock_pads (parsebin);
+      DYN_UNLOCK (parsebin);
+    default:
+      break;
+  }
+
+  {
+    GstStateChangeReturn bret;
+
+    bret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+    if (G_UNLIKELY (bret == GST_STATE_CHANGE_FAILURE))
+      goto activate_failed;
+    else if (G_UNLIKELY (bret == GST_STATE_CHANGE_NO_PREROLL)) {
+      do_async_done (parsebin);
+      ret = bret;
+    }
+  }
+  switch (transition) {
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      do_async_done (parsebin);
+      EXPOSE_LOCK (parsebin);
+      if (parsebin->parse_chain) {
+        chain_to_free = parsebin->parse_chain;
+        gst_parse_chain_free_internal (parsebin->parse_chain, TRUE);
+        parsebin->parse_chain = NULL;
+      }
+      EXPOSE_UNLOCK (parsebin);
+      if (chain_to_free)
+        gst_parse_chain_free (chain_to_free);
+      break;
+    case GST_STATE_CHANGE_READY_TO_NULL:
+    default:
+      break;
+  }
+
+  return ret;
+
+/* ERRORS */
+missing_typefind:
+  {
+    gst_element_post_message (element,
+        gst_missing_element_message_new (element, "typefind"));
+    GST_ELEMENT_ERROR (parsebin, CORE, MISSING_PLUGIN, (NULL),
+        ("no typefind!"));
+    return GST_STATE_CHANGE_FAILURE;
+  }
+activate_failed:
+  {
+    GST_DEBUG_OBJECT (element,
+        "element failed to change states -- activation problem?");
+    do_async_done (parsebin);
+    return GST_STATE_CHANGE_FAILURE;
+  }
+}
+
+static void
+gst_parse_bin_handle_message (GstBin * bin, GstMessage * msg)
+{
+  GstParseBin *parsebin = GST_PARSE_BIN (bin);
+  gboolean drop = FALSE;
+
+  switch (GST_MESSAGE_TYPE (msg)) {
+    case GST_MESSAGE_ERROR:{
+      GST_OBJECT_LOCK (parsebin);
+      drop = (g_list_find (parsebin->filtered, GST_MESSAGE_SRC (msg)) != NULL);
+      if (drop)
+        parsebin->filtered_errors =
+            g_list_prepend (parsebin->filtered_errors, gst_message_ref (msg));
+      GST_OBJECT_UNLOCK (parsebin);
+      break;
+    }
+    default:
+      break;
+  }
+
+  if (drop)
+    gst_message_unref (msg);
+  else
+    GST_BIN_CLASS (parent_class)->handle_message (bin, msg);
+}
+
+gboolean
+gst_parse_bin_plugin_init (GstPlugin * plugin)
+{
+  GST_DEBUG_CATEGORY_INIT (gst_parse_bin_debug, "parsebin", 0, "parser bin");
+
+  return gst_element_register (plugin, "parsebin", GST_RANK_NONE,
+      GST_TYPE_PARSE_BIN);
+}
diff --git a/gst/playback/gstplayback.c b/gst/playback/gstplayback.c
index 882a7ec..4789db6 100644
--- a/gst/playback/gstplayback.c
+++ b/gst/playback/gstplayback.c
@@ -46,13 +46,25 @@
   bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 #endif /* ENABLE_NLS */
 
-  res = gst_play_bin2_plugin_init (plugin);
+  /* Swap in playbin3 as 'playbin' if USE_PLAYBIN3=1 */
+  {
+    const gchar *env = g_getenv ("USE_PLAYBIN3");
+    if (env && g_str_has_prefix (env, "1"))
+      res = gst_play_bin3_plugin_init (plugin, TRUE);
+    else
+      res = gst_play_bin2_plugin_init (plugin);
+  }
+
+  res &= gst_play_bin3_plugin_init (plugin, FALSE);
   res &= gst_play_sink_plugin_init (plugin);
   res &= gst_subtitle_overlay_plugin_init (plugin);
   res &= gst_stream_synchronizer_plugin_init (plugin);
 
   res &= gst_decode_bin_plugin_init (plugin);
+  res &= gst_decodebin3_plugin_init (plugin);
   res &= gst_uri_decode_bin_plugin_init (plugin);
+  res &= gst_uri_source_bin_plugin_init (plugin);
+  res &= gst_parse_bin_plugin_init (plugin);
 
   return res;
 }
diff --git a/gst/playback/gstplayback.h b/gst/playback/gstplayback.h
index b4309c7..eaa0564 100644
--- a/gst/playback/gstplayback.h
+++ b/gst/playback/gstplayback.h
@@ -24,10 +24,14 @@
 #include <gst/gst.h>
 
 gboolean gst_decode_bin_plugin_init (GstPlugin * plugin);
+gboolean gst_decodebin3_plugin_init (GstPlugin * plugin);
 gboolean gst_uri_decode_bin_plugin_init (GstPlugin * plugin);
+gboolean gst_uri_source_bin_plugin_init (GstPlugin * plugin);
+gboolean gst_parse_bin_plugin_init (GstPlugin * plugin);
 
 gboolean gst_play_bin_plugin_init (GstPlugin * plugin);
 gboolean gst_play_bin2_plugin_init (GstPlugin * plugin);
+gboolean gst_play_bin3_plugin_init (GstPlugin * plugin, gboolean as_playbin);
 
 
 #endif /* __GST_PLAY_BACK_H__ */
diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
index ad63600..15fea65 100644
--- a/gst/playback/gstplaybin2.c
+++ b/gst/playback/gstplaybin2.c
@@ -603,6 +603,7 @@
   SIGNAL_GET_AUDIO_PAD,
   SIGNAL_GET_TEXT_PAD,
   SIGNAL_SOURCE_SETUP,
+  SIGNAL_ELEMENT_SETUP,
   LAST_SIGNAL
 };
 
@@ -622,6 +623,8 @@
     GstStateChange transition);
 
 static void gst_play_bin_handle_message (GstBin * bin, GstMessage * message);
+static void gst_play_bin_deep_element_added (GstBin * playbin, GstBin * sub_bin,
+    GstElement * child);
 static gboolean gst_play_bin_query (GstElement * element, GstQuery * query);
 static void gst_play_bin_set_context (GstElement * element,
     GstContext * context);
@@ -1178,6 +1181,27 @@
       g_cclosure_marshal_generic, G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
 
   /**
+   * GstPlayBin::element-setup:
+   * @playbin: a #GstPlayBin
+   * @element: an element that was added to the playbin hierarchy
+   *
+   * This signal is emitted when a new element is added to playbin or any of
+   * its sub-bins. This signal can be used to configure elements, e.g. to set
+   * properties on decoders. This is functionally equivalent to connecting to
+   * the deep-element-added signal, but more convenient.
+   *
+   * This signal is usually emitted from the context of a GStreamer streaming
+   * thread, so might be called at the same time as code running in the main
+   * application thread.
+   *
+   * Since: 1.10
+   */
+  gst_play_bin_signals[SIGNAL_ELEMENT_SETUP] =
+      g_signal_new ("element-setup", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, 0, NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
+
+  /**
    * GstPlayBin::get-video-tags
    * @playbin: a #GstPlayBin
    * @stream: a video stream number
@@ -1321,6 +1345,8 @@
 
   gstbin_klass->handle_message =
       GST_DEBUG_FUNCPTR (gst_play_bin_handle_message);
+  gstbin_klass->deep_element_added =
+      GST_DEBUG_FUNCPTR (gst_play_bin_deep_element_added);
 }
 
 static void
@@ -3011,6 +3037,18 @@
 }
 
 static void
+gst_play_bin_deep_element_added (GstBin * playbin, GstBin * sub_bin,
+    GstElement * child)
+{
+  GST_LOG_OBJECT (playbin, "element %" GST_PTR_FORMAT " was added to "
+      "%" GST_PTR_FORMAT, child, sub_bin);
+
+  g_signal_emit (playbin, gst_play_bin_signals[SIGNAL_ELEMENT_SETUP], 0, child);
+
+  GST_BIN_CLASS (parent_class)->deep_element_added (playbin, sub_bin, child);
+}
+
+static void
 combiner_active_pad_changed (GObject * combiner, GParamSpec * pspec,
     GstPlayBin * playbin)
 {
diff --git a/gst/playback/gstplaybin3.c b/gst/playback/gstplaybin3.c
new file mode 100644
index 0000000..7a3f163
--- /dev/null
+++ b/gst/playback/gstplaybin3.c
@@ -0,0 +1,6079 @@
+/* GStreamer
+ * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com>
+ * Copyright (C) <2011> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * Copyright (C) <2013> Collabora Ltd.
+ *   Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * 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.
+ */
+
+/**
+ * SECTION:element-playbin3
+ *
+ * Playbin provides a stand-alone everything-in-one abstraction for an
+ * audio and/or video player.
+ *
+ * Playbin can handle both audio and video files and features
+ * <itemizedlist>
+ * <listitem>
+ * automatic file type recognition and based on that automatic
+ * selection and usage of the right audio/video/subtitle demuxers/decoders
+ * </listitem>
+ * <listitem>
+ * visualisations for audio files
+ * </listitem>
+ * <listitem>
+ * subtitle support for video files. Subtitles can be store in external
+ * files.
+ * </listitem>
+ * <listitem>
+ * stream selection between different video/audio/subtitles streams
+ * </listitem>
+ * <listitem>
+ * meta info (tag) extraction
+ * </listitem>
+ * <listitem>
+ * easy access to the last video sample
+ * </listitem>
+ * <listitem>
+ * buffering when playing streams over a network
+ * </listitem>
+ * <listitem>
+ * volume control with mute option
+ * </listitem>
+ * </itemizedlist>
+ *
+ * <refsect2>
+ * <title>Usage</title>
+ * <para>
+ * A playbin element can be created just like any other element using
+ * gst_element_factory_make(). The file/URI to play should be set via the #GstPlayBin3:uri
+ * property. This must be an absolute URI, relative file paths are not allowed.
+ * Example URIs are file:///home/joe/movie.avi or http://www.joedoe.com/foo.ogg
+ *
+ * Playbin is a #GstPipeline. It will notify the application of everything
+ * that's happening (errors, end of stream, tags found, state changes, etc.)
+ * by posting messages on its #GstBus. The application needs to watch the
+ * bus.
+ *
+ * Playback can be initiated by setting the element to PLAYING state using
+ * gst_element_set_state(). Note that the state change will take place in
+ * the background in a separate thread, when the function returns playback
+ * is probably not happening yet and any errors might not have occured yet.
+ * Applications using playbin should ideally be written to deal with things
+ * completely asynchroneous.
+ *
+ * When playback has finished (an EOS message has been received on the bus)
+ * or an error has occured (an ERROR message has been received on the bus) or
+ * the user wants to play a different track, playbin should be set back to
+ * READY or NULL state, then the #GstPlayBin3:uri property should be set to the
+ * new location and then playbin be set to PLAYING state again.
+ *
+ * Seeking can be done using gst_element_seek_simple() or gst_element_seek()
+ * on the playbin element. Again, the seek will not be executed
+ * instantaneously, but will be done in a background thread. When the seek
+ * call returns the seek will most likely still be in process. An application
+ * may wait for the seek to finish (or fail) using gst_element_get_state() with
+ * -1 as the timeout, but this will block the user interface and is not
+ * recommended at all.
+ *
+ * Applications may query the current position and duration of the stream
+ * via gst_element_query_position() and gst_element_query_duration() and
+ * setting the format passed to GST_FORMAT_TIME. If the query was successful,
+ * the duration or position will have been returned in units of nanoseconds.
+ * </para>
+ * </refsect2>
+ * <refsect2>
+ * <title>Advanced Usage: specifying the audio and video sink</title>
+ * <para>
+ * By default, if no audio sink or video sink has been specified via the
+ * #GstPlayBin3:audio-sink or #GstPlayBin3:video-sink property, playbin will use the autoaudiosink
+ * and autovideosink elements to find the first-best available output method.
+ * This should work in most cases, but is not always desirable. Often either
+ * the user or application might want to specify more explicitly what to use
+ * for audio and video output.
+ *
+ * If the application wants more control over how audio or video should be
+ * output, it may create the audio/video sink elements itself (for example
+ * using gst_element_factory_make()) and provide them to playbin using the
+ * #GstPlayBin3:audio-sink or #GstPlayBin3:video-sink property.
+ *
+ * GNOME-based applications, for example, will usually want to create
+ * gconfaudiosink and gconfvideosink elements and make playbin use those,
+ * so that output happens to whatever the user has configured in the GNOME
+ * Multimedia System Selector configuration dialog.
+ *
+ * The sink elements do not necessarily need to be ready-made sinks. It is
+ * possible to create container elements that look like a sink to playbin,
+ * but in reality contain a number of custom elements linked together. This
+ * can be achieved by creating a #GstBin and putting elements in there and
+ * linking them, and then creating a sink #GstGhostPad for the bin and pointing
+ * it to the sink pad of the first element within the bin. This can be used
+ * for a number of purposes, for example to force output to a particular
+ * format or to modify or observe the data before it is output.
+ *
+ * It is also possible to 'suppress' audio and/or video output by using
+ * 'fakesink' elements (or capture it from there using the fakesink element's
+ * "handoff" signal, which, nota bene, is fired from the streaming thread!).
+ * </para>
+ * </refsect2>
+ * <refsect2>
+ * <title>Retrieving Tags and Other Meta Data</title>
+ * <para>
+ * Most of the common meta data (artist, title, etc.) can be retrieved by
+ * watching for TAG messages on the pipeline's bus (see above).
+ *
+ * Other more specific meta information like width/height/framerate of video
+ * streams or samplerate/number of channels of audio streams can be obtained
+ * from the negotiated caps on the sink pads of the sinks.
+ * </para>
+ * </refsect2>
+ * <refsect2>
+ * <title>Buffering</title>
+ * Playbin handles buffering automatically for the most part, but applications
+ * need to handle parts of the buffering process as well. Whenever playbin is
+ * buffering, it will post BUFFERING messages on the bus with a percentage
+ * value that shows the progress of the buffering process. Applications need
+ * to set playbin to PLAYING or PAUSED state in response to these messages.
+ * They may also want to convey the buffering progress to the user in some
+ * way. Here is how to extract the percentage information from the message:
+ * |[
+ * switch (GST_MESSAGE_TYPE (msg)) {
+ *   case GST_MESSAGE_BUFFERING: {
+ *     gint percent = 0;
+ *     gst_message_parse_buffering (msg, &percent);
+ *     g_print ("Buffering (%u percent done)", percent);
+ *     break;
+ *   }
+ *   ...
+ * }
+ * ]|
+ * Note that applications should keep/set the pipeline in the PAUSED state when
+ * a BUFFERING message is received with a buffer percent value < 100 and set
+ * the pipeline back to PLAYING state when a BUFFERING message with a value
+ * of 100 percent is received (if PLAYING is the desired state, that is).
+ * </refsect2>
+ * <refsect2>
+ * <title>Embedding the video window in your application</title>
+ * By default, playbin (or rather the video sinks used) will create their own
+ * window. Applications will usually want to force output to a window of their
+ * own, however. This can be done using the #GstVideoOverlay interface, which most
+ * video sinks implement. See the documentation there for more details.
+ * </refsect2>
+ * <refsect2>
+ * <title>Specifying which CD/DVD device to use</title>
+ * The device to use for CDs/DVDs needs to be set on the source element
+ * playbin creates before it is opened. The most generic way of doing this
+ * is to connect to playbin's "source-setup" (or "notify::source") signal,
+ * which will be emitted by playbin when it has created the source element
+ * for a particular URI. In the signal callback you can check if the source
+ * element has a "device" property and set it appropriately. In some cases
+ * the device can also be set as part of the URI, but it depends on the
+ * elements involved if this will work or not. For example, for DVD menu
+ * playback, the following syntax might work (if the resindvd plugin is used):
+ * dvd://[/path/to/device]
+ * </refsect2>
+ * <refsect2>
+ * <title>Handling redirects</title>
+ * <para>
+ * Some elements may post 'redirect' messages on the bus to tell the
+ * application to open another location. These are element messages containing
+ * a structure named 'redirect' along with a 'new-location' field of string
+ * type. The new location may be a relative or an absolute URI. Examples
+ * for such redirects can be found in many quicktime movie trailers.
+ * </para>
+ * </refsect2>
+ * <refsect2>
+ * <title>Examples</title>
+ * |[
+ * gst-launch-1.0 -v playbin uri=file:///path/to/somefile.mp4
+ * ]| This will play back the given AVI video file, given that the video and
+ * audio decoders required to decode the content are installed. Since no
+ * special audio sink or video sink is supplied (via playbin's audio-sink or
+ * video-sink properties) playbin will try to find a suitable audio and
+ * video sink automatically using the autoaudiosink and autovideosink elements.
+ * |[
+ * gst-launch-1.0 -v playbin uri=cdda://4
+ * ]| This will play back track 4 on an audio CD in your disc drive (assuming
+ * the drive is detected automatically by the plugin).
+ * |[
+ * gst-launch-1.0 -v playbin uri=dvd://
+ * ]| This will play back the DVD in your disc drive (assuming
+ * the drive is detected automatically by the plugin).
+ * </refsect2>
+ */
+
+/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
+ * with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+#include <gst/gst.h>
+
+#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>
+#include "gstplay-enum.h"
+#include "gstplayback.h"
+#include "gstplaysink.h"
+#include "gstsubtitleoverlay.h"
+#include "gstplaybackutils.h"
+
+GST_DEBUG_CATEGORY_STATIC (gst_play_bin3_debug);
+#define GST_CAT_DEFAULT gst_play_bin3_debug
+
+#define GST_TYPE_PLAY_BIN               (gst_play_bin3_get_type())
+#define GST_PLAY_BIN3(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PLAY_BIN,GstPlayBin3))
+#define GST_PLAY_BIN3_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PLAY_BIN,GstPlayBin3Class))
+#define GST_IS_PLAY_BIN(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PLAY_BIN))
+#define GST_IS_PLAY_BIN_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PLAY_BIN))
+
+#define ULONG_TO_POINTER(number)        ((gpointer) (guintptr) (number))
+#define POINTER_TO_ULONG(number)        ((guintptr) (number))
+
+#define VOLUME_MAX_DOUBLE 10.0
+
+typedef struct _GstPlayBin3 GstPlayBin3;
+typedef struct _GstPlayBin3Class GstPlayBin3Class;
+typedef struct _GstSourceGroup GstSourceGroup;
+typedef struct _GstSourceCombine GstSourceCombine;
+
+typedef GstCaps *(*SourceCombineGetMediaCapsFunc) (void);
+
+/* has the info for a combiner and provides the link to the sink */
+struct _GstSourceCombine
+{
+  const gchar *media_type;      /* the media type for the combiner */
+  SourceCombineGetMediaCapsFunc get_media_caps; /* more complex caps for the combiner */
+  GstPlaySinkType type;         /* the sink pad type of the combiner */
+
+  GstElement *combiner;         /* the combiner */
+  GPtrArray *channels;
+  GstPad *srcpad;               /* the source pad of the combiner */
+  GstPad *sinkpad;              /* the sinkpad of the sink when the combiner
+                                 * is linked
+                                 */
+  gulong block_id;
+
+  GPtrArray *streams;           /* Sorted array of GstStream for the given type */
+  gint current_stream;          /* Currently selected GstStream */
+
+  gboolean has_active_pad;      /* stream combiner has the "active-pad" property */
+
+  gboolean has_always_ok;       /* stream combiner's sink pads have the "always-ok" property */
+};
+
+#define GST_SOURCE_GROUP_GET_LOCK(group) (&((GstSourceGroup*)(group))->lock)
+#define GST_SOURCE_GROUP_LOCK(group) (g_mutex_lock (GST_SOURCE_GROUP_GET_LOCK(group)))
+#define GST_SOURCE_GROUP_UNLOCK(group) (g_mutex_unlock (GST_SOURCE_GROUP_GET_LOCK(group)))
+
+enum
+{
+  PLAYBIN_STREAM_AUDIO = 0,
+  PLAYBIN_STREAM_VIDEO,
+  PLAYBIN_STREAM_TEXT,
+  PLAYBIN_STREAM_LAST
+};
+
+/* names matching the enum above */
+static const gchar *stream_type_names[] = {
+  "audio", "video", "text"
+};
+
+static void avelements_free (gpointer data);
+static GSequence *avelements_create (GstPlayBin3 * playbin,
+    gboolean isaudioelement);
+
+/* The GstAudioVideoElement structure holding the audio/video decoder
+ * and the audio/video sink factories together with field indicating
+ * the number of common caps features */
+typedef struct
+{
+  GstElementFactory *dec;       /* audio:video decoder */
+  GstElementFactory *sink;      /* audio:video sink */
+  guint n_comm_cf;              /* number of common caps features */
+} GstAVElement;
+
+/* a structure to hold the objects for decoding a uri and the subtitle uri
+ */
+struct _GstSourceGroup
+{
+  GstPlayBin3 *playbin;
+
+  GMutex lock;
+
+  gboolean valid;               /* the group has valid info to start playback */
+  gboolean active;              /* the group is active */
+
+  /* properties */
+  gchar *uri;
+  gchar *suburi;
+  GValueArray *streaminfo;
+  GstElement *source;
+
+
+  /* urisourcebins for uri and subtitle uri */
+  /* FIXME: Just make this an array of uris */
+  GstElement *urisourcebin;
+  GstElement *suburisourcebin;
+
+  /* Active sinks for each media type. These are initialized with
+   * the configured or currently used sink, otherwise
+   * left as NULL and playbin tries to automatically
+   * select a good sink */
+  GstElement *audio_sink;
+  GstElement *video_sink;
+  GstElement *text_sink;
+
+  gint pending;
+  gboolean sub_pending;
+
+  /* primary uri signals */
+  gulong urisrc_pad_added_id;
+  gulong urisrc_pad_removed_id;
+  gulong notify_source_id;
+  gulong autoplug_factories_id;
+  gulong autoplug_select_id;
+  gulong autoplug_continue_id;
+  gulong autoplug_query_id;
+
+  /* subtitle uri signals */
+  gulong sub_pad_added_id;
+  gulong sub_pad_removed_id;
+  gulong sub_autoplug_continue_id;
+  gulong sub_autoplug_query_id;
+
+  gulong block_id;
+
+  GMutex stream_changed_pending_lock;
+  gboolean stream_changed_pending;
+
+  /* buffering message stored for after switching */
+  GstMessage *pending_buffering_msg;
+};
+
+#define GST_PLAY_BIN3_GET_LOCK(bin) (&((GstPlayBin3*)(bin))->lock)
+#define GST_PLAY_BIN3_LOCK(bin) (g_rec_mutex_lock (GST_PLAY_BIN3_GET_LOCK(bin)))
+#define GST_PLAY_BIN3_UNLOCK(bin) (g_rec_mutex_unlock (GST_PLAY_BIN3_GET_LOCK(bin)))
+
+/* lock to protect dynamic callbacks, like no-more-pads */
+#define GST_PLAY_BIN3_DYN_LOCK(bin)    g_mutex_lock (&(bin)->dyn_lock)
+#define GST_PLAY_BIN3_DYN_UNLOCK(bin)  g_mutex_unlock (&(bin)->dyn_lock)
+
+/* lock for shutdown */
+#define GST_PLAY_BIN3_SHUTDOWN_LOCK(bin,label)           \
+G_STMT_START {                                          \
+  if (G_UNLIKELY (g_atomic_int_get (&bin->shutdown)))   \
+    goto label;                                         \
+  GST_PLAY_BIN3_DYN_LOCK (bin);                          \
+  if (G_UNLIKELY (g_atomic_int_get (&bin->shutdown))) { \
+    GST_PLAY_BIN3_DYN_UNLOCK (bin);                      \
+    goto label;                                         \
+  }                                                     \
+} G_STMT_END
+
+/* unlock for shutdown */
+#define GST_PLAY_BIN3_SHUTDOWN_UNLOCK(bin)         \
+  GST_PLAY_BIN3_DYN_UNLOCK (bin);                  \
+
+/**
+ * GstPlayBin3:
+ *
+ * playbin element structure
+ */
+struct _GstPlayBin3
+{
+  GstPipeline parent;
+
+  GRecMutex lock;               /* to protect group switching */
+
+  /* the input groups, we use a double buffer to switch between current and next */
+  GstSourceGroup groups[2];     /* array with group info */
+  GstSourceGroup *curr_group;   /* pointer to the currently playing group */
+  GstSourceGroup *next_group;   /* pointer to the next group */
+
+  /* combiners for different streams */
+  GPtrArray *channels[PLAYBIN_STREAM_LAST];     /* links to combiner pads */
+  GstSourceCombine combiner[PLAYBIN_STREAM_LAST];
+
+  /* A global decodebin3 that's used to actually do decoding */
+  gboolean decodebin_active;
+  GstElement *decodebin;
+  /* Bit-wise set of stream types we have
+   * requested from decodebin vs stream types
+   * decodebin has provided */
+  GstStreamType selected_stream_types;
+  GstStreamType active_stream_types;
+
+  /* Decodebin signals */
+  gulong db_pad_added_id;
+  gulong db_pad_removed_id;
+  gulong db_no_more_pads_id;
+  gulong db_drained_id;
+  gulong db_select_stream_id;
+
+  /* properties */
+  guint64 connection_speed;     /* connection speed in bits/sec (0 = unknown) */
+  gint current_video;           /* the currently selected stream */
+  gint current_audio;           /* the currently selected stream */
+  gint current_text;            /* the currently selected stream */
+
+  gboolean do_stream_selections;        /* Set to TRUE when any of current-{video|audio|text} are set to
+                                           say playbin should do backwards-compatibility behaviours */
+
+  guint64 buffer_duration;      /* When buffering, the max buffer duration (ns) */
+  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;
+
+  /* the last activated source */
+  GstElement *source;
+
+  /* lock protecting dynamic adding/removing */
+  GMutex dyn_lock;
+  /* if we are shutting down or not */
+  gint shutdown;
+  gboolean async_pending;       /* async-start has been emitted */
+
+  GMutex elements_lock;
+  guint32 elements_cookie;
+  GList *elements;              /* factories we can use for selecting elements */
+
+  gboolean have_selector;       /* set to FALSE when we fail to create an
+                                 * input-selector, so that we only post a
+                                 * warning once */
+
+  gboolean video_pending_flush_finish;  /* whether we are pending to send a custom
+                                         * custom-video-flush-finish event
+                                         * on pad activation */
+  gboolean audio_pending_flush_finish;  /* whether we are pending to send a custom
+                                         * custom-audio-flush-finish event
+                                         * on pad activation */
+  gboolean text_pending_flush_finish;   /* whether we are pending to send a custom
+                                         * custom-subtitle-flush-finish event
+                                         * on pad activation */
+
+  GstElement *audio_sink;       /* configured audio sink, or NULL      */
+  GstElement *video_sink;       /* configured video sink, or NULL      */
+  GstElement *text_sink;        /* configured text sink, or NULL       */
+
+  GstElement *audio_stream_combiner;    /* configured audio stream combiner, or NULL */
+  GstElement *video_stream_combiner;    /* configured video stream combiner, or NULL */
+  GstElement *text_stream_combiner;     /* configured text stream combiner, or NULL */
+
+  GSequence *aelements;         /* a list of GstAVElements for audio stream */
+  GSequence *velements;         /* a list of GstAVElements for video stream */
+
+  struct
+  {
+    gboolean valid;
+    GstFormat format;
+    gint64 duration;
+  } duration[5];                /* cached durations */
+
+  guint64 ring_buffer_max_size; /* 0 means disabled */
+
+  GList *contexts;
+
+  /* Active stream collection */
+  GstStreamCollection *collection;
+  guint collection_notify_id;
+};
+
+struct _GstPlayBin3Class
+{
+  GstPipelineClass parent_class;
+
+  /* notify app that the current uri finished decoding and it is possible to
+   * queue a new one for gapless playback */
+  void (*about_to_finish) (GstPlayBin3 * playbin);
+
+  /* notify app that number of audio/video/text streams changed */
+  void (*video_changed) (GstPlayBin3 * playbin);
+  void (*audio_changed) (GstPlayBin3 * playbin);
+  void (*text_changed) (GstPlayBin3 * playbin);
+
+  /* notify app that the tags of audio/video/text streams changed */
+  void (*video_tags_changed) (GstPlayBin3 * playbin, gint stream);
+  void (*audio_tags_changed) (GstPlayBin3 * playbin, gint stream);
+  void (*text_tags_changed) (GstPlayBin3 * playbin, gint stream);
+
+  /* get audio/video/text tags for a stream */
+  GstTagList *(*get_video_tags) (GstPlayBin3 * playbin, gint stream);
+  GstTagList *(*get_audio_tags) (GstPlayBin3 * playbin, gint stream);
+  GstTagList *(*get_text_tags) (GstPlayBin3 * playbin, gint stream);
+
+  /* get the last video sample and convert it to the given caps */
+  GstSample *(*convert_sample) (GstPlayBin3 * playbin, GstCaps * caps);
+
+  /* get audio/video/text pad for a stream */
+  GstPad *(*get_video_pad) (GstPlayBin3 * playbin, gint stream);
+  GstPad *(*get_audio_pad) (GstPlayBin3 * playbin, gint stream);
+  GstPad *(*get_text_pad) (GstPlayBin3 * playbin, gint stream);
+};
+
+/* props */
+#define DEFAULT_URI               NULL
+#define DEFAULT_SUBURI            NULL
+#define DEFAULT_SOURCE            NULL
+#define DEFAULT_FLAGS             GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \
+                                  GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_DEINTERLACE | \
+                                  GST_PLAY_FLAG_SOFT_COLORBALANCE
+#define DEFAULT_N_VIDEO           0
+#define DEFAULT_CURRENT_VIDEO     -1
+#define DEFAULT_N_AUDIO           0
+#define DEFAULT_CURRENT_AUDIO     -1
+#define DEFAULT_N_TEXT            0
+#define DEFAULT_CURRENT_TEXT      -1
+#define DEFAULT_AUTO_SELECT_STREAMS TRUE
+#define DEFAULT_SUBTITLE_ENCODING NULL
+#define DEFAULT_AUDIO_SINK        NULL
+#define DEFAULT_VIDEO_SINK        NULL
+#define DEFAULT_VIS_PLUGIN        NULL
+#define DEFAULT_TEXT_SINK         NULL
+#define DEFAULT_VOLUME            1.0
+#define DEFAULT_MUTE              FALSE
+#define DEFAULT_FRAME             NULL
+#define DEFAULT_FONT_DESC         NULL
+#define DEFAULT_CONNECTION_SPEED  0
+#define DEFAULT_BUFFER_DURATION   -1
+#define DEFAULT_BUFFER_SIZE       -1
+#define DEFAULT_RING_BUFFER_MAX_SIZE 0
+
+enum
+{
+  PROP_0,
+  PROP_URI,
+  PROP_CURRENT_URI,
+  PROP_SUBURI,
+  PROP_CURRENT_SUBURI,
+  PROP_SOURCE,
+  PROP_FLAGS,
+  PROP_N_VIDEO,
+  PROP_CURRENT_VIDEO,
+  PROP_N_AUDIO,
+  PROP_CURRENT_AUDIO,
+  PROP_N_TEXT,
+  PROP_CURRENT_TEXT,
+  PROP_AUTO_SELECT_STREAMS,
+  PROP_SUBTITLE_ENCODING,
+  PROP_AUDIO_SINK,
+  PROP_VIDEO_SINK,
+  PROP_VIS_PLUGIN,
+  PROP_TEXT_SINK,
+  PROP_VIDEO_STREAM_COMBINER,
+  PROP_AUDIO_STREAM_COMBINER,
+  PROP_TEXT_STREAM_COMBINER,
+  PROP_VOLUME,
+  PROP_MUTE,
+  PROP_SAMPLE,
+  PROP_FONT_DESC,
+  PROP_CONNECTION_SPEED,
+  PROP_BUFFER_SIZE,
+  PROP_BUFFER_DURATION,
+  PROP_AV_OFFSET,
+  PROP_RING_BUFFER_MAX_SIZE,
+  PROP_FORCE_ASPECT_RATIO,
+  PROP_AUDIO_FILTER,
+  PROP_VIDEO_FILTER,
+  PROP_MULTIVIEW_MODE,
+  PROP_MULTIVIEW_FLAGS
+};
+
+/* signals */
+enum
+{
+  SIGNAL_ABOUT_TO_FINISH,
+  SIGNAL_CONVERT_SAMPLE,
+  SIGNAL_VIDEO_CHANGED,
+  SIGNAL_AUDIO_CHANGED,
+  SIGNAL_TEXT_CHANGED,
+  SIGNAL_VIDEO_TAGS_CHANGED,
+  SIGNAL_AUDIO_TAGS_CHANGED,
+  SIGNAL_TEXT_TAGS_CHANGED,
+  SIGNAL_GET_VIDEO_TAGS,
+  SIGNAL_GET_AUDIO_TAGS,
+  SIGNAL_GET_TEXT_TAGS,
+  SIGNAL_GET_VIDEO_PAD,
+  SIGNAL_GET_AUDIO_PAD,
+  SIGNAL_GET_TEXT_PAD,
+  SIGNAL_SOURCE_SETUP,
+  LAST_SIGNAL
+};
+
+static GstStaticCaps raw_audio_caps = GST_STATIC_CAPS ("audio/x-raw(ANY)");
+static GstStaticCaps raw_video_caps = GST_STATIC_CAPS ("video/x-raw(ANY)");
+
+static void gst_play_bin3_class_init (GstPlayBin3Class * klass);
+static void gst_play_bin3_init (GstPlayBin3 * playbin);
+static void gst_play_bin3_finalize (GObject * object);
+
+static void gst_play_bin3_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * spec);
+static void gst_play_bin3_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * spec);
+
+static GstStateChangeReturn gst_play_bin3_change_state (GstElement * element,
+    GstStateChange transition);
+
+static void gst_play_bin3_handle_message (GstBin * bin, GstMessage * message);
+static gboolean gst_play_bin3_query (GstElement * element, GstQuery * query);
+static void gst_play_bin3_set_context (GstElement * element,
+    GstContext * context);
+static gboolean gst_play_bin3_send_event (GstElement * element,
+    GstEvent * event);
+
+static GstTagList *gst_play_bin3_get_video_tags (GstPlayBin3 * playbin,
+    gint stream);
+static GstTagList *gst_play_bin3_get_audio_tags (GstPlayBin3 * playbin,
+    gint stream);
+static GstTagList *gst_play_bin3_get_text_tags (GstPlayBin3 * playbin,
+    gint stream);
+
+static GstSample *gst_play_bin3_convert_sample (GstPlayBin3 * playbin,
+    GstCaps * caps);
+
+static GstPad *gst_play_bin3_get_video_pad (GstPlayBin3 * playbin, gint stream);
+static GstPad *gst_play_bin3_get_audio_pad (GstPlayBin3 * playbin, gint stream);
+static GstPad *gst_play_bin3_get_text_pad (GstPlayBin3 * playbin, gint stream);
+
+static GstStateChangeReturn setup_next_source (GstPlayBin3 * playbin,
+    GstState target);
+
+static void no_more_pads_cb (GstElement * decodebin, GstPlayBin3 * playbin);
+static void pad_removed_cb (GstElement * decodebin, GstPad * pad,
+    GstPlayBin3 * playbin);
+
+static gint select_stream_cb (GstElement * decodebin,
+    GstStreamCollection * collection, GstStream * stream,
+    GstPlayBin3 * playbin);
+
+static void do_stream_selection (GstPlayBin3 * playbin);
+static void notify_tags_cb (GstStreamCollection * collection,
+    GstStream * stream, GParamSpec * pspec, GstPlayBin3 * playbin);
+static void notify_tags_for_stream (GstPlayBin3 * playbin,
+    GstStreamCollection * collection, GstStream * stream);
+
+static GstElementClass *parent_class;
+
+static guint gst_play_bin3_signals[LAST_SIGNAL] = { 0 };
+
+#define REMOVE_SIGNAL(obj,id)            \
+if (id) {                                \
+  g_signal_handler_disconnect (obj, id); \
+  id = 0;                                \
+}
+
+static void gst_play_bin3_overlay_init (gpointer g_iface,
+    gpointer g_iface_data);
+static void gst_play_bin3_navigation_init (gpointer g_iface,
+    gpointer g_iface_data);
+static void gst_play_bin3_colorbalance_init (gpointer g_iface,
+    gpointer g_iface_data);
+
+static GType
+gst_play_bin3_get_type (void)
+{
+  static GType gst_play_bin3_type = 0;
+
+  if (!gst_play_bin3_type) {
+    static const GTypeInfo gst_play_bin3_info = {
+      sizeof (GstPlayBin3Class),
+      NULL,
+      NULL,
+      (GClassInitFunc) gst_play_bin3_class_init,
+      NULL,
+      NULL,
+      sizeof (GstPlayBin3),
+      0,
+      (GInstanceInitFunc) gst_play_bin3_init,
+      NULL
+    };
+    static const GInterfaceInfo svol_info = {
+      NULL, NULL, NULL
+    };
+    static const GInterfaceInfo ov_info = {
+      gst_play_bin3_overlay_init,
+      NULL, NULL
+    };
+    static const GInterfaceInfo nav_info = {
+      gst_play_bin3_navigation_init,
+      NULL, NULL
+    };
+    static const GInterfaceInfo col_info = {
+      gst_play_bin3_colorbalance_init,
+      NULL, NULL
+    };
+
+    gst_play_bin3_type = g_type_register_static (GST_TYPE_PIPELINE,
+        "GstPlayBin3", &gst_play_bin3_info, 0);
+
+    g_type_add_interface_static (gst_play_bin3_type, GST_TYPE_STREAM_VOLUME,
+        &svol_info);
+    g_type_add_interface_static (gst_play_bin3_type, GST_TYPE_VIDEO_OVERLAY,
+        &ov_info);
+    g_type_add_interface_static (gst_play_bin3_type, GST_TYPE_NAVIGATION,
+        &nav_info);
+    g_type_add_interface_static (gst_play_bin3_type, GST_TYPE_COLOR_BALANCE,
+        &col_info);
+  }
+
+  return gst_play_bin3_type;
+}
+
+static void
+gst_play_bin3_class_init (GstPlayBin3Class * klass)
+{
+  GObjectClass *gobject_klass;
+  GstElementClass *gstelement_klass;
+  GstBinClass *gstbin_klass;
+
+  gobject_klass = (GObjectClass *) klass;
+  gstelement_klass = (GstElementClass *) klass;
+  gstbin_klass = (GstBinClass *) klass;
+
+  parent_class = g_type_class_peek_parent (klass);
+
+  gobject_klass->set_property = gst_play_bin3_set_property;
+  gobject_klass->get_property = gst_play_bin3_get_property;
+
+  gobject_klass->finalize = gst_play_bin3_finalize;
+
+  /**
+   * GstPlayBin3:uri
+   *
+   * Set the next URI that playbin will play. This property can be set from the
+   * about-to-finish signal to queue the next media file.
+   */
+  g_object_class_install_property (gobject_klass, PROP_URI,
+      g_param_spec_string ("uri", "URI", "URI of the media to play",
+          NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+   /**
+   * GstPlayBin3:current-uri
+   *
+   * The currently playing uri.
+   */
+  g_object_class_install_property (gobject_klass, PROP_CURRENT_URI,
+      g_param_spec_string ("current-uri", "Current URI",
+          "The currently playing URI", NULL,
+          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3:suburi
+   *
+   * Set the next subtitle URI that playbin will play. This property can be
+   * set from the about-to-finish signal to queue the next subtitle media file.
+   */
+  g_object_class_install_property (gobject_klass, PROP_SUBURI,
+      g_param_spec_string ("suburi", ".sub-URI", "Optional URI of a subtitle",
+          NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3:current-suburi
+   *
+   * The currently playing subtitle uri.
+   */
+  g_object_class_install_property (gobject_klass, PROP_CURRENT_SUBURI,
+      g_param_spec_string ("current-suburi", "Current .sub-URI",
+          "The currently playing URI of a subtitle",
+          NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_klass, PROP_SOURCE,
+      g_param_spec_object ("source", "Source", "Source element",
+          GST_TYPE_ELEMENT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3:flags
+   *
+   * Control the behaviour of playbin.
+   */
+  g_object_class_install_property (gobject_klass, PROP_FLAGS,
+      g_param_spec_flags ("flags", "Flags", "Flags to control behaviour",
+          GST_TYPE_PLAY_FLAGS, DEFAULT_FLAGS,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3:n-video
+   *
+   * Get the total number of available video streams.
+   */
+  g_object_class_install_property (gobject_klass, PROP_N_VIDEO,
+      g_param_spec_int ("n-video", "Number Video",
+          "Total number of video streams", 0, G_MAXINT, 0,
+          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:current-video
+   *
+   * Get or set the currently playing video stream. By default the first video
+   * stream with data is played.
+   */
+  g_object_class_install_property (gobject_klass, PROP_CURRENT_VIDEO,
+      g_param_spec_int ("current-video", "Current Video",
+          "Currently playing video stream (-1 = auto)",
+          -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:n-audio
+   *
+   * Get the total number of available audio streams.
+   */
+  g_object_class_install_property (gobject_klass, PROP_N_AUDIO,
+      g_param_spec_int ("n-audio", "Number Audio",
+          "Total number of audio streams", 0, G_MAXINT, 0,
+          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:current-audio
+   *
+   * Get or set the currently playing audio stream. By default the first audio
+   * stream with data is played.
+   */
+  g_object_class_install_property (gobject_klass, PROP_CURRENT_AUDIO,
+      g_param_spec_int ("current-audio", "Current audio",
+          "Currently playing audio stream (-1 = auto)",
+          -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:n-text
+   *
+   * Get the total number of available subtitle streams.
+   */
+  g_object_class_install_property (gobject_klass, PROP_N_TEXT,
+      g_param_spec_int ("n-text", "Number Text",
+          "Total number of text streams", 0, G_MAXINT, 0,
+          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:current-text:
+   *
+   * Get or set the currently playing subtitle stream. By default the first
+   * subtitle stream with data is played.
+   */
+  g_object_class_install_property (gobject_klass, PROP_CURRENT_TEXT,
+      g_param_spec_int ("current-text", "Current Text",
+          "Currently playing text stream (-1 = auto)",
+          -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3::auto-select-streams:
+   *
+   * If TRUE the playbin will respond to stream-collection messages
+   * by sending a SELECT_STREAMS event to decodebin. Set to FALSE
+   * if the application will manage stream selection. This property
+   * will automatically be set to FALSE if playbin receives a select-streams
+   * event from the application, but setting it explicitly avoids any
+   * races where playbin mind send a select-streams event before the
+   * application.
+   */
+  g_object_class_install_property (gobject_klass, PROP_AUTO_SELECT_STREAMS,
+      g_param_spec_boolean ("auto-select-streams", "Automatic Select-Streams",
+          "Whether playbin should respond to stream-collection messags with select-streams events",
+          DEFAULT_AUTO_SELECT_STREAMS,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_klass, PROP_SUBTITLE_ENCODING,
+      g_param_spec_string ("subtitle-encoding", "subtitle encoding",
+          "Encoding to assume if input subtitles are not in UTF-8 encoding. "
+          "If not set, the GST_SUBTITLE_ENCODING environment variable will "
+          "be checked for an encoding to use. If that is not set either, "
+          "ISO-8859-15 will be assumed.", NULL,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_klass, PROP_VIDEO_FILTER,
+      g_param_spec_object ("video-filter", "Video filter",
+          "the video filter(s) to apply, if possible",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_klass, PROP_AUDIO_FILTER,
+      g_param_spec_object ("audio-filter", "Audio filter",
+          "the audio filter(s) to apply, if possible",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_klass, PROP_VIDEO_SINK,
+      g_param_spec_object ("video-sink", "Video Sink",
+          "the video output element to use (NULL = default sink)",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_klass, PROP_AUDIO_SINK,
+      g_param_spec_object ("audio-sink", "Audio Sink",
+          "the audio output element to use (NULL = default sink)",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_klass, PROP_VIS_PLUGIN,
+      g_param_spec_object ("vis-plugin", "Vis plugin",
+          "the visualization element to use (NULL = default)",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_klass, PROP_TEXT_SINK,
+      g_param_spec_object ("text-sink", "Text plugin",
+          "the text output element to use (NULL = default subtitleoverlay)",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:video-stream-combiner
+   *
+   * Get or set the current video stream combiner. By default, an input-selector
+   * is created and deleted as-needed.
+   */
+  g_object_class_install_property (gobject_klass, PROP_VIDEO_STREAM_COMBINER,
+      g_param_spec_object ("video-stream-combiner", "Video stream combiner",
+          "Current video stream combiner (NULL = input-selector)",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:audio-stream-combiner
+   *
+   * Get or set the current audio stream combiner. By default, an input-selector
+   * is created and deleted as-needed.
+   */
+  g_object_class_install_property (gobject_klass, PROP_AUDIO_STREAM_COMBINER,
+      g_param_spec_object ("audio-stream-combiner", "Audio stream combiner",
+          "Current audio stream combiner (NULL = input-selector)",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:text-stream-combiner
+   *
+   * Get or set the current text stream combiner. By default, an input-selector
+   * is created and deleted as-needed.
+   */
+  g_object_class_install_property (gobject_klass, PROP_TEXT_STREAM_COMBINER,
+      g_param_spec_object ("text-stream-combiner", "Text stream combiner",
+          "Current text stream combiner (NULL = input-selector)",
+          GST_TYPE_ELEMENT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3:volume:
+   *
+   * Get or set the current audio stream volume. 1.0 means 100%,
+   * 0.0 means mute. This uses a linear volume scale.
+   *
+   */
+  g_object_class_install_property (gobject_klass, PROP_VOLUME,
+      g_param_spec_double ("volume", "Volume", "The audio volume, 1.0=100%",
+          0.0, VOLUME_MAX_DOUBLE, 1.0,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_klass, PROP_MUTE,
+      g_param_spec_boolean ("mute", "Mute",
+          "Mute the audio channel without changing the volume", FALSE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3:sample:
+   * @playbin: a #GstPlayBin3
+   *
+   * Get the currently rendered or prerolled sample in the video sink.
+   * The #GstCaps in the sample will describe the format of the buffer.
+   */
+  g_object_class_install_property (gobject_klass, PROP_SAMPLE,
+      g_param_spec_boxed ("sample", "Sample",
+          "The last sample (NULL = no video available)",
+          GST_TYPE_SAMPLE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_klass, PROP_FONT_DESC,
+      g_param_spec_string ("subtitle-font-desc",
+          "Subtitle font description",
+          "Pango font description of font "
+          "to be used for subtitle rendering", NULL,
+          G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_klass, PROP_CONNECTION_SPEED,
+      g_param_spec_uint64 ("connection-speed", "Connection Speed",
+          "Network connection speed in kbps (0 = unknown)",
+          0, G_MAXUINT64 / 1000, DEFAULT_CONNECTION_SPEED,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_klass, PROP_BUFFER_SIZE,
+      g_param_spec_int ("buffer-size", "Buffer size (bytes)",
+          "Buffer size when buffering network streams",
+          -1, G_MAXINT, DEFAULT_BUFFER_SIZE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_klass, PROP_BUFFER_DURATION,
+      g_param_spec_int64 ("buffer-duration", "Buffer duration (ns)",
+          "Buffer duration when buffering network streams",
+          -1, G_MAXINT64, DEFAULT_BUFFER_DURATION,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  /**
+   * GstPlayBin3:av-offset:
+   *
+   * Control the synchronisation offset between the audio and video streams.
+   * Positive values make the audio ahead of the video and negative values make
+   * the audio go behind the video.
+   */
+  g_object_class_install_property (gobject_klass, PROP_AV_OFFSET,
+      g_param_spec_int64 ("av-offset", "AV Offset",
+          "The synchronisation offset between audio and video in nanoseconds",
+          G_MININT64, G_MAXINT64, 0,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3:ring-buffer-max-size
+   *
+   * The maximum size of the ring buffer in bytes. If set to 0, the ring
+   * buffer is disabled. Default 0.
+   */
+  g_object_class_install_property (gobject_klass, PROP_RING_BUFFER_MAX_SIZE,
+      g_param_spec_uint64 ("ring-buffer-max-size",
+          "Max. ring buffer size (bytes)",
+          "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)",
+          0, G_MAXUINT, DEFAULT_RING_BUFFER_MAX_SIZE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3::force-aspect-ratio:
+   *
+   * Requests the video sink to enforce the video display aspect ratio.
+   */
+  g_object_class_install_property (gobject_klass, PROP_FORCE_ASPECT_RATIO,
+      g_param_spec_boolean ("force-aspect-ratio", "Force Aspect Ratio",
+          "When enabled, scaling will respect original aspect ratio", TRUE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstPlayBin3::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 #GstPlayBin3::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));
+
+  /**
+   * GstPlayBin3::video-multiview-flags:
+   *
+   * When overriding the multiview mode of an input stream,
+   * these flags modify details of the view layout.
+   *
+   * See Also: The #GstPlayBin3::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));
+
+  /**
+   * GstPlayBin3::about-to-finish
+   * @playbin: a #GstPlayBin3
+   *
+   * This signal is emitted when the current uri is about to finish. You can
+   * set the uri and suburi to make sure that playback continues.
+   *
+   * This signal is emitted from the context of a GStreamer streaming thread.
+   */
+  gst_play_bin3_signals[SIGNAL_ABOUT_TO_FINISH] =
+      g_signal_new ("about-to-finish", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstPlayBin3Class, about_to_finish), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 0, G_TYPE_NONE);
+
+  /**
+   * GstPlayBin3::video-changed
+   * @playbin: a #GstPlayBin3
+   *
+   * This signal is emitted whenever the number or order of the video
+   * streams has changed. The application will most likely want to select
+   * a new video stream.
+   *
+   * This signal is usually emitted from the context of a GStreamer streaming
+   * thread. You can use gst_message_new_application() and
+   * gst_element_post_message() to notify your application's main thread.
+   */
+  /* FIXME 0.11: turn video-changed signal into message? */
+  gst_play_bin3_signals[SIGNAL_VIDEO_CHANGED] =
+      g_signal_new ("video-changed", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstPlayBin3Class, video_changed), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 0, G_TYPE_NONE);
+  /**
+   * GstPlayBin3::audio-changed
+   * @playbin: a #GstPlayBin3
+   *
+   * This signal is emitted whenever the number or order of the audio
+   * streams has changed. The application will most likely want to select
+   * a new audio stream.
+   *
+   * This signal may be emitted from the context of a GStreamer streaming thread.
+   * You can use gst_message_new_application() and gst_element_post_message()
+   * to notify your application's main thread.
+   */
+  /* FIXME 0.11: turn audio-changed signal into message? */
+  gst_play_bin3_signals[SIGNAL_AUDIO_CHANGED] =
+      g_signal_new ("audio-changed", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstPlayBin3Class, audio_changed), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 0, G_TYPE_NONE);
+  /**
+   * GstPlayBin3::text-changed
+   * @playbin: a #GstPlayBin3
+   *
+   * This signal is emitted whenever the number or order of the text
+   * streams has changed. The application will most likely want to select
+   * a new text stream.
+   *
+   * This signal may be emitted from the context of a GStreamer streaming thread.
+   * You can use gst_message_new_application() and gst_element_post_message()
+   * to notify your application's main thread.
+   */
+  /* FIXME 0.11: turn text-changed signal into message? */
+  gst_play_bin3_signals[SIGNAL_TEXT_CHANGED] =
+      g_signal_new ("text-changed", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstPlayBin3Class, text_changed), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 0, G_TYPE_NONE);
+
+  /**
+   * GstPlayBin3::video-tags-changed
+   * @playbin: a #GstPlayBin3
+   * @stream: stream index with changed tags
+   *
+   * This signal is emitted whenever the tags of a video stream have changed.
+   * The application will most likely want to get the new tags.
+   *
+   * This signal may be emitted from the context of a GStreamer streaming thread.
+   * You can use gst_message_new_application() and gst_element_post_message()
+   * to notify your application's main thread.
+   */
+  gst_play_bin3_signals[SIGNAL_VIDEO_TAGS_CHANGED] =
+      g_signal_new ("video-tags-changed", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstPlayBin3Class, video_tags_changed), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 1, G_TYPE_INT);
+
+  /**
+   * GstPlayBin3::audio-tags-changed
+   * @playbin: a #GstPlayBin3
+   * @stream: stream index with changed tags
+   *
+   * This signal is emitted whenever the tags of an audio stream have changed.
+   * The application will most likely want to get the new tags.
+   *
+   * This signal may be emitted from the context of a GStreamer streaming thread.
+   * You can use gst_message_new_application() and gst_element_post_message()
+   * to notify your application's main thread.
+   */
+  gst_play_bin3_signals[SIGNAL_AUDIO_TAGS_CHANGED] =
+      g_signal_new ("audio-tags-changed", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstPlayBin3Class, audio_tags_changed), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 1, G_TYPE_INT);
+
+  /**
+   * GstPlayBin3::text-tags-changed
+   * @playbin: a #GstPlayBin3
+   * @stream: stream index with changed tags
+   *
+   * This signal is emitted whenever the tags of a text stream have changed.
+   * The application will most likely want to get the new tags.
+   *
+   * This signal may be emitted from the context of a GStreamer streaming thread.
+   * You can use gst_message_new_application() and gst_element_post_message()
+   * to notify your application's main thread.
+   */
+  gst_play_bin3_signals[SIGNAL_TEXT_TAGS_CHANGED] =
+      g_signal_new ("text-tags-changed", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstPlayBin3Class, text_tags_changed), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 1, G_TYPE_INT);
+
+  /**
+   * GstPlayBin3::source-setup:
+   * @playbin: a #GstPlayBin3
+   * @source: source element
+   *
+   * This signal is emitted after the source element has been created, so
+   * it can be configured by setting additional properties (e.g. set a
+   * proxy server for an http source, or set the device and read speed for
+   * an audio cd source). This is functionally equivalent to connecting to
+   * the notify::source signal, but more convenient.
+   *
+   * This signal is usually emitted from the context of a GStreamer streaming
+   * thread.
+   */
+  gst_play_bin3_signals[SIGNAL_SOURCE_SETUP] =
+      g_signal_new ("source-setup", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, 0, NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
+
+  /**
+   * GstPlayBin3::get-video-tags
+   * @playbin: a #GstPlayBin3
+   * @stream: a video stream number
+   *
+   * Action signal to retrieve the tags of a specific video stream number.
+   * This information can be used to select a stream.
+   *
+   * Returns: a GstTagList with tags or NULL when the stream number does not
+   * exist.
+   */
+  gst_play_bin3_signals[SIGNAL_GET_VIDEO_TAGS] =
+      g_signal_new ("get-video-tags", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstPlayBin3Class, get_video_tags), NULL, NULL,
+      g_cclosure_marshal_generic, GST_TYPE_TAG_LIST, 1, G_TYPE_INT);
+  /**
+   * GstPlayBin3::get-audio-tags
+   * @playbin: a #GstPlayBin3
+   * @stream: an audio stream number
+   *
+   * Action signal to retrieve the tags of a specific audio stream number.
+   * This information can be used to select a stream.
+   *
+   * Returns: a GstTagList with tags or NULL when the stream number does not
+   * exist.
+   */
+  gst_play_bin3_signals[SIGNAL_GET_AUDIO_TAGS] =
+      g_signal_new ("get-audio-tags", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstPlayBin3Class, get_audio_tags), NULL, NULL,
+      g_cclosure_marshal_generic, GST_TYPE_TAG_LIST, 1, G_TYPE_INT);
+  /**
+   * GstPlayBin3::get-text-tags
+   * @playbin: a #GstPlayBin3
+   * @stream: a text stream number
+   *
+   * Action signal to retrieve the tags of a specific text stream number.
+   * This information can be used to select a stream.
+   *
+   * Returns: a GstTagList with tags or NULL when the stream number does not
+   * exist.
+   */
+  gst_play_bin3_signals[SIGNAL_GET_TEXT_TAGS] =
+      g_signal_new ("get-text-tags", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstPlayBin3Class, get_text_tags), NULL, NULL,
+      g_cclosure_marshal_generic, GST_TYPE_TAG_LIST, 1, G_TYPE_INT);
+  /**
+   * GstPlayBin3::convert-sample
+   * @playbin: a #GstPlayBin3
+   * @caps: the target format of the frame
+   *
+   * Action signal to retrieve the currently playing video frame in the format
+   * specified by @caps.
+   * If @caps is %NULL, no conversion will be performed and this function is
+   * equivalent to the #GstPlayBin3::frame property.
+   *
+   * Returns: a #GstSample of the current video frame converted to #caps.
+   * The caps on the sample will describe the final layout of the buffer data.
+   * %NULL is returned when no current buffer can be retrieved or when the
+   * conversion failed.
+   */
+  gst_play_bin3_signals[SIGNAL_CONVERT_SAMPLE] =
+      g_signal_new ("convert-sample", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstPlayBin3Class, convert_sample), NULL, NULL,
+      g_cclosure_marshal_generic, GST_TYPE_SAMPLE, 1, GST_TYPE_CAPS);
+
+  /**
+   * GstPlayBin3::get-video-pad
+   * @playbin: a #GstPlayBin3
+   * @stream: a video stream number
+   *
+   * Action signal to retrieve the stream-combiner sinkpad for a specific
+   * video stream.
+   * This pad can be used for notifications of caps changes, stream-specific
+   * queries, etc.
+   *
+   * Returns: a #GstPad, or NULL when the stream number does not exist.
+   */
+  gst_play_bin3_signals[SIGNAL_GET_VIDEO_PAD] =
+      g_signal_new ("get-video-pad", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstPlayBin3Class, get_video_pad), NULL, NULL,
+      g_cclosure_marshal_generic, GST_TYPE_PAD, 1, G_TYPE_INT);
+  /**
+   * GstPlayBin3::get-audio-pad
+   * @playbin: a #GstPlayBin3
+   * @stream: an audio stream number
+   *
+   * Action signal to retrieve the stream-combiner sinkpad for a specific
+   * audio stream.
+   * This pad can be used for notifications of caps changes, stream-specific
+   * queries, etc.
+   *
+   * Returns: a #GstPad, or NULL when the stream number does not exist.
+   */
+  gst_play_bin3_signals[SIGNAL_GET_AUDIO_PAD] =
+      g_signal_new ("get-audio-pad", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstPlayBin3Class, get_audio_pad), NULL, NULL,
+      g_cclosure_marshal_generic, GST_TYPE_PAD, 1, G_TYPE_INT);
+  /**
+   * GstPlayBin3::get-text-pad
+   * @playbin: a #GstPlayBin3
+   * @stream: a text stream number
+   *
+   * Action signal to retrieve the stream-combiner sinkpad for a specific
+   * text stream.
+   * This pad can be used for notifications of caps changes, stream-specific
+   * queries, etc.
+   *
+   * Returns: a #GstPad, or NULL when the stream number does not exist.
+   */
+  gst_play_bin3_signals[SIGNAL_GET_TEXT_PAD] =
+      g_signal_new ("get-text-pad", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstPlayBin3Class, get_text_pad), NULL, NULL,
+      g_cclosure_marshal_generic, GST_TYPE_PAD, 1, G_TYPE_INT);
+
+  klass->get_video_tags = gst_play_bin3_get_video_tags;
+  klass->get_audio_tags = gst_play_bin3_get_audio_tags;
+  klass->get_text_tags = gst_play_bin3_get_text_tags;
+
+  klass->convert_sample = gst_play_bin3_convert_sample;
+
+  klass->get_video_pad = gst_play_bin3_get_video_pad;
+  klass->get_audio_pad = gst_play_bin3_get_audio_pad;
+  klass->get_text_pad = gst_play_bin3_get_text_pad;
+
+  gst_element_class_set_static_metadata (gstelement_klass,
+      "Player Bin 3", "Generic/Bin/Player",
+      "Autoplug and play media from an uri",
+      "Wim Taymans <wim.taymans@gmail.com>");
+
+  gstelement_klass->change_state =
+      GST_DEBUG_FUNCPTR (gst_play_bin3_change_state);
+  gstelement_klass->query = GST_DEBUG_FUNCPTR (gst_play_bin3_query);
+  gstelement_klass->set_context = GST_DEBUG_FUNCPTR (gst_play_bin3_set_context);
+  gstelement_klass->send_event = GST_DEBUG_FUNCPTR (gst_play_bin3_send_event);
+
+  gstbin_klass->handle_message =
+      GST_DEBUG_FUNCPTR (gst_play_bin3_handle_message);
+}
+
+static void
+do_async_start (GstPlayBin3 * playbin)
+{
+  GstMessage *message;
+
+  playbin->async_pending = TRUE;
+
+  message = gst_message_new_async_start (GST_OBJECT_CAST (playbin));
+  GST_BIN_CLASS (parent_class)->handle_message (GST_BIN_CAST (playbin),
+      message);
+}
+
+static void
+do_async_done (GstPlayBin3 * playbin)
+{
+  GstMessage *message;
+
+  if (playbin->async_pending) {
+    GST_DEBUG_OBJECT (playbin, "posting ASYNC_DONE");
+    message =
+        gst_message_new_async_done (GST_OBJECT_CAST (playbin),
+        GST_CLOCK_TIME_NONE);
+    GST_BIN_CLASS (parent_class)->handle_message (GST_BIN_CAST (playbin),
+        message);
+
+    playbin->async_pending = FALSE;
+  }
+}
+
+/* init combiners. The combiner is found by finding the first prefix that
+ * matches the media. */
+static void
+init_combiners (GstPlayBin3 * playbin)
+{
+  gint i;
+
+  /* store the array for the different channels */
+  for (i = 0; i < PLAYBIN_STREAM_LAST; i++)
+    playbin->channels[i] = g_ptr_array_new ();
+
+  playbin->combiner[PLAYBIN_STREAM_AUDIO].media_type = "audio";
+  playbin->combiner[PLAYBIN_STREAM_AUDIO].type = GST_PLAY_SINK_TYPE_AUDIO;
+  playbin->combiner[PLAYBIN_STREAM_AUDIO].channels = playbin->channels[0];
+  playbin->combiner[PLAYBIN_STREAM_AUDIO].streams =
+      g_ptr_array_new_with_free_func ((GDestroyNotify) gst_object_unref);
+  playbin->combiner[PLAYBIN_STREAM_AUDIO].current_stream = -1;
+
+  playbin->combiner[PLAYBIN_STREAM_VIDEO].media_type = "video";
+  playbin->combiner[PLAYBIN_STREAM_VIDEO].type = GST_PLAY_SINK_TYPE_VIDEO;
+  playbin->combiner[PLAYBIN_STREAM_VIDEO].channels = playbin->channels[1];
+  playbin->combiner[PLAYBIN_STREAM_VIDEO].streams =
+      g_ptr_array_new_with_free_func ((GDestroyNotify) gst_object_unref);
+  playbin->combiner[PLAYBIN_STREAM_VIDEO].current_stream = -1;
+
+  playbin->combiner[PLAYBIN_STREAM_TEXT].media_type = "text";
+  playbin->combiner[PLAYBIN_STREAM_TEXT].get_media_caps =
+      gst_subtitle_overlay_create_factory_caps;
+  playbin->combiner[PLAYBIN_STREAM_TEXT].type = GST_PLAY_SINK_TYPE_TEXT;
+  playbin->combiner[PLAYBIN_STREAM_TEXT].channels = playbin->channels[2];
+  playbin->combiner[PLAYBIN_STREAM_TEXT].streams =
+      g_ptr_array_new_with_free_func ((GDestroyNotify) gst_object_unref);
+  playbin->combiner[PLAYBIN_STREAM_TEXT].current_stream = -1;
+}
+
+/* Update the combiner information to be in sync with the current collection */
+static void
+update_combiner_info (GstPlayBin3 * playbin)
+{
+  guint i, len;
+
+  if (playbin->collection == NULL)
+    return;
+
+  GST_DEBUG_OBJECT (playbin, "Updating combiner info");
+
+  /* Wipe current combiner streams */
+  g_ptr_array_free (playbin->combiner[PLAYBIN_STREAM_AUDIO].streams, TRUE);
+  g_ptr_array_free (playbin->combiner[PLAYBIN_STREAM_VIDEO].streams, TRUE);
+  g_ptr_array_free (playbin->combiner[PLAYBIN_STREAM_TEXT].streams, TRUE);
+  playbin->combiner[PLAYBIN_STREAM_AUDIO].streams =
+      g_ptr_array_new_with_free_func ((GDestroyNotify) gst_object_unref);
+  playbin->combiner[PLAYBIN_STREAM_AUDIO].current_stream = -1;
+  playbin->combiner[PLAYBIN_STREAM_VIDEO].streams =
+      g_ptr_array_new_with_free_func ((GDestroyNotify) gst_object_unref);
+  playbin->combiner[PLAYBIN_STREAM_VIDEO].current_stream = -1;
+  playbin->combiner[PLAYBIN_STREAM_TEXT].streams =
+      g_ptr_array_new_with_free_func ((GDestroyNotify) gst_object_unref);
+  playbin->combiner[PLAYBIN_STREAM_TEXT].current_stream = -1;
+
+  len = gst_stream_collection_get_size (playbin->collection);
+  for (i = 0; i < len; i++) {
+    GstStream *stream =
+        gst_stream_collection_get_stream (playbin->collection, i);
+    GstStreamType stype = gst_stream_get_stream_type (stream);
+
+    switch (stype) {
+      case GST_STREAM_TYPE_AUDIO:
+        g_ptr_array_add (playbin->combiner[PLAYBIN_STREAM_AUDIO].streams,
+            gst_object_ref (stream));
+        break;
+      case GST_STREAM_TYPE_VIDEO:
+        g_ptr_array_add (playbin->combiner[PLAYBIN_STREAM_VIDEO].streams,
+            gst_object_ref (stream));
+        break;
+      case GST_STREAM_TYPE_TEXT:
+        g_ptr_array_add (playbin->combiner[PLAYBIN_STREAM_TEXT].streams,
+            gst_object_ref (stream));
+        break;
+      default:
+        break;
+    }
+  }
+
+  GST_DEBUG_OBJECT (playbin, "There are %d audio streams",
+      playbin->combiner[PLAYBIN_STREAM_AUDIO].streams->len);
+  GST_DEBUG_OBJECT (playbin, "There are %d video streams",
+      playbin->combiner[PLAYBIN_STREAM_VIDEO].streams->len);
+  GST_DEBUG_OBJECT (playbin, "There are %d text streams",
+      playbin->combiner[PLAYBIN_STREAM_TEXT].streams->len);
+}
+
+/* Set the given stream as the selected stream */
+static void
+set_selected_stream (GstPlayBin3 * playbin, GstStream * stream)
+{
+  GstSourceCombine *combine = NULL;
+
+  switch (gst_stream_get_stream_type (stream)) {
+    case GST_STREAM_TYPE_AUDIO:
+      combine = &playbin->combiner[PLAYBIN_STREAM_AUDIO];
+      break;
+    case GST_STREAM_TYPE_VIDEO:
+      combine = &playbin->combiner[PLAYBIN_STREAM_VIDEO];
+      break;
+    case GST_STREAM_TYPE_TEXT:
+      combine = &playbin->combiner[PLAYBIN_STREAM_TEXT];
+      break;
+    default:
+      break;
+  }
+
+  if (combine) {
+    if (combine->combiner == NULL) {
+      guint i, len;
+
+      GST_DEBUG_OBJECT (playbin, "Called for %s (%p)",
+          gst_stream_get_stream_id (stream), combine->combiner);
+
+      combine->current_stream = -1;
+      len = combine->streams->len;
+      for (i = 0; i < len; i++) {
+        GstStream *cand = g_ptr_array_index (combine->streams, i);
+        if (cand == stream) {
+          GST_DEBUG_OBJECT (playbin, "Setting current to %d", i);
+          combine->current_stream = i;
+          break;
+        }
+      }
+    }
+  }
+}
+
+static void
+init_group (GstPlayBin3 * playbin, GstSourceGroup * group)
+{
+  g_mutex_init (&group->lock);
+
+  group->stream_changed_pending = FALSE;
+  g_mutex_init (&group->stream_changed_pending_lock);
+
+  group->playbin = playbin;
+}
+
+static void
+free_group (GstPlayBin3 * playbin, GstSourceGroup * group)
+{
+  g_free (group->uri);
+  g_free (group->suburi);
+
+  g_mutex_clear (&group->lock);
+  group->stream_changed_pending = FALSE;
+  g_mutex_clear (&group->stream_changed_pending_lock);
+
+  if (group->pending_buffering_msg)
+    gst_message_unref (group->pending_buffering_msg);
+  group->pending_buffering_msg = NULL;
+
+  gst_object_replace ((GstObject **) & group->audio_sink, NULL);
+  gst_object_replace ((GstObject **) & group->video_sink, NULL);
+  gst_object_replace ((GstObject **) & group->text_sink, NULL);
+}
+
+static void
+notify_volume_cb (GObject * combiner, GParamSpec * pspec, GstPlayBin3 * playbin)
+{
+  g_object_notify (G_OBJECT (playbin), "volume");
+}
+
+static void
+notify_mute_cb (GObject * combiner, GParamSpec * pspec, GstPlayBin3 * playbin)
+{
+  g_object_notify (G_OBJECT (playbin), "mute");
+}
+
+static void
+colorbalance_value_changed_cb (GstColorBalance * balance,
+    GstColorBalanceChannel * channel, gint value, GstPlayBin3 * playbin)
+{
+  gst_color_balance_value_changed (GST_COLOR_BALANCE (playbin), channel, value);
+}
+
+static gint
+compare_factories_func (gconstpointer p1, gconstpointer p2)
+{
+  GstPluginFeature *f1, *f2;
+  gboolean is_sink1, is_sink2;
+  gboolean is_parser1, is_parser2;
+
+  f1 = (GstPluginFeature *) p1;
+  f2 = (GstPluginFeature *) p2;
+
+  is_sink1 = gst_element_factory_list_is_type (GST_ELEMENT_FACTORY_CAST (f1),
+      GST_ELEMENT_FACTORY_TYPE_SINK);
+  is_sink2 = gst_element_factory_list_is_type (GST_ELEMENT_FACTORY_CAST (f2),
+      GST_ELEMENT_FACTORY_TYPE_SINK);
+  is_parser1 = gst_element_factory_list_is_type (GST_ELEMENT_FACTORY_CAST (f1),
+      GST_ELEMENT_FACTORY_TYPE_PARSER);
+  is_parser2 = gst_element_factory_list_is_type (GST_ELEMENT_FACTORY_CAST (f2),
+      GST_ELEMENT_FACTORY_TYPE_PARSER);
+
+  /* First we want all sinks as we prefer a sink if it directly
+   * supports the current caps */
+  if (is_sink1 && !is_sink2)
+    return -1;
+  else if (!is_sink1 && is_sink2)
+    return 1;
+
+  /* Then we want all parsers as we always want to plug parsers
+   * before decoders */
+  if (is_parser1 && !is_parser2)
+    return -1;
+  else if (!is_parser1 && is_parser2)
+    return 1;
+
+  /* And if it's a both a parser or sink we first sort by rank
+   * and then by factory name */
+  return gst_plugin_feature_rank_compare_func (p1, p2);
+}
+
+/* Must be called with elements lock! */
+static void
+gst_play_bin3_update_elements_list (GstPlayBin3 * playbin)
+{
+  GList *res, *tmp;
+  guint cookie;
+
+  cookie = gst_registry_get_feature_list_cookie (gst_registry_get ());
+
+  if (!playbin->elements || playbin->elements_cookie != cookie) {
+    if (playbin->elements)
+      gst_plugin_feature_list_free (playbin->elements);
+    res =
+        gst_element_factory_list_get_elements
+        (GST_ELEMENT_FACTORY_TYPE_DECODABLE, GST_RANK_MARGINAL);
+    tmp =
+        gst_element_factory_list_get_elements
+        (GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS, GST_RANK_MARGINAL);
+    playbin->elements = g_list_concat (res, tmp);
+    playbin->elements = g_list_sort (playbin->elements, compare_factories_func);
+  }
+
+  if (!playbin->aelements || playbin->elements_cookie != cookie) {
+    if (playbin->aelements)
+      g_sequence_free (playbin->aelements);
+    playbin->aelements = avelements_create (playbin, TRUE);
+  }
+
+  if (!playbin->velements || playbin->elements_cookie != cookie) {
+    if (playbin->velements)
+      g_sequence_free (playbin->velements);
+    playbin->velements = avelements_create (playbin, FALSE);
+  }
+
+  playbin->elements_cookie = cookie;
+}
+
+static void
+gst_play_bin3_init (GstPlayBin3 * playbin)
+{
+  g_rec_mutex_init (&playbin->lock);
+  g_mutex_init (&playbin->dyn_lock);
+
+  /* assume we can create an input-selector */
+  playbin->have_selector = TRUE;
+
+  playbin->do_stream_selections = DEFAULT_AUTO_SELECT_STREAMS;
+
+  init_combiners (playbin);
+
+  /* init groups */
+  playbin->curr_group = &playbin->groups[0];
+  playbin->next_group = &playbin->groups[1];
+  init_group (playbin, &playbin->groups[0]);
+  init_group (playbin, &playbin->groups[1]);
+
+  /* first filter out the interesting element factories */
+  g_mutex_init (&playbin->elements_lock);
+
+  /* add sink */
+  playbin->playsink =
+      g_object_new (GST_TYPE_PLAY_SINK, "name", "playsink", "send-event-mode",
+      1, NULL);
+  gst_bin_add (GST_BIN_CAST (playbin), GST_ELEMENT_CAST (playbin->playsink));
+  gst_play_sink_set_flags (playbin->playsink, DEFAULT_FLAGS);
+  /* Connect to notify::volume and notify::mute signals for proxying */
+  g_signal_connect (playbin->playsink, "notify::volume",
+      G_CALLBACK (notify_volume_cb), playbin);
+  g_signal_connect (playbin->playsink, "notify::mute",
+      G_CALLBACK (notify_mute_cb), playbin);
+  g_signal_connect (playbin->playsink, "value-changed",
+      G_CALLBACK (colorbalance_value_changed_cb), playbin);
+
+  playbin->current_video = DEFAULT_CURRENT_VIDEO;
+  playbin->current_audio = DEFAULT_CURRENT_AUDIO;
+  playbin->current_text = DEFAULT_CURRENT_TEXT;
+
+  playbin->buffer_duration = DEFAULT_BUFFER_DURATION;
+  playbin->buffer_size = DEFAULT_BUFFER_SIZE;
+  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
+gst_play_bin3_finalize (GObject * object)
+{
+  GstPlayBin3 *playbin;
+  gint i;
+
+  playbin = GST_PLAY_BIN3 (object);
+
+  free_group (playbin, &playbin->groups[0]);
+  free_group (playbin, &playbin->groups[1]);
+
+  for (i = 0; i < PLAYBIN_STREAM_LAST; i++)
+    g_ptr_array_free (playbin->channels[i], TRUE);
+
+  if (playbin->source)
+    gst_object_unref (playbin->source);
+
+  /* Setting states to NULL is safe here because playsink
+   * will already be gone and none of these sinks will be
+   * a child of playsink
+   */
+  if (playbin->video_sink) {
+    gst_element_set_state (playbin->video_sink, GST_STATE_NULL);
+    gst_object_unref (playbin->video_sink);
+  }
+  if (playbin->audio_sink) {
+    gst_element_set_state (playbin->audio_sink, GST_STATE_NULL);
+    gst_object_unref (playbin->audio_sink);
+  }
+  if (playbin->text_sink) {
+    gst_element_set_state (playbin->text_sink, GST_STATE_NULL);
+    gst_object_unref (playbin->text_sink);
+  }
+
+  if (playbin->video_stream_combiner) {
+    gst_element_set_state (playbin->video_stream_combiner, GST_STATE_NULL);
+    gst_object_unref (playbin->video_stream_combiner);
+  }
+  if (playbin->audio_stream_combiner) {
+    gst_element_set_state (playbin->audio_stream_combiner, GST_STATE_NULL);
+    gst_object_unref (playbin->audio_stream_combiner);
+  }
+  if (playbin->text_stream_combiner) {
+    gst_element_set_state (playbin->text_stream_combiner, GST_STATE_NULL);
+    gst_object_unref (playbin->text_stream_combiner);
+  }
+
+  g_ptr_array_free (playbin->combiner[PLAYBIN_STREAM_AUDIO].streams, TRUE);
+  g_ptr_array_free (playbin->combiner[PLAYBIN_STREAM_VIDEO].streams, TRUE);
+  g_ptr_array_free (playbin->combiner[PLAYBIN_STREAM_TEXT].streams, TRUE);
+
+  if (playbin->decodebin)
+    gst_object_unref (playbin->decodebin);
+
+  if (playbin->elements)
+    gst_plugin_feature_list_free (playbin->elements);
+
+  if (playbin->aelements)
+    g_sequence_free (playbin->aelements);
+
+  if (playbin->velements)
+    g_sequence_free (playbin->velements);
+
+  g_list_free_full (playbin->contexts, (GDestroyNotify) gst_context_unref);
+
+  g_rec_mutex_clear (&playbin->lock);
+  g_mutex_clear (&playbin->dyn_lock);
+  g_mutex_clear (&playbin->elements_lock);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static gboolean
+gst_playbin_uri_is_valid (GstPlayBin3 * playbin, const gchar * uri)
+{
+  const gchar *c;
+
+  GST_LOG_OBJECT (playbin, "checking uri '%s'", uri);
+
+  /* this just checks the protocol */
+  if (!gst_uri_is_valid (uri))
+    return FALSE;
+
+  for (c = uri; *c != '\0'; ++c) {
+    if (!g_ascii_isprint (*c))
+      goto invalid;
+    if (*c == ' ')
+      goto invalid;
+  }
+
+  return TRUE;
+
+invalid:
+  {
+    GST_WARNING_OBJECT (playbin, "uri '%s' not valid, character #%u",
+        uri, (guint) ((guintptr) c - (guintptr) uri));
+    return FALSE;
+  }
+}
+
+static void
+gst_play_bin3_set_uri (GstPlayBin3 * playbin, const gchar * uri)
+{
+  GstSourceGroup *group;
+
+  if (uri == NULL) {
+    g_warning ("cannot set NULL uri");
+    return;
+  }
+
+  if (!gst_playbin_uri_is_valid (playbin, uri)) {
+    if (g_str_has_prefix (uri, "file:")) {
+      GST_WARNING_OBJECT (playbin, "not entirely correct file URI '%s' - make "
+          "sure to escape spaces and non-ASCII characters properly and specify "
+          "an absolute path. Use gst_filename_to_uri() to convert filenames "
+          "to URIs", uri);
+    } else {
+      /* GST_ERROR_OBJECT (playbin, "malformed URI '%s'", uri); */
+    }
+  }
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  group = playbin->next_group;
+
+  GST_SOURCE_GROUP_LOCK (group);
+  /* store the uri in the next group we will play */
+  g_free (group->uri);
+  group->uri = g_strdup (uri);
+  group->valid = TRUE;
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  GST_DEBUG ("set new uri to %s", uri);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+}
+
+static void
+gst_play_bin3_set_suburi (GstPlayBin3 * playbin, const gchar * suburi)
+{
+  GstSourceGroup *group;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  group = playbin->next_group;
+
+  GST_SOURCE_GROUP_LOCK (group);
+  g_free (group->suburi);
+  group->suburi = g_strdup (suburi);
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  GST_DEBUG ("setting new .sub uri to %s", suburi);
+
+  GST_PLAY_BIN3_UNLOCK (playbin);
+}
+
+static void
+gst_play_bin3_set_flags (GstPlayBin3 * playbin, GstPlayFlags flags)
+{
+  GstPlayFlags old_flags;
+  old_flags = gst_play_sink_get_flags (playbin->playsink);
+
+  if (flags != old_flags) {
+    gst_play_sink_set_flags (playbin->playsink, flags);
+    gst_play_sink_reconfigure (playbin->playsink);
+  }
+}
+
+static GstPlayFlags
+gst_play_bin3_get_flags (GstPlayBin3 * playbin)
+{
+  GstPlayFlags flags;
+
+  flags = gst_play_sink_get_flags (playbin->playsink);
+
+  return flags;
+}
+
+/* get the currently playing group or if nothing is playing, the next
+ * group. Must be called with the PLAY_BIN_LOCK. */
+static GstSourceGroup *
+get_group (GstPlayBin3 * playbin)
+{
+  GstSourceGroup *result;
+
+  if (!(result = playbin->curr_group))
+    result = playbin->next_group;
+
+  return result;
+}
+
+static GstPad *
+gst_play_bin3_get_pad_of_type (GstPlayBin3 * playbin, gint stream_type,
+    gint stream)
+{
+  GstPad *sinkpad = NULL;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  if (playbin->combiner[stream_type].combiner == NULL) {
+    GST_DEBUG_OBJECT (playbin,
+        "get-pad of type %d w/o custom-combiner. Returning playsink pad",
+        stream_type);
+    sinkpad = playbin->combiner[stream_type].sinkpad;
+    if (sinkpad) {
+      sinkpad = gst_object_ref (sinkpad);
+      goto done;
+    }
+  }
+  if (stream < playbin->channels[stream_type]->len) {
+    sinkpad = g_ptr_array_index (playbin->channels[stream_type], stream);
+    gst_object_ref (sinkpad);
+  }
+
+done:
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return sinkpad;
+}
+
+static GstPad *
+gst_play_bin3_get_video_pad (GstPlayBin3 * playbin, gint stream)
+{
+  return gst_play_bin3_get_pad_of_type (playbin, PLAYBIN_STREAM_VIDEO, stream);
+}
+
+static GstPad *
+gst_play_bin3_get_audio_pad (GstPlayBin3 * playbin, gint stream)
+{
+  return gst_play_bin3_get_pad_of_type (playbin, PLAYBIN_STREAM_AUDIO, stream);
+}
+
+static GstPad *
+gst_play_bin3_get_text_pad (GstPlayBin3 * playbin, gint stream)
+{
+  return gst_play_bin3_get_pad_of_type (playbin, PLAYBIN_STREAM_TEXT, stream);
+}
+
+
+static GstTagList *
+get_tags (GstPlayBin3 * playbin, GstStreamType type, gint stream_num)
+{
+  GstTagList *result = NULL;
+  gint nb_streams = gst_stream_collection_get_size (playbin->collection);
+  gint i, cur_idx = 0;
+
+  /* Count the streams of the type we want to find the one numbered 'stream' */
+  for (i = 0; i < nb_streams; i++) {
+    GstStream *stream =
+        gst_stream_collection_get_stream (playbin->collection, i);
+    GstStreamType stream_type = gst_stream_get_stream_type (stream);
+    if (stream_type != type)
+      continue;
+    if (cur_idx == stream_num)
+      return gst_stream_get_tags (stream);
+    cur_idx++;
+  }
+
+  return result;
+}
+
+static GstTagList *
+gst_play_bin3_get_video_tags (GstPlayBin3 * playbin, gint stream)
+{
+  GstTagList *result;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  result = get_tags (playbin, GST_STREAM_TYPE_VIDEO, stream);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return result;
+}
+
+static GstTagList *
+gst_play_bin3_get_audio_tags (GstPlayBin3 * playbin, gint stream)
+{
+  GstTagList *result;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  result = get_tags (playbin, GST_STREAM_TYPE_AUDIO, stream);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return result;
+}
+
+static GstTagList *
+gst_play_bin3_get_text_tags (GstPlayBin3 * playbin, gint stream)
+{
+  GstTagList *result;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  result = get_tags (playbin, GST_STREAM_TYPE_TEXT, stream);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return result;
+}
+
+static GstSample *
+gst_play_bin3_convert_sample (GstPlayBin3 * playbin, GstCaps * caps)
+{
+  return gst_play_sink_convert_sample (playbin->playsink, caps);
+}
+
+/* Returns current stream number, or -1 if none has been selected yet */
+static int
+get_current_stream_number (GstPlayBin3 * playbin, GstSourceCombine * combine,
+    GPtrArray * channels)
+{
+  /* Internal API cleanup would make this easier... */
+  int i;
+  GstPad *pad, *current;
+  GstObject *combiner = NULL;
+  int ret = -1;
+
+  if (!combine->has_active_pad) {
+    GST_WARNING_OBJECT (playbin,
+        "combiner doesn't have the \"active-pad\" property");
+    return ret;
+  }
+
+  for (i = 0; i < channels->len; i++) {
+    pad = g_ptr_array_index (channels, i);
+    if ((combiner = gst_pad_get_parent (pad))) {
+      g_object_get (combiner, "active-pad", &current, NULL);
+      gst_object_unref (combiner);
+
+      if (pad == current) {
+        gst_object_unref (current);
+        ret = i;
+        break;
+      }
+
+      if (current)
+        gst_object_unref (current);
+    }
+  }
+
+  return ret;
+}
+
+static gboolean
+gst_play_bin3_send_custom_event (GstObject * combiner, const gchar * event_name)
+{
+  GstPad *src;
+  GstPad *peer;
+  GstStructure *s;
+  GstEvent *event;
+  gboolean ret = FALSE;
+
+  src = gst_element_get_static_pad (GST_ELEMENT_CAST (combiner), "src");
+  peer = gst_pad_get_peer (src);
+  if (peer) {
+    s = gst_structure_new_empty (event_name);
+    event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM_OOB, s);
+    gst_pad_send_event (peer, event);
+    gst_object_unref (peer);
+    ret = TRUE;
+  }
+  gst_object_unref (src);
+  return ret;
+}
+
+static gboolean
+gst_play_bin3_set_current_stream (GstPlayBin3 * playbin,
+    gint stream_type, gint * current_value, gint stream,
+    gboolean * flush_marker)
+{
+  GstSourceCombine *combine;
+  GPtrArray *channels;
+  GstPad *sinkpad;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  /* This function is only called if the app sets
+   * one of the current-* properties, which means it doesn't
+   * handle collections or select-streams yet */
+  playbin->do_stream_selections = TRUE;
+
+  combine = playbin->combiner + stream_type;
+  channels = playbin->channels[stream_type];
+
+  GST_DEBUG_OBJECT (playbin, "Changing current %s stream %d -> %d",
+      stream_type_names[stream_type], *current_value, stream);
+
+  if (combine->combiner == NULL) {
+    /* FIXME: Check that the current_value is within range */
+    *current_value = stream;
+    do_stream_selection (playbin);
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    return TRUE;
+  }
+
+  GST_DEBUG_OBJECT (playbin, "Using old style combiner");
+
+  if (!combine->has_active_pad)
+    goto no_active_pad;
+  if (channels == NULL)
+    goto no_channels;
+
+  if (stream == -1 || channels->len <= stream) {
+    sinkpad = NULL;
+  } else {
+    /* take channel from selected stream */
+    sinkpad = g_ptr_array_index (channels, stream);
+  }
+
+  if (sinkpad)
+    gst_object_ref (sinkpad);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  if (sinkpad) {
+    GstObject *combiner;
+
+    if ((combiner = gst_pad_get_parent (sinkpad))) {
+      GstPad *old_sinkpad;
+
+      g_object_get (combiner, "active-pad", &old_sinkpad, NULL);
+
+      if (old_sinkpad != sinkpad) {
+        /* FIXME: Is there actually any reason playsink
+         * needs special names for each type of stream we flush? */
+        gchar *flush_event_name = g_strdup_printf ("playsink-custom-%s-flush",
+            stream_type_names[stream_type]);
+        if (gst_play_bin3_send_custom_event (combiner, flush_event_name))
+          *flush_marker = TRUE;
+        g_free (flush_event_name);
+
+        /* activate the selected pad */
+        g_object_set (combiner, "active-pad", sinkpad, NULL);
+      }
+
+      if (old_sinkpad)
+        gst_object_unref (old_sinkpad);
+
+      gst_object_unref (combiner);
+    }
+    gst_object_unref (sinkpad);
+  }
+  return TRUE;
+
+no_active_pad:
+  {
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    GST_WARNING_OBJECT (playbin,
+        "can't switch %s, the stream combiner's sink pads don't have the \"active-pad\" property",
+        stream_type_names[stream_type]);
+    return FALSE;
+  }
+no_channels:
+  {
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    GST_DEBUG_OBJECT (playbin, "can't switch video, we have no channels");
+    return FALSE;
+  }
+}
+
+static gboolean
+gst_play_bin3_set_current_video_stream (GstPlayBin3 * playbin, gint stream)
+{
+  return gst_play_bin3_set_current_stream (playbin, PLAYBIN_STREAM_VIDEO,
+      &playbin->current_video, stream, &playbin->video_pending_flush_finish);
+}
+
+static gboolean
+gst_play_bin3_set_current_audio_stream (GstPlayBin3 * playbin, gint stream)
+{
+  return gst_play_bin3_set_current_stream (playbin, PLAYBIN_STREAM_AUDIO,
+      &playbin->current_audio, stream, &playbin->audio_pending_flush_finish);
+}
+
+static gboolean
+gst_play_bin3_set_current_text_stream (GstPlayBin3 * playbin, gint stream)
+{
+  return gst_play_bin3_set_current_stream (playbin, PLAYBIN_STREAM_TEXT,
+      &playbin->current_text, stream, &playbin->text_pending_flush_finish);
+}
+
+static void
+source_combine_remove_pads (GstPlayBin3 * playbin, GstSourceCombine * combine)
+{
+  if (combine->sinkpad) {
+    GST_LOG_OBJECT (playbin, "unlinking from sink");
+    gst_pad_unlink (combine->srcpad, combine->sinkpad);
+
+    /* release back */
+    GST_LOG_OBJECT (playbin, "release sink pad");
+    gst_play_sink_release_pad (playbin->playsink, combine->sinkpad);
+    gst_object_unref (combine->sinkpad);
+    combine->sinkpad = NULL;
+  }
+  gst_object_unref (combine->srcpad);
+  combine->srcpad = NULL;
+}
+
+static GstPadProbeReturn
+block_serialized_data_cb (GstPad * pad, GstPadProbeInfo * info,
+    gpointer user_data)
+{
+  if (GST_IS_EVENT (info->data) && !GST_EVENT_IS_SERIALIZED (info->data)) {
+    GST_DEBUG_OBJECT (pad, "Letting non-serialized event %s pass",
+        GST_EVENT_TYPE_NAME (info->data));
+    return GST_PAD_PROBE_PASS;
+  }
+
+  return GST_PAD_PROBE_OK;
+}
+
+static void
+gst_play_bin3_set_sink (GstPlayBin3 * playbin, GstPlaySinkType type,
+    const gchar * dbg, GstElement ** elem, GstElement * sink)
+{
+  GST_INFO_OBJECT (playbin, "Setting %s sink to %" GST_PTR_FORMAT, dbg, sink);
+
+  gst_play_sink_set_sink (playbin->playsink, type, sink);
+
+  if (*elem)
+    gst_object_unref (*elem);
+  *elem = sink ? gst_object_ref (sink) : NULL;
+}
+
+static void
+gst_play_bin3_set_stream_combiner (GstPlayBin3 * playbin, GstElement ** elem,
+    const gchar * dbg, GstElement * combiner)
+{
+  GST_INFO_OBJECT (playbin, "Setting %s stream combiner to %" GST_PTR_FORMAT,
+      dbg, combiner);
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  if (*elem != combiner) {
+    GstElement *old;
+
+    old = *elem;
+    if (combiner)
+      gst_object_ref_sink (combiner);
+
+    *elem = combiner;
+    if (old)
+      gst_object_unref (old);
+  }
+  GST_LOG_OBJECT (playbin, "%s stream combiner now %" GST_PTR_FORMAT, dbg,
+      *elem);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+}
+
+static void
+gst_play_bin3_set_encoding (GstPlayBin3 * playbin, const gchar * encoding)
+{
+  GstElement *elem;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+
+  /* set subtitles on decodebin. */
+  if ((elem = playbin->decodebin))
+    g_object_set (G_OBJECT (elem), "subtitle-encoding", encoding, NULL);
+
+  gst_play_sink_set_subtitle_encoding (playbin->playsink, encoding);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+}
+
+static void
+gst_play_bin3_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (object);
+
+  switch (prop_id) {
+    case PROP_URI:
+      gst_play_bin3_set_uri (playbin, g_value_get_string (value));
+      break;
+    case PROP_SUBURI:
+      gst_play_bin3_set_suburi (playbin, g_value_get_string (value));
+      break;
+    case PROP_FLAGS:
+      gst_play_bin3_set_flags (playbin, g_value_get_flags (value));
+      if (playbin->curr_group) {
+        GST_SOURCE_GROUP_LOCK (playbin->curr_group);
+        if (playbin->curr_group->urisourcebin) {
+          g_object_set (playbin->curr_group->urisourcebin, "download",
+              (g_value_get_flags (value) & GST_PLAY_FLAG_DOWNLOAD) != 0, NULL);
+        }
+        GST_SOURCE_GROUP_UNLOCK (playbin->curr_group);
+      }
+      break;
+    case PROP_CURRENT_VIDEO:
+      gst_play_bin3_set_current_video_stream (playbin, g_value_get_int (value));
+      break;
+    case PROP_CURRENT_AUDIO:
+      gst_play_bin3_set_current_audio_stream (playbin, g_value_get_int (value));
+      break;
+    case PROP_CURRENT_TEXT:
+      gst_play_bin3_set_current_text_stream (playbin, g_value_get_int (value));
+      break;
+    case PROP_AUTO_SELECT_STREAMS:
+      GST_PLAY_BIN3_LOCK (playbin);
+      playbin->do_stream_selections = g_value_get_boolean (value);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_SUBTITLE_ENCODING:
+      gst_play_bin3_set_encoding (playbin, g_value_get_string (value));
+      break;
+    case PROP_VIDEO_FILTER:
+      gst_play_sink_set_filter (playbin->playsink, GST_PLAY_SINK_TYPE_VIDEO,
+          GST_ELEMENT (g_value_get_object (value)));
+      break;
+    case PROP_AUDIO_FILTER:
+      gst_play_sink_set_filter (playbin->playsink, GST_PLAY_SINK_TYPE_AUDIO,
+          GST_ELEMENT (g_value_get_object (value)));
+      break;
+    case PROP_VIDEO_SINK:
+      gst_play_bin3_set_sink (playbin, GST_PLAY_SINK_TYPE_VIDEO, "video",
+          &playbin->video_sink, g_value_get_object (value));
+      break;
+    case PROP_AUDIO_SINK:
+      gst_play_bin3_set_sink (playbin, GST_PLAY_SINK_TYPE_AUDIO, "audio",
+          &playbin->audio_sink, g_value_get_object (value));
+      break;
+    case PROP_VIS_PLUGIN:
+      gst_play_sink_set_vis_plugin (playbin->playsink,
+          g_value_get_object (value));
+      break;
+    case PROP_TEXT_SINK:
+      gst_play_bin3_set_sink (playbin, GST_PLAY_SINK_TYPE_TEXT, "text",
+          &playbin->text_sink, g_value_get_object (value));
+      break;
+    case PROP_VIDEO_STREAM_COMBINER:
+      gst_play_bin3_set_stream_combiner (playbin,
+          &playbin->video_stream_combiner, "video", g_value_get_object (value));
+      break;
+    case PROP_AUDIO_STREAM_COMBINER:
+      gst_play_bin3_set_stream_combiner (playbin,
+          &playbin->audio_stream_combiner, "audio", g_value_get_object (value));
+      break;
+    case PROP_TEXT_STREAM_COMBINER:
+      gst_play_bin3_set_stream_combiner (playbin,
+          &playbin->text_stream_combiner, "text", g_value_get_object (value));
+      break;
+    case PROP_VOLUME:
+      gst_play_sink_set_volume (playbin->playsink, g_value_get_double (value));
+      break;
+    case PROP_MUTE:
+      gst_play_sink_set_mute (playbin->playsink, g_value_get_boolean (value));
+      break;
+    case PROP_FONT_DESC:
+      gst_play_sink_set_font_desc (playbin->playsink,
+          g_value_get_string (value));
+      break;
+    case PROP_CONNECTION_SPEED:
+      GST_PLAY_BIN3_LOCK (playbin);
+      playbin->connection_speed = g_value_get_uint64 (value) * 1000;
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_BUFFER_SIZE:
+      playbin->buffer_size = g_value_get_int (value);
+      break;
+    case PROP_BUFFER_DURATION:
+      playbin->buffer_duration = g_value_get_int64 (value);
+      break;
+    case PROP_AV_OFFSET:
+      gst_play_sink_set_av_offset (playbin->playsink,
+          g_value_get_int64 (value));
+      break;
+    case PROP_RING_BUFFER_MAX_SIZE:
+      playbin->ring_buffer_max_size = g_value_get_uint64 (value);
+      if (playbin->curr_group) {
+        GST_SOURCE_GROUP_LOCK (playbin->curr_group);
+        if (playbin->curr_group->urisourcebin) {
+          g_object_set (playbin->curr_group->urisourcebin,
+              "ring-buffer-max-size", playbin->ring_buffer_max_size, NULL);
+        }
+        GST_SOURCE_GROUP_UNLOCK (playbin->curr_group);
+      }
+      break;
+    case PROP_FORCE_ASPECT_RATIO:
+      g_object_set (playbin->playsink, "force-aspect-ratio",
+          g_value_get_boolean (value), NULL);
+      break;
+    case PROP_MULTIVIEW_MODE:
+      GST_PLAY_BIN3_LOCK (playbin);
+      playbin->multiview_mode = g_value_get_enum (value);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_MULTIVIEW_FLAGS:
+      GST_PLAY_BIN3_LOCK (playbin);
+      playbin->multiview_flags = g_value_get_flags (value);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static GstElement *
+gst_play_bin3_get_current_sink (GstPlayBin3 * playbin, GstElement ** elem,
+    const gchar * dbg, GstPlaySinkType type)
+{
+  GstElement *sink = gst_play_sink_get_sink (playbin->playsink, type);
+
+  GST_LOG_OBJECT (playbin, "play_sink_get_sink() returned %s sink %"
+      GST_PTR_FORMAT ", the originally set %s sink is %" GST_PTR_FORMAT,
+      dbg, sink, dbg, *elem);
+
+  if (sink == NULL) {
+    GST_PLAY_BIN3_LOCK (playbin);
+    if ((sink = *elem))
+      gst_object_ref (sink);
+    GST_PLAY_BIN3_UNLOCK (playbin);
+  }
+
+  return sink;
+}
+
+static GstElement *
+gst_play_bin3_get_current_stream_combiner (GstPlayBin3 * playbin,
+    GstElement ** elem, const gchar * dbg, int stream_type)
+{
+  GstElement *combiner;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  if ((combiner = playbin->combiner[stream_type].combiner))
+    gst_object_ref (combiner);
+  else if ((combiner = *elem))
+    gst_object_ref (combiner);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return combiner;
+}
+
+static void
+gst_play_bin3_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (object);
+
+  switch (prop_id) {
+    case PROP_URI:
+    {
+      GstSourceGroup *group;
+
+      GST_PLAY_BIN3_LOCK (playbin);
+      group = playbin->next_group;
+      g_value_set_string (value, group->uri);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    }
+    case PROP_CURRENT_URI:
+    {
+      GstSourceGroup *group;
+
+      GST_PLAY_BIN3_LOCK (playbin);
+      group = get_group (playbin);
+      g_value_set_string (value, group->uri);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    }
+    case PROP_SUBURI:
+    {
+      GstSourceGroup *group;
+
+      GST_PLAY_BIN3_LOCK (playbin);
+      group = playbin->next_group;
+      g_value_set_string (value, group->suburi);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    }
+    case PROP_CURRENT_SUBURI:
+    {
+      GstSourceGroup *group;
+
+      GST_PLAY_BIN3_LOCK (playbin);
+      group = get_group (playbin);
+      g_value_set_string (value, group->suburi);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    }
+    case PROP_SOURCE:
+    {
+      GST_OBJECT_LOCK (playbin);
+      g_value_set_object (value, playbin->source);
+      GST_OBJECT_UNLOCK (playbin);
+      break;
+    }
+    case PROP_FLAGS:
+      g_value_set_flags (value, gst_play_bin3_get_flags (playbin));
+      break;
+    case PROP_N_VIDEO:
+    {
+      gint n_video;
+
+      GST_PLAY_BIN3_LOCK (playbin);
+      n_video =
+          playbin->combiner[PLAYBIN_STREAM_VIDEO].
+          streams ? playbin->combiner[PLAYBIN_STREAM_VIDEO].streams->len : 0;
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      g_value_set_int (value, n_video);
+      break;
+    }
+    case PROP_CURRENT_VIDEO:
+      GST_PLAY_BIN3_LOCK (playbin);
+      if (playbin->combiner[PLAYBIN_STREAM_VIDEO].current_stream != -1)
+        g_value_set_int (value,
+            playbin->combiner[PLAYBIN_STREAM_VIDEO].current_stream);
+      else
+        g_value_set_int (value, playbin->current_video);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_N_AUDIO:
+    {
+      gint n_audio;
+
+      GST_PLAY_BIN3_LOCK (playbin);
+      n_audio =
+          playbin->combiner[PLAYBIN_STREAM_AUDIO].
+          streams ? playbin->combiner[PLAYBIN_STREAM_AUDIO].streams->len : 0;
+      GST_PLAY_BIN3_UNLOCK (playbin);
+
+      g_value_set_int (value, n_audio);
+      break;
+    }
+    case PROP_CURRENT_AUDIO:
+      GST_PLAY_BIN3_LOCK (playbin);
+      if (playbin->combiner[PLAYBIN_STREAM_AUDIO].current_stream != -1)
+        g_value_set_int (value,
+            playbin->combiner[PLAYBIN_STREAM_AUDIO].current_stream);
+      else
+        g_value_set_int (value, playbin->current_audio);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_N_TEXT:
+    {
+      gint n_text;
+
+      GST_PLAY_BIN3_LOCK (playbin);
+      n_text =
+          playbin->combiner[PLAYBIN_STREAM_TEXT].
+          streams ? playbin->combiner[PLAYBIN_STREAM_TEXT].streams->len : 0;
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      g_value_set_int (value, n_text);
+      break;
+    }
+    case PROP_CURRENT_TEXT:
+      GST_PLAY_BIN3_LOCK (playbin);
+      if (playbin->combiner[PLAYBIN_STREAM_TEXT].current_stream != -1)
+        g_value_set_int (value,
+            playbin->combiner[PLAYBIN_STREAM_TEXT].current_stream);
+      else
+        g_value_set_int (value, playbin->current_text);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_AUTO_SELECT_STREAMS:
+      GST_PLAY_BIN3_LOCK (playbin);
+      g_value_set_boolean (value, playbin->do_stream_selections);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_SUBTITLE_ENCODING:
+      GST_PLAY_BIN3_LOCK (playbin);
+      g_value_take_string (value,
+          gst_play_sink_get_subtitle_encoding (playbin->playsink));
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_VIDEO_FILTER:
+      g_value_take_object (value,
+          gst_play_sink_get_filter (playbin->playsink,
+              GST_PLAY_SINK_TYPE_VIDEO));
+      break;
+    case PROP_AUDIO_FILTER:
+      g_value_take_object (value,
+          gst_play_sink_get_filter (playbin->playsink,
+              GST_PLAY_SINK_TYPE_AUDIO));
+      break;
+    case PROP_VIDEO_SINK:
+      g_value_take_object (value,
+          gst_play_bin3_get_current_sink (playbin, &playbin->video_sink,
+              "video", GST_PLAY_SINK_TYPE_VIDEO));
+      break;
+    case PROP_AUDIO_SINK:
+      g_value_take_object (value,
+          gst_play_bin3_get_current_sink (playbin, &playbin->audio_sink,
+              "audio", GST_PLAY_SINK_TYPE_AUDIO));
+      break;
+    case PROP_VIS_PLUGIN:
+      g_value_take_object (value,
+          gst_play_sink_get_vis_plugin (playbin->playsink));
+      break;
+    case PROP_TEXT_SINK:
+      g_value_take_object (value,
+          gst_play_bin3_get_current_sink (playbin, &playbin->text_sink,
+              "text", GST_PLAY_SINK_TYPE_TEXT));
+      break;
+    case PROP_VIDEO_STREAM_COMBINER:
+      g_value_take_object (value,
+          gst_play_bin3_get_current_stream_combiner (playbin,
+              &playbin->video_stream_combiner, "video", PLAYBIN_STREAM_VIDEO));
+      break;
+    case PROP_AUDIO_STREAM_COMBINER:
+      g_value_take_object (value,
+          gst_play_bin3_get_current_stream_combiner (playbin,
+              &playbin->audio_stream_combiner, "audio", PLAYBIN_STREAM_AUDIO));
+      break;
+    case PROP_TEXT_STREAM_COMBINER:
+      g_value_take_object (value,
+          gst_play_bin3_get_current_stream_combiner (playbin,
+              &playbin->text_stream_combiner, "text", PLAYBIN_STREAM_TEXT));
+      break;
+    case PROP_VOLUME:
+      g_value_set_double (value, gst_play_sink_get_volume (playbin->playsink));
+      break;
+    case PROP_MUTE:
+      g_value_set_boolean (value, gst_play_sink_get_mute (playbin->playsink));
+      break;
+    case PROP_SAMPLE:
+      gst_value_take_sample (value,
+          gst_play_sink_get_last_sample (playbin->playsink));
+      break;
+    case PROP_FONT_DESC:
+      g_value_take_string (value,
+          gst_play_sink_get_font_desc (playbin->playsink));
+      break;
+    case PROP_CONNECTION_SPEED:
+      GST_PLAY_BIN3_LOCK (playbin);
+      g_value_set_uint64 (value, playbin->connection_speed / 1000);
+      GST_PLAY_BIN3_UNLOCK (playbin);
+      break;
+    case PROP_BUFFER_SIZE:
+      GST_OBJECT_LOCK (playbin);
+      g_value_set_int (value, playbin->buffer_size);
+      GST_OBJECT_UNLOCK (playbin);
+      break;
+    case PROP_BUFFER_DURATION:
+      GST_OBJECT_LOCK (playbin);
+      g_value_set_int64 (value, playbin->buffer_duration);
+      GST_OBJECT_UNLOCK (playbin);
+      break;
+    case PROP_AV_OFFSET:
+      g_value_set_int64 (value,
+          gst_play_sink_get_av_offset (playbin->playsink));
+      break;
+    case PROP_RING_BUFFER_MAX_SIZE:
+      g_value_set_uint64 (value, playbin->ring_buffer_max_size);
+      break;
+    case PROP_FORCE_ASPECT_RATIO:{
+      gboolean v;
+
+      g_object_get (playbin->playsink, "force-aspect-ratio", &v, NULL);
+      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;
+  }
+}
+
+static void
+gst_play_bin3_update_cached_duration_from_query (GstPlayBin3 * playbin,
+    gboolean valid, GstQuery * query)
+{
+  GstFormat fmt;
+  gint64 duration;
+  gint i;
+
+  GST_DEBUG_OBJECT (playbin, "Updating cached duration from query");
+  gst_query_parse_duration (query, &fmt, &duration);
+
+  for (i = 0; i < G_N_ELEMENTS (playbin->duration); i++) {
+    if (playbin->duration[i].format == 0 || fmt == playbin->duration[i].format) {
+      playbin->duration[i].valid = valid;
+      playbin->duration[i].format = fmt;
+      playbin->duration[i].duration = valid ? duration : -1;
+      break;
+    }
+  }
+}
+
+static void
+gst_play_bin3_update_cached_duration (GstPlayBin3 * playbin)
+{
+  const GstFormat formats[] =
+      { GST_FORMAT_TIME, GST_FORMAT_BYTES, GST_FORMAT_DEFAULT };
+  gboolean ret;
+  GstQuery *query;
+  gint i;
+
+  GST_DEBUG_OBJECT (playbin, "Updating cached durations before group switch");
+  for (i = 0; i < G_N_ELEMENTS (formats); i++) {
+    query = gst_query_new_duration (formats[i]);
+    ret =
+        GST_ELEMENT_CLASS (parent_class)->query (GST_ELEMENT_CAST (playbin),
+        query);
+    gst_play_bin3_update_cached_duration_from_query (playbin, ret, query);
+    gst_query_unref (query);
+  }
+}
+
+static gboolean
+gst_play_bin3_query (GstElement * element, GstQuery * query)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (element);
+  gboolean ret;
+
+  /* During a group switch we shouldn't allow duration queries
+   * because it's not clear if the old or new group's duration
+   * is returned and if the sinks are already playing new data
+   * or old data. See bug #585969
+   *
+   * While we're at it, also don't do any other queries during
+   * a group switch or any other event that causes topology changes
+   * by taking the playbin lock in any case.
+   */
+  GST_PLAY_BIN3_LOCK (playbin);
+
+  if (GST_QUERY_TYPE (query) == GST_QUERY_DURATION) {
+    GstSourceGroup *group = playbin->curr_group;
+    gboolean pending;
+
+    GST_SOURCE_GROUP_LOCK (group);
+
+    pending = group->pending || group->stream_changed_pending;
+
+    if (pending) {
+      GstFormat fmt;
+      gint i;
+
+      ret = FALSE;
+      gst_query_parse_duration (query, &fmt, NULL);
+      for (i = 0; i < G_N_ELEMENTS (playbin->duration); i++) {
+        if (fmt == playbin->duration[i].format) {
+          ret = playbin->duration[i].valid;
+          gst_query_set_duration (query, fmt,
+              (ret ? playbin->duration[i].duration : -1));
+          break;
+        }
+      }
+      /* if nothing cached yet, we might as well request duration,
+       * such as during initial startup */
+      if (ret) {
+        GST_DEBUG_OBJECT (playbin,
+            "Taking cached duration because of pending group switch: %d", ret);
+        GST_SOURCE_GROUP_UNLOCK (group);
+        GST_PLAY_BIN3_UNLOCK (playbin);
+        return ret;
+      }
+    }
+    GST_SOURCE_GROUP_UNLOCK (group);
+  }
+
+  ret = GST_ELEMENT_CLASS (parent_class)->query (element, query);
+
+  if (GST_QUERY_TYPE (query) == GST_QUERY_DURATION)
+    gst_play_bin3_update_cached_duration_from_query (playbin, ret, query);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return ret;
+}
+
+static gint
+get_combiner_stream_id (GstPlayBin3 * playbin, GstSourceCombine * combine,
+    GList * full_list)
+{
+  gint i;
+  GList *tmp;
+
+  for (i = 0; combine->streams->len; i++) {
+    GstStream *stream = (GstStream *) g_ptr_array_index (combine->streams, i);
+    const gchar *sid = gst_stream_get_stream_id (stream);
+    for (tmp = full_list; tmp; tmp = tmp->next) {
+      gchar *orig = (gchar *) tmp->data;
+      if (!g_strcmp0 (orig, sid))
+        return i;
+    }
+  }
+
+  /* Fallback */
+  return -1;
+}
+
+static GList *
+extend_list_of_streams (GstPlayBin3 * playbin, GstStreamType stype,
+    GList * list)
+{
+  GList *tmp, *res;
+  gint i, nb;
+
+  res = list;
+
+  nb = gst_stream_collection_get_size (playbin->collection);
+  for (i = 0; i < nb; i++) {
+    GstStream *stream =
+        gst_stream_collection_get_stream (playbin->collection, i);
+    GstStreamType curtype = gst_stream_get_stream_type (stream);
+    if (stype == curtype) {
+      gboolean already_there = FALSE;
+      const gchar *sid = gst_stream_get_stream_id (stream);
+      for (tmp = res; tmp; tmp = tmp->next) {
+        const gchar *other = (const gchar *) tmp->data;
+        if (!g_strcmp0 (sid, other)) {
+          already_there = TRUE;
+          break;
+        }
+      }
+      if (!already_there) {
+        GST_DEBUG_OBJECT (playbin, "Adding stream %s", sid);
+        res = g_list_append (res, g_strdup (sid));
+      }
+    }
+  }
+
+  return res;
+}
+
+static GstEvent *
+update_select_streams_event (GstPlayBin3 * playbin, GstEvent * event)
+{
+  GList *streams = NULL;
+  GList *to_use;
+  gint combine_id;
+
+  if (!playbin->audio_stream_combiner && !playbin->video_stream_combiner &&
+      !playbin->text_stream_combiner) {
+    /* Nothing to do */
+    GST_DEBUG_OBJECT (playbin,
+        "No custom combiners, no need to modify SELECT_STREAMS event");
+    return event;
+  }
+
+  gst_event_parse_select_streams (event, &streams);
+  to_use = g_list_copy_deep (streams, (GCopyFunc) g_strdup, NULL);
+
+  /* For each combiner, we want to add all streams of that type to the
+   * selection */
+  if (playbin->audio_stream_combiner) {
+    to_use = extend_list_of_streams (playbin, GST_STREAM_TYPE_AUDIO, to_use);
+    combine_id =
+        get_combiner_stream_id (playbin,
+        &playbin->combiner[PLAYBIN_STREAM_AUDIO], streams);
+    if (combine_id != -1)
+      gst_play_bin3_set_current_audio_stream (playbin, combine_id);
+  }
+  if (playbin->video_stream_combiner) {
+    to_use = extend_list_of_streams (playbin, GST_STREAM_TYPE_VIDEO, to_use);
+    combine_id =
+        get_combiner_stream_id (playbin,
+        &playbin->combiner[PLAYBIN_STREAM_VIDEO], streams);
+    if (combine_id != -1)
+      gst_play_bin3_set_current_video_stream (playbin, combine_id);
+  }
+  if (playbin->text_stream_combiner) {
+    to_use = extend_list_of_streams (playbin, GST_STREAM_TYPE_TEXT, to_use);
+    combine_id =
+        get_combiner_stream_id (playbin,
+        &playbin->combiner[PLAYBIN_STREAM_TEXT], streams);
+    if (combine_id != -1)
+      gst_play_bin3_set_current_text_stream (playbin, combine_id);
+  }
+
+  gst_event_unref (event);
+  return gst_event_new_select_streams (to_use);
+}
+
+static gboolean
+gst_play_bin3_send_event (GstElement * element, GstEvent * event)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (element);
+
+  if (GST_EVENT_TYPE (event) == GST_EVENT_SELECT_STREAMS) {
+    gboolean res;
+
+    GST_PLAY_BIN3_LOCK (playbin);
+    GST_LOG_OBJECT (playbin,
+        "App sent select-streams, we won't do anything ourselves now");
+    /* This is probably already false, but it doesn't hurt to be sure */
+    playbin->do_stream_selections = FALSE;
+
+    /* If we have custom combiners, we need to extend the selection with
+     * the list of all streams for that given type since we will be handling
+     * the selection with that combiner */
+    event = update_select_streams_event (playbin, event);
+
+    /* Send this event directly to decodebin, so it works even
+     * if decodebin didn't add any pads yet */
+    res = gst_element_send_event (playbin->decodebin, event);
+    GST_PLAY_BIN3_UNLOCK (playbin);
+
+    return res;
+  }
+
+  /* Send event directly to playsink instead of letting GstBin iterate
+   * over all sink elements. The latter might send the event multiple times
+   * in case the SEEK causes a reconfiguration of the pipeline, as can easily
+   * happen with adaptive streaming demuxers.
+   *
+   * What would then happen is that the iterator would be reset, we send the
+   * event again, and on the second time it will fail in the majority of cases
+   * because the pipeline is still being reconfigured
+   */
+  if (GST_EVENT_IS_UPSTREAM (event)) {
+    return gst_element_send_event (GST_ELEMENT_CAST (playbin->playsink), event);
+  }
+
+  return GST_ELEMENT_CLASS (parent_class)->send_event (element, event);
+}
+
+/* Called with playbin lock held */
+static void
+do_stream_selection (GstPlayBin3 * playbin)
+{
+  GstStreamCollection *collection;
+  guint i, nb_streams;
+  GList *streams = NULL;
+  gint nb_video = 0, nb_audio = 0, nb_text = 0;
+  GstStreamType chosen_stream_types = 0;
+
+  collection = playbin->collection;
+  if (collection == NULL) {
+    GST_LOG_OBJECT (playbin, "No stream collection. Not doing stream-select");
+    return;
+  }
+
+  nb_streams = gst_stream_collection_get_size (collection);
+  if (nb_streams == 0) {
+    GST_INFO_OBJECT (playbin, "Empty collection received! Ignoring");
+  }
+
+  /* Iterate the collection and choose the streams that match
+   * either the current-* setting, or all streams of a type if there's
+   * a combiner for that type */
+  for (i = 0; i < nb_streams; i++) {
+    GstStream *stream = gst_stream_collection_get_stream (collection, i);
+    GstStreamType stream_type = gst_stream_get_stream_type (stream);
+    const gchar *stream_id = gst_stream_get_stream_id (stream);
+    gint pb_stream_type = -1;
+    gboolean select_this = FALSE;
+
+    switch (stream_type) {
+      case GST_STREAM_TYPE_AUDIO:
+        pb_stream_type = PLAYBIN_STREAM_AUDIO;
+        /* Select the stream if it's the current one or if there's a custom selector */
+        select_this =
+            (nb_audio == playbin->current_audio ||
+            (playbin->current_audio == -1 && nb_audio == 0) ||
+            playbin->audio_stream_combiner != NULL);
+        nb_audio++;
+        break;
+      case GST_STREAM_TYPE_VIDEO:
+        pb_stream_type = PLAYBIN_STREAM_AUDIO;
+        select_this =
+            (nb_video == playbin->current_video ||
+            (playbin->current_video == -1 && nb_video == 0) ||
+            playbin->video_stream_combiner != NULL);
+        nb_video++;
+        break;
+      case GST_STREAM_TYPE_TEXT:
+        pb_stream_type = PLAYBIN_STREAM_TEXT;
+        select_this =
+            (nb_text == playbin->current_text ||
+            (playbin->current_text == -1 && nb_text == 0) ||
+            playbin->text_stream_combiner != NULL);
+        nb_text++;
+        break;
+      default:
+        break;
+    }
+    if (pb_stream_type < 0) {
+      GST_DEBUG_OBJECT (playbin,
+          "Stream %d (id %s) of unhandled type %s. Ignoring", i, stream_id,
+          gst_stream_type_get_name (stream_type));
+      continue;
+    }
+    if (select_this) {
+      GST_DEBUG_OBJECT (playbin, "Selecting stream %s of type %s",
+          stream_id, gst_stream_type_get_name (stream_type));
+      /* Don't build the list if we're not in charge of stream selection */
+      if (playbin->do_stream_selections)
+        streams = g_list_append (streams, (gpointer) stream_id);
+      chosen_stream_types |= stream_type;
+    }
+  }
+
+  if (streams) {
+    GstEvent *ev = gst_event_new_select_streams (streams);
+    gst_element_send_event (playbin->decodebin, ev);
+    g_list_free (streams);
+  }
+  playbin->selected_stream_types = chosen_stream_types;
+}
+
+/* mime types we are not handling on purpose right now, don't post a
+ * missing-plugin message for these */
+static const gchar *blacklisted_mimes[] = {
+  NULL
+};
+
+static void
+notify_all_streams (GstPlayBin3 * playbin, GstStreamCollection * collection)
+{
+  gint i, nb_streams;
+  nb_streams = gst_stream_collection_get_size (collection);
+  for (i = 0; i < nb_streams; i++)
+    notify_tags_for_stream (playbin, collection,
+        gst_stream_collection_get_stream (collection, i));
+}
+
+static void
+gst_play_bin3_handle_message (GstBin * bin, GstMessage * msg)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (bin);
+
+  if (gst_is_missing_plugin_message (msg)) {
+    gchar *detail;
+    guint i;
+
+    detail = gst_missing_plugin_message_get_installer_detail (msg);
+    for (i = 0; detail != NULL && blacklisted_mimes[i] != NULL; ++i) {
+      if (strstr (detail, "|decoder-") && strstr (detail, blacklisted_mimes[i])) {
+        GST_LOG_OBJECT (bin, "suppressing message %" GST_PTR_FORMAT, msg);
+        gst_message_unref (msg);
+        g_free (detail);
+        return;
+      }
+    }
+    g_free (detail);
+  } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_STREAM_START) {
+    GstSourceGroup *new_group = playbin->curr_group;
+    GstMessage *buffering_msg = NULL;
+
+    GST_SOURCE_GROUP_LOCK (new_group);
+    new_group->stream_changed_pending = FALSE;
+    if (new_group->pending_buffering_msg) {
+      buffering_msg = new_group->pending_buffering_msg;
+      new_group->pending_buffering_msg = NULL;
+    }
+    GST_SOURCE_GROUP_UNLOCK (new_group);
+
+    GST_DEBUG_OBJECT (playbin, "Stream start from new group %p", new_group);
+
+    if (buffering_msg) {
+      GST_DEBUG_OBJECT (playbin, "Posting pending buffering message: %"
+          GST_PTR_FORMAT, buffering_msg);
+      GST_BIN_CLASS (parent_class)->handle_message (bin, buffering_msg);
+    }
+
+  } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_BUFFERING) {
+    GstSourceGroup *group = playbin->curr_group;
+    gboolean pending;
+
+    /* drop buffering messages from child queues while we are switching
+     * groups (because the application set a new uri in about-to-finish)
+     * if the playsink queue still has buffers to play */
+
+    GST_SOURCE_GROUP_LOCK (group);
+    pending = group->stream_changed_pending;
+
+    if (pending) {
+      GST_DEBUG_OBJECT (playbin, "Storing buffering message from pending group "
+          "%p %" GST_PTR_FORMAT, group, msg);
+      gst_message_replace (&group->pending_buffering_msg, msg);
+      gst_message_unref (msg);
+      msg = NULL;
+    }
+    GST_SOURCE_GROUP_UNLOCK (group);
+  } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_STREAM_COLLECTION) {
+    GstStreamCollection *collection = NULL;
+    GstObject *src = GST_MESSAGE_SRC (msg);
+    gboolean pstate = playbin->do_stream_selections;
+
+    gst_message_parse_stream_collection (msg, &collection);
+
+    if (collection) {
+      GST_PLAY_BIN3_LOCK (playbin);
+      GST_DEBUG_OBJECT (playbin,
+          "STREAM_COLLECTION: Got a collection from %" GST_PTR_FORMAT, src);
+      if (playbin->collection && playbin->collection_notify_id) {
+        g_signal_handler_disconnect (playbin->collection,
+            playbin->collection_notify_id);
+        playbin->collection_notify_id = 0;
+      }
+      gst_object_replace ((GstObject **) & playbin->collection,
+          (GstObject *) collection);
+      playbin->collection_notify_id =
+          g_signal_connect (collection, "stream-notify::tags",
+          (GCallback) notify_tags_cb, playbin);
+      update_combiner_info (playbin);
+      if (pstate)
+        playbin->do_stream_selections = FALSE;
+      do_stream_selection (playbin);
+      if (pstate)
+        playbin->do_stream_selections = TRUE;
+      GST_PLAY_BIN3_UNLOCK (playbin);
+
+      notify_all_streams (playbin, collection);
+    }
+  } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_STREAMS_SELECTED) {
+    GstStreamCollection *collection = NULL;
+    GstObject *src = GST_MESSAGE_SRC (msg);
+    gboolean pstate = playbin->do_stream_selections;
+
+    gst_message_parse_streams_selected (msg, &collection);
+    if (collection) {
+      guint i, len;
+      GST_PLAY_BIN3_LOCK (playbin);
+      GST_DEBUG_OBJECT (playbin,
+          "STREAMS_SELECTED: Got a collection from %" GST_PTR_FORMAT, src);
+      if (playbin->collection && playbin->collection_notify_id) {
+        g_signal_handler_disconnect (playbin->collection,
+            playbin->collection_notify_id);
+        playbin->collection_notify_id = 0;
+      }
+      gst_object_replace ((GstObject **) & playbin->collection,
+          (GstObject *) collection);
+      playbin->collection_notify_id =
+          g_signal_connect (collection, "stream-notify::tags",
+          (GCallback) notify_tags_cb, playbin);
+      update_combiner_info (playbin);
+      len = gst_message_streams_selected_get_size (msg);
+      for (i = 0; i < len; i++) {
+        set_selected_stream (playbin,
+            gst_message_streams_selected_get_stream (msg, i));
+      }
+      if (pstate)
+        playbin->do_stream_selections = FALSE;
+      do_stream_selection (playbin);
+      if (pstate)
+        playbin->do_stream_selections = TRUE;
+      GST_PLAY_BIN3_UNLOCK (playbin);
+
+      notify_all_streams (playbin, collection);
+    }
+  }
+
+  if (msg)
+    GST_BIN_CLASS (parent_class)->handle_message (bin, msg);
+}
+
+static void
+combiner_active_pad_changed (GObject * combiner, GParamSpec * pspec,
+    GstPlayBin3 * playbin)
+{
+  const gchar *property;
+  GstSourceCombine *combine = NULL;
+  GPtrArray *channels = NULL;
+  int i;
+
+  GST_PLAY_BIN3_LOCK (playbin);
+
+  for (i = 0; i < PLAYBIN_STREAM_LAST; i++) {
+    if (combiner == G_OBJECT (playbin->combiner[i].combiner)) {
+      combine = &playbin->combiner[i];
+      channels = playbin->channels[i];
+    }
+  }
+
+  /* We got a pad-change after our group got switched out; no need to notify */
+  if (!combine) {
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    return;
+  }
+
+  switch (combine->type) {
+    case GST_PLAY_SINK_TYPE_VIDEO:
+    case GST_PLAY_SINK_TYPE_VIDEO_RAW:
+      property = "current-video";
+      playbin->current_video = get_current_stream_number (playbin,
+          combine, channels);
+
+      if (playbin->video_pending_flush_finish) {
+        playbin->video_pending_flush_finish = FALSE;
+        GST_PLAY_BIN3_UNLOCK (playbin);
+        gst_play_bin3_send_custom_event (GST_OBJECT (combiner),
+            "playsink-custom-video-flush-finish");
+        goto notify;
+      }
+      break;
+    case GST_PLAY_SINK_TYPE_AUDIO:
+    case GST_PLAY_SINK_TYPE_AUDIO_RAW:
+      property = "current-audio";
+      playbin->current_audio = get_current_stream_number (playbin,
+          combine, channels);
+
+      if (playbin->audio_pending_flush_finish) {
+        playbin->audio_pending_flush_finish = FALSE;
+        GST_PLAY_BIN3_UNLOCK (playbin);
+        gst_play_bin3_send_custom_event (GST_OBJECT (combiner),
+            "playsink-custom-audio-flush-finish");
+        goto notify;
+      }
+      break;
+    case GST_PLAY_SINK_TYPE_TEXT:
+      property = "current-text";
+      playbin->current_text = get_current_stream_number (playbin,
+          combine, channels);
+
+      if (playbin->text_pending_flush_finish) {
+        playbin->text_pending_flush_finish = FALSE;
+        GST_PLAY_BIN3_UNLOCK (playbin);
+        gst_play_bin3_send_custom_event (GST_OBJECT (combiner),
+            "playsink-custom-subtitle-flush-finish");
+        goto notify;
+      }
+      break;
+    default:
+      property = NULL;
+  }
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+notify:
+  if (property)
+    g_object_notify (G_OBJECT (playbin), property);
+}
+
+static GstCaps *
+update_video_multiview_caps (GstPlayBin3 * 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
+_decodebin_event_probe (GstPad * pad, GstPadProbeInfo * info, gpointer udata)
+{
+  GstPadProbeReturn ret = GST_PAD_PROBE_OK;
+  GstPlayBin3 *playbin = (GstPlayBin3 *) udata;
+  GstEvent *event = GST_PAD_PROBE_INFO_DATA (info);
+
+  switch (GST_EVENT_TYPE (event)) {
+    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 (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;
+  }
+
+  return ret;
+}
+
+static gint
+find_index_for_stream_by_type (GstStreamCollection * collection,
+    GstStream * stream)
+{
+  gint nb_streams = gst_stream_collection_get_size (collection);
+  gint i, cur_idx = 0;
+  GstStreamType target_type = gst_stream_get_stream_type (stream);
+
+  /* Count the streams of the type we want to find the index of the one we want */
+  for (i = 0; i < nb_streams; i++) {
+    GstStream *cur_stream = gst_stream_collection_get_stream (collection, i);
+    if (stream == cur_stream)
+      return cur_idx;
+    if (gst_stream_get_stream_type (cur_stream) == target_type)
+      cur_idx++;
+  }
+
+  return -1;
+}
+
+static void
+notify_tags_for_stream (GstPlayBin3 * playbin, GstStreamCollection * collection,
+    GstStream * stream)
+{
+  GstStreamType stream_type = gst_stream_get_stream_type (stream);
+  gint stream_idx = find_index_for_stream_by_type (collection, stream);
+  gint signal;
+
+  GST_DEBUG_OBJECT (playbin, "Tags on stream %" GST_PTR_FORMAT
+      " with stream idx %d and type %d have changed",
+      stream, stream_idx, stream_type);
+
+  switch (stream_type) {
+    case GST_STREAM_TYPE_VIDEO:
+      signal = SIGNAL_VIDEO_TAGS_CHANGED;
+      break;
+    case GST_STREAM_TYPE_AUDIO:
+      signal = SIGNAL_AUDIO_TAGS_CHANGED;
+      break;
+    case GST_STREAM_TYPE_TEXT:
+      signal = SIGNAL_TEXT_TAGS_CHANGED;
+      break;
+    default:
+      signal = -1;
+      break;
+  }
+
+  if (signal >= 0)
+    g_signal_emit (G_OBJECT (playbin), gst_play_bin3_signals[signal], 0,
+        stream_idx);
+}
+
+static void
+notify_tags_cb (GstStreamCollection * collection, GstStream * stream,
+    GParamSpec * pspec, GstPlayBin3 * playbin)
+{
+  notify_tags_for_stream (playbin, collection, stream);
+}
+
+/* this function is called when a new pad is added to decodebin. We check the
+ * type of the pad and add it to the combiner element
+ */
+static void
+pad_added_cb (GstElement * decodebin, GstPad * pad, GstPlayBin3 * playbin)
+{
+  GstPad *sinkpad;
+  GstPadLinkReturn res;
+  GstSourceCombine *combine = NULL;
+  GstStreamType stream_type;
+  gint pb_stream_type = -1;
+  gboolean changed = FALSE;
+  GstElement *custom_combiner = NULL;
+  gulong event_probe_handler;
+  gchar *pad_name;
+
+  GST_PLAY_BIN3_SHUTDOWN_LOCK (playbin, shutdown);
+
+  pad_name = gst_object_get_name (GST_OBJECT (pad));
+
+  GST_DEBUG_OBJECT (playbin, "decoded pad %s:%s added",
+      GST_DEBUG_PAD_NAME (pad));
+
+  /* major type of the pad, this determines the combiner to use,
+     try exact match first */
+  if (g_str_has_prefix (pad_name, "video")) {
+    stream_type = GST_STREAM_TYPE_VIDEO;
+    pb_stream_type = PLAYBIN_STREAM_VIDEO;
+    custom_combiner = playbin->video_stream_combiner;
+  } else if (g_str_has_prefix (pad_name, "audio")) {
+    stream_type = GST_STREAM_TYPE_AUDIO;
+    pb_stream_type = PLAYBIN_STREAM_AUDIO;
+    custom_combiner = playbin->audio_stream_combiner;
+  } else if (g_str_has_prefix (pad_name, "text")) {
+    stream_type = GST_STREAM_TYPE_TEXT;
+    pb_stream_type = PLAYBIN_STREAM_TEXT;
+    custom_combiner = playbin->text_stream_combiner;
+  }
+
+  g_free (pad_name);
+
+  /* no stream type found for the media type, don't bother linking it to a
+   * combiner. This will leave the pad unlinked and thus ignored. */
+  if (pb_stream_type < 0) {
+    GST_PLAY_BIN3_SHUTDOWN_UNLOCK (playbin);
+    goto unknown_type;
+  }
+
+  combine = &playbin->combiner[pb_stream_type];
+
+  if (custom_combiner && combine->combiner == NULL) {
+    combine->combiner = custom_combiner;
+    /* find out which properties the stream combiner supports */
+    combine->has_active_pad =
+        g_object_class_find_property (G_OBJECT_GET_CLASS (combine->combiner),
+        "active-pad") != NULL;
+
+    if (!custom_combiner) {
+      /* sync-mode=1, use clock */
+      if (combine->type == GST_PLAY_SINK_TYPE_TEXT)
+        g_object_set (combine->combiner, "sync-streams", TRUE,
+            "sync-mode", 1, "cache-buffers", TRUE, NULL);
+      else
+        g_object_set (combine->combiner, "sync-streams", TRUE, NULL);
+    }
+
+    if (combine->has_active_pad)
+      g_signal_connect (combine->combiner, "notify::active-pad",
+          G_CALLBACK (combiner_active_pad_changed), playbin);
+
+    GST_DEBUG_OBJECT (playbin, "adding new stream combiner %p",
+        combine->combiner);
+    gst_element_set_state (combine->combiner, GST_STATE_PAUSED);
+    gst_bin_add (GST_BIN_CAST (playbin), combine->combiner);
+  }
+
+  GST_PLAY_BIN3_SHUTDOWN_UNLOCK (playbin);
+
+  if (combine->srcpad == NULL) {
+    if (combine->combiner) {
+      /* save source pad of the combiner */
+      combine->srcpad = gst_element_get_static_pad (combine->combiner, "src");
+    } else {
+      /* no combiner, use the pad as the source pad then */
+      combine->srcpad = gst_object_ref (pad);
+    }
+
+    /* block the combiner srcpad. It's possible that multiple source elements
+     * pushing data into the combiners before we have a chance to collect all
+     * streams and connect the sinks, resulting in not-linked errors. After we
+     * configure the sinks we will unblock them all. */
+    GST_DEBUG_OBJECT (playbin, "blocking %" GST_PTR_FORMAT, combine->srcpad);
+    combine->block_id =
+        gst_pad_add_probe (combine->srcpad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
+        block_serialized_data_cb, NULL, NULL);
+  }
+
+  /* get sinkpad for the new stream */
+  if (combine->combiner) {
+    if ((sinkpad = gst_element_get_request_pad (combine->combiner, "sink_%u"))) {
+      GST_DEBUG_OBJECT (playbin, "got pad %s:%s from combiner",
+          GST_DEBUG_PAD_NAME (sinkpad));
+
+      /* find out which properties the sink pad supports */
+      combine->has_always_ok =
+          g_object_class_find_property (G_OBJECT_GET_CLASS (sinkpad),
+          "always-ok") != NULL;
+
+      /* store the combiner for the pad */
+      g_object_set_data (G_OBJECT (sinkpad), "playbin.combine", combine);
+
+      /* store the pad in the array */
+      GST_DEBUG_OBJECT (playbin, "pad %p added to array", sinkpad);
+      g_ptr_array_add (combine->channels, sinkpad);
+
+      res = gst_pad_link (pad, sinkpad);
+      if (GST_PAD_LINK_FAILED (res))
+        goto link_failed;
+
+      /* store combiner pad so we can release it */
+      g_object_set_data (G_OBJECT (pad), "playbin.sinkpad", sinkpad);
+
+      changed = TRUE;
+      GST_DEBUG_OBJECT (playbin, "linked pad %s:%s to combiner %p",
+          GST_DEBUG_PAD_NAME (pad), combine->combiner);
+    } else {
+      goto request_pad_failed;
+    }
+  } else {
+    /* no combiner, don't configure anything, we'll link the new pad directly to
+     * the sink. */
+    changed = FALSE;
+    sinkpad = NULL;
+
+    /* store the combiner for the pad */
+    g_object_set_data (G_OBJECT (pad), "playbin.combine", combine);
+  }
+
+  event_probe_handler =
+      gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+      _decodebin_event_probe, playbin, NULL);
+  g_object_set_data (G_OBJECT (pad), "playbin.event_probe_id",
+      ULONG_TO_POINTER (event_probe_handler));
+
+  if (changed) {
+    int signal;
+
+    switch (combine->type) {
+      case GST_PLAY_SINK_TYPE_VIDEO:
+      case GST_PLAY_SINK_TYPE_VIDEO_RAW:
+        signal = SIGNAL_VIDEO_CHANGED;
+        break;
+      case GST_PLAY_SINK_TYPE_AUDIO:
+      case GST_PLAY_SINK_TYPE_AUDIO_RAW:
+        signal = SIGNAL_AUDIO_CHANGED;
+        break;
+      case GST_PLAY_SINK_TYPE_TEXT:
+        signal = SIGNAL_TEXT_CHANGED;
+        break;
+      default:
+        signal = -1;
+    }
+
+    if (signal >= 0) {
+      g_signal_emit (G_OBJECT (playbin), gst_play_bin3_signals[signal], 0,
+          NULL);
+    }
+  }
+
+  playbin->active_stream_types |= stream_type;
+
+  /* If we're expecting either audio or video,
+   * wait for them to appear before configuring playsink */
+  if ((playbin->selected_stream_types & ~playbin->active_stream_types &
+          (GST_STREAM_TYPE_VIDEO | GST_STREAM_TYPE_AUDIO))
+      == 0) {
+    no_more_pads_cb (decodebin, playbin);
+  } else {
+    GST_LOG_OBJECT (playbin, "Active stream types 0x%x, want 0x%x. Waiting",
+        playbin->active_stream_types, playbin->selected_stream_types);
+  }
+
+  return;
+
+  /* ERRORS */
+unknown_type:
+  GST_DEBUG_OBJECT (playbin, "Ignoring pad with unknown type");
+  return;
+
+link_failed:
+  {
+    GST_ERROR_OBJECT (playbin,
+        "failed to link pad %s:%s to combiner, reason %s (%d)",
+        GST_DEBUG_PAD_NAME (pad), gst_pad_link_get_name (res), res);
+    return;
+  }
+request_pad_failed:
+  GST_ELEMENT_ERROR (playbin, CORE, PAD,
+      ("Internal playbin error."),
+      ("Failed to get request pad from combiner %p.", combine->combiner));
+  return;
+shutdown:
+  {
+    GST_DEBUG ("ignoring, we are shutting down. Pad will be left unlinked");
+    /* not going to done as we didn't request the caps */
+    return;
+  }
+}
+
+/* called when a pad is removed from the decodebin. We unlink the pad from
+ * the combiner. This will make the combiner select a new pad. */
+static void
+pad_removed_cb (GstElement * decodebin, GstPad * pad, GstPlayBin3 * playbin)
+{
+  GstPad *peer;
+  GstElement *combiner;
+  GstSourceCombine *combine;
+  int signal = -1;
+  gulong event_probe_handler;
+
+  GST_DEBUG_OBJECT (playbin,
+      "decoded pad %s:%s removed", GST_DEBUG_PAD_NAME (pad));
+
+  GST_PLAY_BIN3_LOCK (playbin);
+
+  if ((event_probe_handler =
+          POINTER_TO_ULONG (g_object_get_data (G_OBJECT (pad),
+                  "playbin.event_probe_id")))) {
+    gst_pad_remove_probe (pad, event_probe_handler);
+    g_object_set_data (G_OBJECT (pad), "playbin.event_probe_id", NULL);
+  }
+
+  if ((combine = g_object_get_data (G_OBJECT (pad), "playbin.combine"))) {
+    g_assert (combine->combiner == NULL);
+    g_assert (combine->srcpad == pad);
+    source_combine_remove_pads (playbin, combine);
+    goto exit;
+  }
+
+  /* get the combiner sinkpad */
+  if (!(peer = g_object_get_data (G_OBJECT (pad), "playbin.sinkpad")))
+    goto not_linked;
+
+  /* unlink the pad now (can fail, the pad is unlinked before it's removed) */
+  gst_pad_unlink (pad, peer);
+
+  /* get combiner */
+  combiner = GST_ELEMENT_CAST (gst_pad_get_parent (peer));
+  g_assert (combiner != NULL);
+
+  if ((combine = g_object_get_data (G_OBJECT (peer), "playbin.combine"))) {
+    /* remove the pad from the array */
+    g_ptr_array_remove (combine->channels, peer);
+    GST_DEBUG_OBJECT (playbin, "pad %p removed from array", peer);
+
+    /* get the correct type-changed signal */
+    switch (combine->type) {
+      case GST_PLAY_SINK_TYPE_VIDEO:
+      case GST_PLAY_SINK_TYPE_VIDEO_RAW:
+        signal = SIGNAL_VIDEO_CHANGED;
+        break;
+      case GST_PLAY_SINK_TYPE_AUDIO:
+      case GST_PLAY_SINK_TYPE_AUDIO_RAW:
+        signal = SIGNAL_AUDIO_CHANGED;
+        break;
+      case GST_PLAY_SINK_TYPE_TEXT:
+        signal = SIGNAL_TEXT_CHANGED;
+        break;
+      default:
+        signal = -1;
+    }
+
+    if (!combine->channels->len && combine->combiner) {
+      GST_DEBUG_OBJECT (playbin, "all combiner sinkpads removed");
+      GST_DEBUG_OBJECT (playbin, "removing combiner %p", combine->combiner);
+      source_combine_remove_pads (playbin, combine);
+      gst_element_set_state (combine->combiner, GST_STATE_NULL);
+      gst_bin_remove (GST_BIN_CAST (playbin), combine->combiner);
+      combine->combiner = NULL;
+    }
+  }
+
+  /* release the pad to the combiner, this will make the combiner choose a new
+   * pad. */
+  gst_element_release_request_pad (combiner, peer);
+  gst_object_unref (peer);
+
+  gst_object_unref (combiner);
+exit:
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  if (signal >= 0)
+    g_signal_emit (G_OBJECT (playbin), gst_play_bin3_signals[signal], 0, NULL);
+
+  return;
+
+  /* ERRORS */
+not_linked:
+  {
+    GST_DEBUG_OBJECT (playbin, "pad not linked");
+    goto exit;
+  }
+}
+
+
+static gint
+select_stream_cb (GstElement * decodebin, GstStreamCollection * collection,
+    GstStream * stream, GstPlayBin3 * playbin)
+{
+  GstStreamType stype = gst_stream_get_stream_type (stream);
+  GstElement *combiner = NULL;
+
+  switch (stype) {
+    case GST_STREAM_TYPE_AUDIO:
+      combiner = playbin->audio_stream_combiner;
+      break;
+    case GST_STREAM_TYPE_VIDEO:
+      combiner = playbin->video_stream_combiner;
+      break;
+    case GST_STREAM_TYPE_TEXT:
+      combiner = playbin->text_stream_combiner;
+      break;
+    default:
+      break;
+  }
+
+  if (combiner) {
+    GST_DEBUG_OBJECT (playbin, "Got a combiner, requesting stream activation");
+    return 1;
+  }
+
+  /* Let decodebin3 decide otherwise */
+  return -1;
+}
+
+/* we get called when all pads are available and we must connect the sinks to
+ * them.
+ * The main purpose of the code is to see if we have video/audio and subtitles
+ * and pick the right pipelines to display them.
+ *
+ * The combiners installed on the group tell us about the presence of
+ * audio/video and subtitle streams. This allows us to see if we need
+ * visualisation, video or/and audio.
+ */
+static void
+no_more_pads_cb (GstElement * decodebin, GstPlayBin3 * playbin)
+{
+  GstSourceGroup *group;
+  GstPadLinkReturn res;
+  gint i;
+  gboolean configure;
+
+  GST_DEBUG_OBJECT (playbin, "no more pads");
+
+  GST_PLAY_BIN3_SHUTDOWN_LOCK (playbin, shutdown);
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  group = playbin->curr_group;
+
+  for (i = 0; i < PLAYBIN_STREAM_LAST; i++) {
+    GstSourceCombine *combine = &playbin->combiner[i];
+
+    /* check if the specific media type was detected and thus has a combiner
+     * created for it. If there is the media type, get a sinkpad from the sink
+     * and link it. We only do this if we have not yet requested the sinkpad
+     * before. */
+    if (combine->srcpad && combine->sinkpad == NULL) {
+      GST_DEBUG_OBJECT (playbin, "requesting new sink pad %d", combine->type);
+      combine->sinkpad =
+          gst_play_sink_request_pad (playbin->playsink, combine->type);
+      gst_object_ref (combine->sinkpad);
+    } else if (combine->srcpad && combine->sinkpad) {
+      GST_DEBUG_OBJECT (playbin, "re-using sink pad %d", combine->type);
+    } else if (combine->sinkpad && combine->srcpad == NULL) {
+      GST_DEBUG_OBJECT (playbin, "releasing sink pad %d", combine->type);
+      gst_play_sink_release_pad (playbin->playsink, combine->sinkpad);
+      gst_object_unref (combine->sinkpad);
+      combine->sinkpad = NULL;
+    }
+    if (combine->sinkpad && combine->srcpad &&
+        !gst_pad_is_linked (combine->srcpad)) {
+      res = gst_pad_link (combine->srcpad, combine->sinkpad);
+      GST_DEBUG_OBJECT (playbin, "linked type %s, result: %d",
+          combine->media_type, res);
+      if (res != GST_PAD_LINK_OK) {
+        GST_ELEMENT_ERROR (playbin, CORE, PAD,
+            ("Internal playbin error."),
+            ("Failed to link combiner to sink. Error %d", res));
+      }
+    }
+  }
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  GST_SOURCE_GROUP_LOCK (group);
+  GST_DEBUG_OBJECT (playbin, "pending %d > %d", group->pending,
+      group->pending - 1);
+
+  if (group->pending > 0)
+    group->pending--;
+
+  if (group->pending == 0) {
+    /* we are the last group to complete, we will configure the output and then
+     * signal the other waiters. */
+    GST_LOG_OBJECT (playbin, "last group complete");
+    configure = TRUE;
+  } else {
+    GST_LOG_OBJECT (playbin, "have more pending groups");
+    configure = FALSE;
+  }
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  if (configure) {
+    /* if we have custom sinks, configure them now */
+    GST_SOURCE_GROUP_LOCK (group);
+
+    if (group->audio_sink) {
+      GST_INFO_OBJECT (playbin, "setting custom audio sink %" GST_PTR_FORMAT,
+          group->audio_sink);
+      gst_play_sink_set_sink (playbin->playsink, GST_PLAY_SINK_TYPE_AUDIO,
+          group->audio_sink);
+    }
+
+    if (group->video_sink) {
+      GST_INFO_OBJECT (playbin, "setting custom video sink %" GST_PTR_FORMAT,
+          group->video_sink);
+      gst_play_sink_set_sink (playbin->playsink, GST_PLAY_SINK_TYPE_VIDEO,
+          group->video_sink);
+    }
+
+    if (group->text_sink) {
+      GST_INFO_OBJECT (playbin, "setting custom text sink %" GST_PTR_FORMAT,
+          group->text_sink);
+      gst_play_sink_set_sink (playbin->playsink, GST_PLAY_SINK_TYPE_TEXT,
+          group->text_sink);
+    }
+
+    GST_SOURCE_GROUP_UNLOCK (group);
+
+    /* signal the other combiners that they can continue now. */
+    GST_PLAY_BIN3_LOCK (playbin);
+    /* unblock all combiners */
+    for (i = 0; i < PLAYBIN_STREAM_LAST; i++) {
+      GstSourceCombine *combine = &playbin->combiner[i];
+
+      if (combine->srcpad) {
+        GST_DEBUG_OBJECT (playbin, "unblocking %" GST_PTR_FORMAT,
+            combine->srcpad);
+        if (combine->block_id) {
+          gst_pad_remove_probe (combine->srcpad, combine->block_id);
+          combine->block_id = 0;
+        }
+      }
+    }
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    gst_play_sink_reconfigure (playbin->playsink);
+  }
+
+  GST_PLAY_BIN3_SHUTDOWN_UNLOCK (playbin);
+
+  if (configure) {
+    do_async_done (playbin);
+  }
+
+  return;
+
+shutdown:
+  {
+    GST_DEBUG ("ignoring, we are shutting down");
+    /* Request a flushing pad from playsink that we then link to the combiner.
+     * Then we unblock the combiners so that they stop with a WRONG_STATE
+     * instead of a NOT_LINKED error.
+     */
+    GST_PLAY_BIN3_LOCK (playbin);
+    for (i = 0; i < PLAYBIN_STREAM_LAST; i++) {
+      GstSourceCombine *combine = &playbin->combiner[i];
+
+      if (combine->srcpad) {
+        if (combine->sinkpad == NULL) {
+          GST_DEBUG_OBJECT (playbin, "requesting new flushing sink pad");
+          combine->sinkpad =
+              gst_play_sink_request_pad (playbin->playsink,
+              GST_PLAY_SINK_TYPE_FLUSHING);
+          gst_object_ref (combine->sinkpad);
+          res = gst_pad_link (combine->srcpad, combine->sinkpad);
+          GST_DEBUG_OBJECT (playbin, "linked flushing, result: %d", res);
+        }
+        GST_DEBUG_OBJECT (playbin, "unblocking %" GST_PTR_FORMAT,
+            combine->srcpad);
+        if (combine->block_id) {
+          gst_pad_remove_probe (combine->srcpad, combine->block_id);
+          combine->block_id = 0;
+        }
+      }
+    }
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    return;
+  }
+}
+
+#if 0
+static void
+drained_cb (GstElement * decodebin, GstSourceGroup * group)
+{
+  GstPlayBin3 *playbin;
+
+  playbin = group->playbin;
+
+  GST_DEBUG_OBJECT (playbin, "about to finish in group %p", group);
+
+  /* after this call, we should have a next group to activate or we EOS */
+  g_signal_emit (G_OBJECT (playbin),
+      gst_play_bin3_signals[SIGNAL_ABOUT_TO_FINISH], 0, NULL);
+
+  /* now activate the next group. If the app did not set a uri, this will
+   * fail and we can do EOS */
+  setup_next_source (playbin, GST_STATE_PAUSED);
+}
+#endif
+
+/* Like gst_element_factory_can_sink_any_caps() but doesn't
+ * allow ANY caps on the sinkpad template */
+static gboolean
+_factory_can_sink_caps (GstElementFactory * factory, GstCaps * caps)
+{
+  const GList *templs;
+
+  templs = gst_element_factory_get_static_pad_templates (factory);
+
+  while (templs) {
+    GstStaticPadTemplate *templ = (GstStaticPadTemplate *) templs->data;
+
+    if (templ->direction == GST_PAD_SINK) {
+      GstCaps *templcaps = gst_static_caps_get (&templ->static_caps);
+
+      if (!gst_caps_is_any (templcaps)
+          && gst_caps_is_subset (caps, templcaps)) {
+        gst_caps_unref (templcaps);
+        return TRUE;
+      }
+      gst_caps_unref (templcaps);
+    }
+    templs = g_list_next (templs);
+  }
+
+  return FALSE;
+}
+
+static void
+avelements_free (gpointer avelement)
+{
+  GstAVElement *elm = (GstAVElement *) avelement;
+
+  if (elm->dec)
+    gst_object_unref (elm->dec);
+  if (elm->sink)
+    gst_object_unref (elm->sink);
+  g_slice_free (GstAVElement, elm);
+}
+
+static gint
+avelement_compare_decoder (gconstpointer p1, gconstpointer p2,
+    gpointer user_data)
+{
+  GstAVElement *v1, *v2;
+
+  v1 = (GstAVElement *) p1;
+  v2 = (GstAVElement *) p2;
+
+  return strcmp (GST_OBJECT_NAME (v1->dec), GST_OBJECT_NAME (v2->dec));
+}
+
+static gint
+avelement_lookup_decoder (gconstpointer p1, gconstpointer p2,
+    gpointer user_data)
+{
+  GstAVElement *v1;
+  GstElementFactory *f2;
+
+  v1 = (GstAVElement *) p1;
+  f2 = (GstElementFactory *) p2;
+
+  return strcmp (GST_OBJECT_NAME (v1->dec), GST_OBJECT_NAME (f2));
+}
+
+static gint
+avelement_compare (gconstpointer p1, gconstpointer p2)
+{
+  GstAVElement *v1, *v2;
+  GstPluginFeature *fd1, *fd2, *fs1, *fs2;
+  gint64 diff, v1_rank, v2_rank;
+
+  v1 = (GstAVElement *) p1;
+  v2 = (GstAVElement *) p2;
+
+  fd1 = (GstPluginFeature *) v1->dec;
+  fd2 = (GstPluginFeature *) v2->dec;
+
+  /* If both have a sink, we also compare their ranks */
+  if (v1->sink && v2->sink) {
+    fs1 = (GstPluginFeature *) v1->sink;
+    fs2 = (GstPluginFeature *) v2->sink;
+    v1_rank =
+        gst_plugin_feature_get_rank (fd1) * gst_plugin_feature_get_rank (fs1);
+    v2_rank =
+        gst_plugin_feature_get_rank (fd2) * gst_plugin_feature_get_rank (fs2);
+  } else {
+    v1_rank = gst_plugin_feature_get_rank (fd1);
+    v2_rank = gst_plugin_feature_get_rank (fd2);
+    fs1 = fs2 = NULL;
+  }
+
+  /* comparison based on the rank */
+  diff = v2_rank - v1_rank;
+  if (diff < 0)
+    return -1;
+  else if (diff > 0)
+    return 1;
+
+  /* comparison based on number of common caps features */
+  diff = v2->n_comm_cf - v1->n_comm_cf;
+  if (diff != 0)
+    return diff;
+
+  if (fs1 && fs2) {
+    /* comparison based on the name of sink elements */
+    diff = strcmp (GST_OBJECT_NAME (fs1), GST_OBJECT_NAME (fs2));
+    if (diff != 0)
+      return diff;
+  }
+
+  /* comparison based on the name of decoder elements */
+  return strcmp (GST_OBJECT_NAME (fd1), GST_OBJECT_NAME (fd2));
+}
+
+static GSequence *
+avelements_create (GstPlayBin3 * playbin, gboolean isaudioelement)
+{
+  GstElementFactory *d_factory, *s_factory;
+  GList *dec_list, *sink_list, *dl, *sl;
+  GSequence *ave_seq = NULL;
+  GstAVElement *ave;
+  guint n_common_cf = 0;
+
+  if (isaudioelement) {
+    sink_list = gst_element_factory_list_get_elements
+        (GST_ELEMENT_FACTORY_TYPE_SINK |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO, GST_RANK_MARGINAL);
+    dec_list =
+        gst_element_factory_list_get_elements (GST_ELEMENT_FACTORY_TYPE_DECODER
+        | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO, GST_RANK_MARGINAL);
+  } else {
+    sink_list = gst_element_factory_list_get_elements
+        (GST_ELEMENT_FACTORY_TYPE_SINK |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE, GST_RANK_MARGINAL);
+
+    dec_list =
+        gst_element_factory_list_get_elements (GST_ELEMENT_FACTORY_TYPE_DECODER
+        | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE, GST_RANK_MARGINAL);
+  }
+
+  /* create a list of audio/video elements. Each element in the list
+   * is holding an audio/video decoder and an audio/video sink in which
+   * the decoders srcpad template caps and sink element's sinkpad template
+   * caps are compatible */
+  dl = dec_list;
+  sl = sink_list;
+
+  ave_seq = g_sequence_new ((GDestroyNotify) avelements_free);
+
+  for (; dl; dl = dl->next) {
+    d_factory = (GstElementFactory *) dl->data;
+    for (; sl; sl = sl->next) {
+      s_factory = (GstElementFactory *) sl->data;
+
+      n_common_cf =
+          gst_playback_utils_get_n_common_capsfeatures (d_factory, s_factory,
+          gst_play_bin3_get_flags (playbin), isaudioelement);
+      if (n_common_cf < 1)
+        continue;
+
+      ave = g_slice_new (GstAVElement);
+      ave->dec = gst_object_ref (d_factory);
+      ave->sink = gst_object_ref (s_factory);
+      ave->n_comm_cf = n_common_cf;
+      g_sequence_append (ave_seq, ave);
+    }
+    sl = sink_list;
+  }
+  g_sequence_sort (ave_seq, (GCompareDataFunc) avelement_compare_decoder, NULL);
+
+  gst_plugin_feature_list_free (dec_list);
+  gst_plugin_feature_list_free (sink_list);
+
+  return ave_seq;
+}
+
+static gboolean
+avelement_iter_is_equal (GSequenceIter * iter, GstElementFactory * factory)
+{
+  GstAVElement *ave;
+
+  if (!iter)
+    return FALSE;
+
+  ave = g_sequence_get (iter);
+  if (!ave)
+    return FALSE;
+
+  return strcmp (GST_OBJECT_NAME (ave->dec), GST_OBJECT_NAME (factory)) == 0;
+}
+
+static GList *
+create_decoders_list (GList * factory_list, GSequence * avelements)
+{
+  GList *dec_list = NULL, *tmp;
+  GList *ave_list = NULL;
+  GList *ave_free_list = NULL;
+  GstAVElement *ave, *best_ave;
+
+  g_return_val_if_fail (factory_list != NULL, NULL);
+  g_return_val_if_fail (avelements != NULL, NULL);
+
+  for (tmp = factory_list; tmp; tmp = tmp->next) {
+    GstElementFactory *factory = (GstElementFactory *) tmp->data;
+
+    /* if there are parsers or sink elements, add them first */
+    if (gst_element_factory_list_is_type (factory,
+            GST_ELEMENT_FACTORY_TYPE_PARSER) ||
+        gst_element_factory_list_is_type (factory,
+            GST_ELEMENT_FACTORY_TYPE_SINK)) {
+      dec_list = g_list_prepend (dec_list, gst_object_ref (factory));
+    } else {
+      GSequenceIter *seq_iter;
+
+      seq_iter =
+          g_sequence_lookup (avelements, factory,
+          (GCompareDataFunc) avelement_lookup_decoder, NULL);
+      if (!seq_iter) {
+        GstAVElement *ave = g_slice_new0 (GstAVElement);
+
+        ave->dec = factory;
+        ave->sink = NULL;
+        /* There's at least raw */
+        ave->n_comm_cf = 1;
+
+        ave_list = g_list_prepend (ave_list, ave);
+
+        /* We need to free these later */
+        ave_free_list = g_list_prepend (ave_free_list, ave);
+        continue;
+      }
+
+      /* Go to first iter with that decoder */
+      do {
+        GSequenceIter *tmp_seq_iter;
+
+        tmp_seq_iter = g_sequence_iter_prev (seq_iter);
+        if (!avelement_iter_is_equal (tmp_seq_iter, factory))
+          break;
+        seq_iter = tmp_seq_iter;
+      } while (!g_sequence_iter_is_begin (seq_iter));
+
+      /* Get the best ranked GstAVElement for that factory */
+      best_ave = NULL;
+      while (!g_sequence_iter_is_end (seq_iter)
+          && avelement_iter_is_equal (seq_iter, factory)) {
+        ave = g_sequence_get (seq_iter);
+
+        if (!best_ave || avelement_compare (ave, best_ave) < 0)
+          best_ave = ave;
+
+        seq_iter = g_sequence_iter_next (seq_iter);
+      }
+      ave_list = g_list_prepend (ave_list, best_ave);
+    }
+  }
+
+  /* Sort all GstAVElements by their relative ranks and insert
+   * into the decoders list */
+  ave_list = g_list_sort (ave_list, (GCompareFunc) avelement_compare);
+  for (tmp = ave_list; tmp; tmp = tmp->next) {
+    ave = (GstAVElement *) tmp->data;
+    dec_list = g_list_prepend (dec_list, gst_object_ref (ave->dec));
+  }
+  g_list_free (ave_list);
+  gst_plugin_feature_list_free (factory_list);
+
+  for (tmp = ave_free_list; tmp; tmp = tmp->next)
+    g_slice_free (GstAVElement, tmp->data);
+  g_list_free (ave_free_list);
+
+  dec_list = g_list_reverse (dec_list);
+
+  return dec_list;
+}
+
+/* Called when we must provide a list of factories to plug to @pad with @caps.
+ * We first check if we have a sink that can handle the format and if we do, we
+ * return NULL, to expose the pad. If we have no sink (or the sink does not
+ * work), we return the list of elements that can connect. */
+static GValueArray *
+autoplug_factories_cb (GstElement * decodebin, GstPad * pad,
+    GstCaps * caps, GstSourceGroup * group)
+{
+  GstPlayBin3 *playbin;
+  GList *factory_list, *tmp;
+  GValueArray *result;
+  gboolean unref_caps = FALSE;
+  gboolean isaudiodeclist = FALSE;
+  gboolean isvideodeclist = FALSE;
+
+  if (!caps) {
+    caps = gst_caps_new_any ();
+    unref_caps = TRUE;
+  }
+
+  playbin = group->playbin;
+
+  GST_DEBUG_OBJECT (playbin, "factories group %p for %s:%s, %" GST_PTR_FORMAT,
+      group, GST_DEBUG_PAD_NAME (pad), caps);
+
+  /* filter out the elements based on the caps. */
+  g_mutex_lock (&playbin->elements_lock);
+  gst_play_bin3_update_elements_list (playbin);
+  factory_list =
+      gst_element_factory_list_filter (playbin->elements, caps, GST_PAD_SINK,
+      gst_caps_is_fixed (caps));
+  g_mutex_unlock (&playbin->elements_lock);
+
+  GST_DEBUG_OBJECT (playbin, "found factories %p", factory_list);
+  GST_PLUGIN_FEATURE_LIST_DEBUG (factory_list);
+
+  /* check whether the caps are asking for a list of audio/video decoders */
+  tmp = factory_list;
+  if (!gst_caps_is_any (caps)) {
+    for (; tmp; tmp = tmp->next) {
+      GstElementFactory *factory = (GstElementFactory *) tmp->data;
+
+      isvideodeclist = gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_DECODER |
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE);
+      isaudiodeclist = gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_DECODER |
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO);
+
+      if (isaudiodeclist || isvideodeclist)
+        break;
+    }
+  }
+
+  if (isaudiodeclist || isvideodeclist) {
+    GSequence **ave_list;
+    if (isaudiodeclist)
+      ave_list = &playbin->aelements;
+    else
+      ave_list = &playbin->velements;
+
+    g_mutex_lock (&playbin->elements_lock);
+    /* sort factory_list based on the GstAVElement list priority */
+    factory_list = create_decoders_list (factory_list, *ave_list);
+    g_mutex_unlock (&playbin->elements_lock);
+  }
+
+  /* 2 additional elements for the already set audio/video sinks */
+  result = g_value_array_new (g_list_length (factory_list) + 2);
+
+  /* Check if we already have an audio/video sink and if this is the case
+   * put it as the first element of the array */
+  if (group->audio_sink) {
+    GstElementFactory *factory = gst_element_get_factory (group->audio_sink);
+
+    if (factory && _factory_can_sink_caps (factory, caps)) {
+      GValue val = { 0, };
+
+      g_value_init (&val, G_TYPE_OBJECT);
+      g_value_set_object (&val, factory);
+      result = g_value_array_append (result, &val);
+      g_value_unset (&val);
+    }
+  }
+
+  if (group->video_sink) {
+    GstElementFactory *factory = gst_element_get_factory (group->video_sink);
+
+    if (factory && _factory_can_sink_caps (factory, caps)) {
+      GValue val = { 0, };
+
+      g_value_init (&val, G_TYPE_OBJECT);
+      g_value_set_object (&val, factory);
+      result = g_value_array_append (result, &val);
+      g_value_unset (&val);
+    }
+  }
+
+  for (tmp = factory_list; tmp; tmp = tmp->next) {
+    GstElementFactory *factory = GST_ELEMENT_FACTORY_CAST (tmp->data);
+    GValue val = { 0, };
+
+    if (group->audio_sink && gst_element_factory_list_is_type (factory,
+            GST_ELEMENT_FACTORY_TYPE_SINK |
+            GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO)) {
+      continue;
+    }
+    if (group->video_sink && gst_element_factory_list_is_type (factory,
+            GST_ELEMENT_FACTORY_TYPE_SINK | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
+            | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)) {
+      continue;
+    }
+
+    g_value_init (&val, G_TYPE_OBJECT);
+    g_value_set_object (&val, factory);
+    g_value_array_append (result, &val);
+    g_value_unset (&val);
+  }
+  gst_plugin_feature_list_free (factory_list);
+
+  if (unref_caps)
+    gst_caps_unref (caps);
+
+  return result;
+}
+
+static void
+gst_play_bin3_set_context (GstElement * element, GstContext * context)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (element);
+
+  /* Proxy contexts to the sinks, they might not be in playsink yet */
+  GST_PLAY_BIN3_LOCK (playbin);
+  if (playbin->audio_sink)
+    gst_element_set_context (playbin->audio_sink, context);
+  if (playbin->video_sink)
+    gst_element_set_context (playbin->video_sink, context);
+  if (playbin->text_sink)
+    gst_element_set_context (playbin->text_sink, context);
+
+  GST_SOURCE_GROUP_LOCK (playbin->curr_group);
+
+  if (playbin->curr_group->audio_sink)
+    gst_element_set_context (playbin->curr_group->audio_sink, context);
+  if (playbin->curr_group->video_sink)
+    gst_element_set_context (playbin->curr_group->video_sink, context);
+  if (playbin->curr_group->text_sink)
+    gst_element_set_context (playbin->curr_group->text_sink, context);
+
+  GST_SOURCE_GROUP_UNLOCK (playbin->curr_group);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  GST_ELEMENT_CLASS (parent_class)->set_context (element, context);
+}
+
+/* Pass sink messages to the application, e.g. NEED_CONTEXT messages */
+static void
+gst_play_bin3_update_context (GstPlayBin3 * playbin, GstContext * context)
+{
+  GList *l;
+  const gchar *context_type;
+
+  GST_OBJECT_LOCK (playbin);
+  context_type = gst_context_get_context_type (context);
+  for (l = playbin->contexts; l; l = l->next) {
+    GstContext *tmp = l->data;
+    const gchar *tmp_type = gst_context_get_context_type (tmp);
+
+    /* Always store newest context but never replace
+     * a persistent one by a non-persistent one */
+    if (strcmp (context_type, tmp_type) == 0 &&
+        (gst_context_is_persistent (context) ||
+            !gst_context_is_persistent (tmp))) {
+      gst_context_replace ((GstContext **) & l->data, context);
+      break;
+    }
+  }
+  /* Not found? Add */
+  if (l == NULL)
+    playbin->contexts =
+        g_list_prepend (playbin->contexts, gst_context_ref (context));
+  GST_OBJECT_UNLOCK (playbin);
+}
+
+static GstBusSyncReply
+activate_sink_bus_handler (GstBus * bus, GstMessage * msg,
+    GstPlayBin3 * playbin)
+{
+  if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
+    /* Only proxy errors from a fixed sink. If that fails we can just error out
+     * early as stuff will fail later anyway */
+    if (playbin->audio_sink
+        && gst_object_has_as_ancestor (GST_MESSAGE_SRC (msg),
+            GST_OBJECT_CAST (playbin->audio_sink)))
+      gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+    else if (playbin->video_sink
+        && gst_object_has_as_ancestor (GST_MESSAGE_SRC (msg),
+            GST_OBJECT_CAST (playbin->video_sink)))
+      gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+    else if (playbin->text_sink
+        && gst_object_has_as_ancestor (GST_MESSAGE_SRC (msg),
+            GST_OBJECT_CAST (playbin->text_sink)))
+      gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+    else
+      gst_message_unref (msg);
+  } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_NEED_CONTEXT) {
+    const gchar *context_type;
+    GList *l;
+
+    gst_message_parse_context_type (msg, &context_type);
+    GST_OBJECT_LOCK (playbin);
+    for (l = playbin->contexts; l; l = l->next) {
+      GstContext *tmp = l->data;
+      const gchar *tmp_type = gst_context_get_context_type (tmp);
+
+      if (strcmp (context_type, tmp_type) == 0) {
+        gst_element_set_context (GST_ELEMENT (GST_MESSAGE_SRC (msg)), l->data);
+        break;
+      }
+    }
+    GST_OBJECT_UNLOCK (playbin);
+
+    /* Forward if we couldn't answer the message */
+    if (l == NULL) {
+      gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+    } else {
+      gst_message_unref (msg);
+    }
+  } else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_HAVE_CONTEXT) {
+    GstContext *context;
+
+    gst_message_parse_have_context (msg, &context);
+    gst_play_bin3_update_context (playbin, context);
+    gst_context_unref (context);
+
+    gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+  } else {
+    gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+  }
+
+  /* Doesn't really matter, nothing is using this bus */
+  return GST_BUS_DROP;
+}
+
+static gboolean
+activate_sink (GstPlayBin3 * playbin, GstElement * sink, gboolean * activated)
+{
+  GstState state;
+  GstBus *bus = NULL;
+  GstStateChangeReturn sret;
+  gboolean ret = FALSE;
+
+  if (activated)
+    *activated = FALSE;
+
+  GST_OBJECT_LOCK (sink);
+  state = GST_STATE (sink);
+  GST_OBJECT_UNLOCK (sink);
+  if (state >= GST_STATE_READY) {
+    ret = TRUE;
+    goto done;
+  }
+
+  if (!GST_OBJECT_PARENT (sink)) {
+    bus = gst_bus_new ();
+    gst_bus_set_sync_handler (bus,
+        (GstBusSyncHandler) activate_sink_bus_handler, playbin, NULL);
+    gst_element_set_bus (sink, bus);
+  }
+
+  sret = gst_element_set_state (sink, GST_STATE_READY);
+  if (sret == GST_STATE_CHANGE_FAILURE)
+    goto done;
+
+  if (activated)
+    *activated = TRUE;
+  ret = TRUE;
+
+done:
+  if (bus) {
+    gst_element_set_bus (sink, NULL);
+    gst_object_unref (bus);
+  }
+
+  return ret;
+}
+
+/* autoplug-continue decides, if a pad has raw caps that can be exposed
+ * directly or if further decoding is necessary. We use this to expose
+ * supported subtitles directly */
+
+/* FIXME 0.11: Remove the checks for ANY caps, a sink should specify
+ * explicitly the caps it supports and if it claims to support ANY
+ * caps it really should support everything */
+static gboolean
+autoplug_continue_cb (GstElement * element, GstPad * pad, GstCaps * caps,
+    GstSourceGroup * group)
+{
+  gboolean ret = TRUE;
+  GstPad *sinkpad = NULL;
+  gboolean activated_sink;
+
+  GST_SOURCE_GROUP_LOCK (group);
+
+  if (group->text_sink &&
+      activate_sink (group->playbin, group->text_sink, &activated_sink)) {
+    sinkpad = gst_element_get_static_pad (group->text_sink, "sink");
+    if (sinkpad) {
+      GstCaps *sinkcaps;
+
+      sinkcaps = gst_pad_query_caps (sinkpad, NULL);
+      if (!gst_caps_is_any (sinkcaps))
+        ret = !gst_pad_query_accept_caps (sinkpad, caps);
+      gst_caps_unref (sinkcaps);
+      gst_object_unref (sinkpad);
+    }
+    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)
+    goto done;
+
+  if (group->audio_sink &&
+      activate_sink (group->playbin, group->audio_sink, &activated_sink)) {
+
+    sinkpad = gst_element_get_static_pad (group->audio_sink, "sink");
+    if (sinkpad) {
+      GstCaps *sinkcaps;
+
+      sinkcaps = gst_pad_query_caps (sinkpad, NULL);
+      if (!gst_caps_is_any (sinkcaps))
+        ret = !gst_pad_query_accept_caps (sinkpad, caps);
+      gst_caps_unref (sinkcaps);
+      gst_object_unref (sinkpad);
+    }
+    if (activated_sink)
+      gst_element_set_state (group->audio_sink, GST_STATE_NULL);
+  }
+  if (!ret)
+    goto done;
+
+  if (group->video_sink
+      && activate_sink (group->playbin, group->video_sink, &activated_sink)) {
+    sinkpad = gst_element_get_static_pad (group->video_sink, "sink");
+    if (sinkpad) {
+      GstCaps *sinkcaps;
+
+      sinkcaps = gst_pad_query_caps (sinkpad, NULL);
+      if (!gst_caps_is_any (sinkcaps))
+        ret = !gst_pad_query_accept_caps (sinkpad, caps);
+      gst_caps_unref (sinkcaps);
+      gst_object_unref (sinkpad);
+    }
+    if (activated_sink)
+      gst_element_set_state (group->video_sink, GST_STATE_NULL);
+  }
+
+done:
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  GST_DEBUG_OBJECT (group->playbin,
+      "continue autoplugging group %p for %s:%s, %" GST_PTR_FORMAT ": %d",
+      group, GST_DEBUG_PAD_NAME (pad), caps, ret);
+
+  return ret;
+}
+
+static gboolean
+sink_accepts_caps (GstPlayBin3 * playbin, GstElement * sink, GstCaps * caps)
+{
+  GstPad *sinkpad;
+
+  if ((sinkpad = gst_element_get_static_pad (sink, "sink"))) {
+    /* Got the sink pad, now let's see if the element actually does accept the
+     * caps that we have */
+    if (!gst_pad_query_accept_caps (sinkpad, caps)) {
+      gst_object_unref (sinkpad);
+      return FALSE;
+    }
+    gst_object_unref (sinkpad);
+  }
+
+  return TRUE;
+}
+
+/* We are asked to select an element. See if the next element to check
+ * is a sink. If this is the case, we see if the sink works by setting it to
+ * READY. If the sink works, we return SELECT_EXPOSE to make decodebin
+ * expose the raw pad so that we can setup the mixers. */
+static GstAutoplugSelectResult
+autoplug_select_cb (GstElement * decodebin, GstPad * pad,
+    GstCaps * caps, GstElementFactory * factory, GstSourceGroup * group)
+{
+  GstPlayBin3 *playbin;
+  GstElement *element;
+  const gchar *klass;
+  GstPlaySinkType type;
+  GstElement **sinkp;
+  GList *ave_list = NULL, *l;
+  GstAVElement *ave = NULL;
+  GSequence *ave_seq = NULL;
+  GSequenceIter *seq_iter;
+
+  playbin = group->playbin;
+
+  GST_DEBUG_OBJECT (playbin, "select group %p for %s:%s, %" GST_PTR_FORMAT,
+      group, GST_DEBUG_PAD_NAME (pad), caps);
+
+  GST_DEBUG_OBJECT (playbin, "checking factory %s", GST_OBJECT_NAME (factory));
+
+  /* if it's not a sink, we make sure the element is compatible with
+   * the fixed sink */
+  if (!gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_SINK)) {
+    gboolean isvideodec = gst_element_factory_list_is_type (factory,
+        GST_ELEMENT_FACTORY_TYPE_DECODER |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE);
+    gboolean isaudiodec = gst_element_factory_list_is_type (factory,
+        GST_ELEMENT_FACTORY_TYPE_DECODER |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO);
+
+    if (!isvideodec && !isaudiodec)
+      return GST_AUTOPLUG_SELECT_TRY;
+
+    GST_SOURCE_GROUP_LOCK (group);
+    g_mutex_lock (&playbin->elements_lock);
+
+    if (isaudiodec) {
+      ave_seq = playbin->aelements;
+      sinkp = &group->audio_sink;
+    } else {
+      ave_seq = playbin->velements;
+      sinkp = &group->video_sink;
+    }
+
+    seq_iter =
+        g_sequence_lookup (ave_seq, factory,
+        (GCompareDataFunc) avelement_lookup_decoder, NULL);
+    if (seq_iter) {
+      /* Go to first iter with that decoder */
+      do {
+        GSequenceIter *tmp_seq_iter;
+
+        tmp_seq_iter = g_sequence_iter_prev (seq_iter);
+        if (!avelement_iter_is_equal (tmp_seq_iter, factory))
+          break;
+        seq_iter = tmp_seq_iter;
+      } while (!g_sequence_iter_is_begin (seq_iter));
+
+      while (!g_sequence_iter_is_end (seq_iter)
+          && avelement_iter_is_equal (seq_iter, factory)) {
+        ave = g_sequence_get (seq_iter);
+        ave_list = g_list_prepend (ave_list, ave);
+        seq_iter = g_sequence_iter_next (seq_iter);
+      }
+
+      /* Sort all GstAVElements by their relative ranks and insert
+       * into the decoders list */
+      ave_list = g_list_sort (ave_list, (GCompareFunc) avelement_compare);
+    } else {
+      ave_list = g_list_prepend (ave_list, NULL);
+    }
+
+    /* if it is a decoder and we don't have a fixed sink, then find out 
+     * the matching audio/video sink from GstAVElements list */
+    for (l = ave_list; l; l = l->next) {
+      gboolean created_sink = FALSE;
+
+      ave = (GstAVElement *) l->data;
+
+      if (((isaudiodec && !group->audio_sink) ||
+              (isvideodec && !group->video_sink))) {
+        if (ave && ave->sink) {
+          GST_DEBUG_OBJECT (playbin,
+              "Trying to create sink '%s' for decoder '%s'",
+              gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (ave->sink)),
+              gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+          if ((*sinkp = gst_element_factory_create (ave->sink, NULL)) == NULL) {
+            GST_WARNING_OBJECT (playbin,
+                "Could not create an element from %s",
+                gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (ave->sink)));
+            continue;
+          } else {
+            if (!activate_sink (playbin, *sinkp, NULL)) {
+              gst_object_unref (*sinkp);
+              *sinkp = NULL;
+              GST_WARNING_OBJECT (playbin,
+                  "Could not activate sink %s",
+                  gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (ave->sink)));
+              continue;
+            }
+            gst_object_ref_sink (*sinkp);
+            created_sink = TRUE;
+          }
+        }
+      }
+
+      /* If it is a decoder and we have a fixed sink for the media
+       * type it outputs, check that the decoder is compatible with this sink */
+      if ((isaudiodec && group->audio_sink) || (isvideodec
+              && group->video_sink)) {
+        gboolean compatible = FALSE;
+        GstPad *sinkpad;
+        GstCaps *caps;
+        GstElement *sink;
+
+        sink = *sinkp;
+
+        if ((sinkpad = gst_element_get_static_pad (sink, "sink"))) {
+          GstPlayFlags flags = gst_play_bin3_get_flags (playbin);
+          GstCaps *raw_caps =
+              (isaudiodec) ? gst_static_caps_get (&raw_audio_caps) :
+              gst_static_caps_get (&raw_video_caps);
+
+          caps = gst_pad_query_caps (sinkpad, NULL);
+
+          /* If the sink supports raw audio/video, we first check
+           * if the decoder could output any raw audio/video format
+           * and assume it is compatible with the sink then. We don't
+           * do a complete compatibility check here if converters
+           * are plugged between the decoder and the sink because
+           * the converters will convert between raw formats and
+           * even if the decoder format is not supported by the decoder
+           * a converter will convert it.
+           *
+           * We assume here that the converters can convert between
+           * any raw format.
+           */
+          if ((isaudiodec && !(flags & GST_PLAY_FLAG_NATIVE_AUDIO)
+                  && gst_caps_can_intersect (caps, raw_caps)) || (!isaudiodec
+                  && !(flags & GST_PLAY_FLAG_NATIVE_VIDEO)
+                  && gst_caps_can_intersect (caps, raw_caps))) {
+            compatible =
+                gst_element_factory_can_src_any_caps (factory, raw_caps)
+                || gst_element_factory_can_src_any_caps (factory, caps);
+          } else {
+            compatible = gst_element_factory_can_src_any_caps (factory, caps);
+          }
+
+          gst_object_unref (sinkpad);
+          gst_caps_unref (caps);
+        }
+
+        if (compatible)
+          break;
+
+        GST_DEBUG_OBJECT (playbin, "%s not compatible with the fixed sink",
+            GST_OBJECT_NAME (factory));
+
+        /* If it is not compatible, either continue with the next possible
+         * sink or if we have a fixed sink, skip the decoder */
+        if (created_sink) {
+          gst_element_set_state (*sinkp, GST_STATE_NULL);
+          gst_object_unref (*sinkp);
+          *sinkp = NULL;
+        } else {
+          g_mutex_unlock (&playbin->elements_lock);
+          GST_SOURCE_GROUP_UNLOCK (group);
+          return GST_AUTOPLUG_SELECT_SKIP;
+        }
+      }
+    }
+    g_list_free (ave_list);
+    g_mutex_unlock (&playbin->elements_lock);
+    GST_SOURCE_GROUP_UNLOCK (group);
+    return GST_AUTOPLUG_SELECT_TRY;
+  }
+
+  /* it's a sink, see if an instance of it actually works */
+  GST_DEBUG_OBJECT (playbin, "we found a sink '%s'", GST_OBJECT_NAME (factory));
+
+  klass =
+      gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS);
+
+  /* figure out the klass */
+  if (strstr (klass, "Audio")) {
+    GST_DEBUG_OBJECT (playbin, "we found an audio sink");
+    type = GST_PLAY_SINK_TYPE_AUDIO;
+    sinkp = &group->audio_sink;
+  } else if (strstr (klass, "Video")) {
+    GST_DEBUG_OBJECT (playbin, "we found a video sink");
+    type = GST_PLAY_SINK_TYPE_VIDEO;
+    sinkp = &group->video_sink;
+  } else {
+    /* unknown klass, skip this element */
+    GST_WARNING_OBJECT (playbin, "unknown sink klass %s found", klass);
+    return GST_AUTOPLUG_SELECT_SKIP;
+  }
+
+  /* if we are asked to do visualisations and it's an audio sink, skip the
+   * element. We can only do visualisations with raw sinks */
+  if (gst_play_sink_get_flags (playbin->playsink) & GST_PLAY_FLAG_VIS) {
+    if (type == GST_PLAY_SINK_TYPE_AUDIO) {
+      GST_DEBUG_OBJECT (playbin, "skip audio sink because of vis");
+      return GST_AUTOPLUG_SELECT_SKIP;
+    }
+  }
+
+  /* now see if we already have a sink element */
+  GST_SOURCE_GROUP_LOCK (group);
+  if (*sinkp && GST_STATE (*sinkp) >= GST_STATE_READY) {
+    GstElement *sink = gst_object_ref (*sinkp);
+
+    if (sink_accepts_caps (playbin, sink, caps)) {
+      GST_DEBUG_OBJECT (playbin,
+          "Existing sink '%s' accepts caps: %" GST_PTR_FORMAT,
+          GST_ELEMENT_NAME (sink), caps);
+      gst_object_unref (sink);
+      GST_SOURCE_GROUP_UNLOCK (group);
+      return GST_AUTOPLUG_SELECT_EXPOSE;
+    } else {
+      GST_DEBUG_OBJECT (playbin,
+          "Existing sink '%s' does not accept caps: %" GST_PTR_FORMAT,
+          GST_ELEMENT_NAME (sink), caps);
+      gst_object_unref (sink);
+      GST_SOURCE_GROUP_UNLOCK (group);
+      return GST_AUTOPLUG_SELECT_SKIP;
+    }
+  }
+  GST_DEBUG_OBJECT (playbin, "we have no pending sink, try to create '%s'",
+      gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+
+  if ((*sinkp = gst_element_factory_create (factory, NULL)) == NULL) {
+    GST_WARNING_OBJECT (playbin, "Could not create an element from %s",
+        gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+    GST_SOURCE_GROUP_UNLOCK (group);
+    return GST_AUTOPLUG_SELECT_SKIP;
+  }
+
+  element = *sinkp;
+
+  if (!activate_sink (playbin, element, NULL)) {
+    GST_WARNING_OBJECT (playbin, "Could not activate sink %s",
+        gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory)));
+    *sinkp = NULL;
+    gst_object_unref (element);
+    GST_SOURCE_GROUP_UNLOCK (group);
+    return GST_AUTOPLUG_SELECT_SKIP;
+  }
+
+  /* Check if the selected sink actually supports the
+   * caps and can be set to READY*/
+  if (!sink_accepts_caps (playbin, element, caps)) {
+    *sinkp = NULL;
+    gst_element_set_state (element, GST_STATE_NULL);
+    gst_object_unref (element);
+    GST_SOURCE_GROUP_UNLOCK (group);
+    return GST_AUTOPLUG_SELECT_SKIP;
+  }
+
+  /* remember the sink in the group now, the element is floating, we take
+   * ownership now 
+   *
+   * store the sink in the group, we will configure it later when we
+   * reconfigure the sink */
+  GST_DEBUG_OBJECT (playbin, "remember sink");
+  gst_object_ref_sink (element);
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  /* tell decodebin to expose the pad because we are going to use this
+   * sink */
+  GST_DEBUG_OBJECT (playbin, "we found a working sink, expose pad");
+
+  return GST_AUTOPLUG_SELECT_EXPOSE;
+}
+
+#define GST_PLAY_BIN3_FILTER_CAPS(filter,caps) G_STMT_START {                  \
+  if ((filter)) {                                                             \
+    GstCaps *intersection =                                                   \
+        gst_caps_intersect_full ((filter), (caps), GST_CAPS_INTERSECT_FIRST); \
+    gst_caps_unref ((caps));                                                  \
+    (caps) = intersection;                                                    \
+  }                                                                           \
+} G_STMT_END
+
+static gboolean
+autoplug_query_caps (GstElement * uridecodebin, GstPad * pad,
+    GstElement * element, GstQuery * query, GstSourceGroup * group)
+{
+  GstCaps *filter, *result = NULL;
+  GstElement *sink;
+  GstPad *sinkpad = NULL;
+  GstElementFactory *factory;
+  GstElementFactoryListType factory_type;
+  gboolean have_sink = FALSE;
+
+  GST_SOURCE_GROUP_LOCK (group);
+  gst_query_parse_caps (query, &filter);
+
+  factory = gst_element_get_factory (element);
+  if (!factory)
+    goto done;
+
+  if (gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)) {
+    factory_type =
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
+        GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE;
+
+    if ((sink = group->video_sink)) {
+      sinkpad = gst_element_get_static_pad (sink, "sink");
+      if (sinkpad) {
+        GstCaps *sinkcaps;
+
+        sinkcaps = gst_pad_query_caps (sinkpad, filter);
+        if (!gst_caps_is_any (sinkcaps)) {
+          if (!result)
+            result = sinkcaps;
+          else
+            result = gst_caps_merge (result, sinkcaps);
+        } else {
+          gst_caps_unref (sinkcaps);
+        }
+        gst_object_unref (sinkpad);
+      }
+      have_sink = TRUE;
+    }
+  } else if (gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO)) {
+    factory_type = GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO;
+
+    if ((sink = group->audio_sink)) {
+      sinkpad = gst_element_get_static_pad (sink, "sink");
+      if (sinkpad) {
+        GstCaps *sinkcaps;
+
+        sinkcaps = gst_pad_query_caps (sinkpad, filter);
+        if (!gst_caps_is_any (sinkcaps)) {
+          if (!result)
+            result = sinkcaps;
+          else
+            result = gst_caps_merge (result, sinkcaps);
+        } else {
+          gst_caps_unref (sinkcaps);
+        }
+        gst_object_unref (sinkpad);
+      }
+      have_sink = TRUE;
+    }
+  } else if (gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE)) {
+    factory_type = GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE;
+
+    if ((sink = group->playbin->text_sink)) {
+      sinkpad = gst_element_get_static_pad (sink, "sink");
+      if (sinkpad) {
+        GstCaps *sinkcaps;
+
+        sinkcaps = gst_pad_query_caps (sinkpad, filter);
+        if (!gst_caps_is_any (sinkcaps)) {
+          if (!result)
+            result = sinkcaps;
+          else
+            result = gst_caps_merge (result, sinkcaps);
+        } else {
+          gst_caps_unref (sinkcaps);
+        }
+        gst_object_unref (sinkpad);
+      }
+      have_sink = TRUE;
+    } else {
+      GstCaps *subcaps = gst_subtitle_overlay_create_factory_caps ();
+      GST_PLAY_BIN3_FILTER_CAPS (filter, subcaps);
+      if (!result)
+        result = subcaps;
+      else
+        result = gst_caps_merge (result, subcaps);
+    }
+  } else {
+    goto done;
+  }
+
+  if (!have_sink) {
+    GValueArray *factories;
+    gint i, n;
+
+    factories = autoplug_factories_cb (uridecodebin, pad, NULL, group);
+    n = factories->n_values;
+    for (i = 0; i < n; i++) {
+      GValue *v = g_value_array_get_nth (factories, i);
+      GstElementFactory *f = g_value_get_object (v);
+      const GList *templates;
+      const GList *l;
+      GstCaps *templ_caps;
+
+      if (!gst_element_factory_list_is_type (f, factory_type))
+        continue;
+
+      templates = gst_element_factory_get_static_pad_templates (f);
+
+      for (l = templates; l; l = l->next) {
+        templ_caps = gst_static_pad_template_get_caps (l->data);
+
+        if (!gst_caps_is_any (templ_caps)) {
+          GST_PLAY_BIN3_FILTER_CAPS (filter, templ_caps);
+          if (!result)
+            result = templ_caps;
+          else
+            result = gst_caps_merge (result, templ_caps);
+        } else {
+          gst_caps_unref (templ_caps);
+        }
+      }
+    }
+    g_value_array_free (factories);
+  }
+
+done:
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  if (!result)
+    return FALSE;
+
+  /* Add the actual decoder/parser/etc caps at the very end to
+   * make sure we don't cause empty caps to be returned, e.g.
+   * if a parser asks us but a decoder is required after it
+   * because no sink can handle the format directly.
+   */
+  {
+    GstPad *target = gst_ghost_pad_get_target (GST_GHOST_PAD (pad));
+
+    if (target) {
+      GstCaps *target_caps = gst_pad_get_pad_template_caps (target);
+      GST_PLAY_BIN3_FILTER_CAPS (filter, target_caps);
+      result = gst_caps_merge (result, target_caps);
+      gst_object_unref (target);
+    }
+  }
+
+
+  gst_query_set_caps_result (query, result);
+  gst_caps_unref (result);
+
+  return TRUE;
+}
+
+static gboolean
+autoplug_query_context (GstElement * uridecodebin, GstPad * pad,
+    GstElement * element, GstQuery * query, GstSourceGroup * group)
+{
+  GstElement *sink;
+  GstPad *sinkpad = NULL;
+  GstElementFactory *factory;
+  gboolean res = FALSE;
+
+  GST_SOURCE_GROUP_LOCK (group);
+
+  factory = gst_element_get_factory (element);
+  if (!factory)
+    goto done;
+
+  if (gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)) {
+    if ((sink = group->video_sink)) {
+      sinkpad = gst_element_get_static_pad (sink, "sink");
+      if (sinkpad) {
+        res = gst_pad_query (sinkpad, query);
+        gst_object_unref (sinkpad);
+      }
+    }
+  } else if (gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO)) {
+    if ((sink = group->audio_sink)) {
+      sinkpad = gst_element_get_static_pad (sink, "sink");
+      if (sinkpad) {
+        res = gst_pad_query (sinkpad, query);
+        gst_object_unref (sinkpad);
+      }
+    }
+  } else if (gst_element_factory_list_is_type (factory,
+          GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE)) {
+    if ((sink = group->playbin->text_sink)) {
+      sinkpad = gst_element_get_static_pad (sink, "sink");
+      if (sinkpad) {
+        res = gst_pad_query (sinkpad, query);
+        gst_object_unref (sinkpad);
+      }
+    }
+  } else {
+    goto done;
+  }
+
+done:
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  return res;
+}
+
+static gboolean
+autoplug_query_cb (GstElement * uridecodebin, GstPad * pad,
+    GstElement * element, GstQuery * query, GstSourceGroup * group)
+{
+
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_CAPS:
+      return autoplug_query_caps (uridecodebin, pad, element, query, group);
+    case GST_QUERY_CONTEXT:
+      return autoplug_query_context (uridecodebin, pad, element, query, group);
+    default:
+      return FALSE;
+  }
+}
+
+static void
+notify_source_cb (GstElement * urisourcebin, GParamSpec * pspec,
+    GstSourceGroup * group)
+{
+  GstPlayBin3 *playbin;
+  GstElement *source;
+
+  playbin = group->playbin;
+
+  g_object_get (urisourcebin, "source", &source, NULL);
+
+  GST_OBJECT_LOCK (playbin);
+  if (playbin->source)
+    gst_object_unref (playbin->source);
+  playbin->source = source;
+  GST_OBJECT_UNLOCK (playbin);
+
+  g_object_notify (G_OBJECT (playbin), "source");
+
+  g_signal_emit (playbin, gst_play_bin3_signals[SIGNAL_SOURCE_SETUP],
+      0, playbin->source);
+}
+
+/* must be called with the group lock */
+static gboolean
+group_set_locked_state_unlocked (GstPlayBin3 * playbin, GstSourceGroup * group,
+    gboolean locked)
+{
+  GST_DEBUG_OBJECT (playbin, "locked_state %d on group %p", locked, group);
+
+  if (group->urisourcebin)
+    gst_element_set_locked_state (group->urisourcebin, locked);
+  if (group->suburisourcebin)
+    gst_element_set_locked_state (group->suburisourcebin, locked);
+
+  return TRUE;
+}
+
+static gboolean
+make_or_reuse_element (GstPlayBin3 * playbin, const gchar * name,
+    GstElement ** elem)
+{
+  if (*elem) {
+    GST_DEBUG_OBJECT (playbin, "reusing existing %s", name);
+    gst_element_set_state (*elem, GST_STATE_READY);
+    /* no need to take extra ref, we already have one
+     * and the bin will add one since it is no longer floating,
+     * as we added a non-floating ref when removing it from the
+     * bin earlier */
+  } else {
+    GstElement *new_elem;
+    GST_DEBUG_OBJECT (playbin, "making new %s", name);
+    new_elem = gst_element_factory_make (name, NULL);
+    if (!new_elem)
+      return FALSE;
+    *elem = gst_object_ref (new_elem);
+  }
+
+  if (GST_OBJECT_PARENT (*elem) != GST_OBJECT_CAST (playbin))
+    gst_bin_add (GST_BIN_CAST (playbin), *elem);
+  return TRUE;
+}
+
+static void
+urisrc_pad_added (GstElement * urisrc, GstPad * pad, GstSourceGroup * group)
+{
+  GstPadLinkReturn res;
+  GstPad *sinkpad = NULL;
+  GstPlayBin3 *playbin;
+
+  GST_SOURCE_GROUP_LOCK (group);
+  playbin = group->playbin;
+  if (urisrc == group->urisourcebin) {
+    /* Primary stream, link to the main pad of decodebin3 */
+    sinkpad = gst_element_get_static_pad (playbin->decodebin, "sink");
+    if (gst_pad_is_linked (sinkpad)) {
+      gst_object_unref (GST_OBJECT (sinkpad));
+      sinkpad = NULL;
+    }
+  }
+
+  if (sinkpad == NULL) {
+    /* Auxiliary stream, request a new pad from decodebin */
+    if ((sinkpad = gst_element_get_request_pad (playbin->decodebin, "sink_%u"))) {
+      g_object_set_data (G_OBJECT (pad), "playbin.sinkpad", sinkpad);
+    }
+  }
+  if (sinkpad) {
+    GST_DEBUG_OBJECT (playbin, "New pad %" GST_PTR_FORMAT
+        " from urisourcebin %" GST_PTR_FORMAT " linking to %"
+        GST_PTR_FORMAT, pad, urisrc, sinkpad);
+
+    res = gst_pad_link (pad, sinkpad);
+    gst_object_unref (sinkpad);
+
+    if (GST_PAD_LINK_FAILED (res))
+      goto link_failed;
+  }
+  GST_SOURCE_GROUP_UNLOCK (group);
+  return;
+
+link_failed:
+  {
+    GST_ERROR_OBJECT (playbin,
+        "failed to link pad %s:%s to decodebin, reason %s (%d)",
+        GST_DEBUG_PAD_NAME (pad), gst_pad_link_get_name (res), res);
+    GST_SOURCE_GROUP_UNLOCK (group);
+    return;
+  }
+}
+
+static void
+urisrc_pad_removed_cb (GstElement * urisrc, GstPad * pad,
+    GstSourceGroup * group)
+{
+}
+
+/* must be called with PLAY_BIN_LOCK */
+static GstStateChangeReturn
+activate_decodebin (GstPlayBin3 * playbin, GstState target)
+{
+  GstStateChangeReturn state_ret;
+  GstElement *decodebin = NULL;
+
+  if (playbin->decodebin_active)
+    return GST_STATE_CHANGE_SUCCESS;
+
+  GST_LOG_OBJECT (playbin, "Adding and activating decodebin");
+
+  if (!make_or_reuse_element (playbin, "decodebin3", &playbin->decodebin))
+    goto no_decodebin;
+  decodebin = playbin->decodebin;
+
+  /* connect pads and other things */
+  playbin->db_pad_added_id = g_signal_connect (decodebin, "pad-added",
+      G_CALLBACK (pad_added_cb), playbin);
+  playbin->db_pad_removed_id = g_signal_connect (decodebin, "pad-removed",
+      G_CALLBACK (pad_removed_cb), playbin);
+  playbin->db_no_more_pads_id = g_signal_connect (decodebin, "no-more-pads",
+      G_CALLBACK (no_more_pads_cb), playbin);
+  playbin->db_select_stream_id = g_signal_connect (decodebin, "select-stream",
+      G_CALLBACK (select_stream_cb), playbin);
+  /* is called when the decodebin is out of data and we can switch to the
+   * next uri */
+#if 0
+  /* FIXME: Re-enable if/when decodebin3 supports 'drained' */
+  playbin->db_drained_id =
+      g_signal_connect (decodebin, "drained", G_CALLBACK (drained_cb), playbin);
+#endif
+
+  gst_element_set_locked_state (decodebin, TRUE);
+  if ((state_ret =
+          gst_element_set_state (decodebin,
+              target)) == GST_STATE_CHANGE_FAILURE)
+    goto decodebin_failure;
+  gst_element_set_locked_state (decodebin, FALSE);
+
+  playbin->decodebin_active = TRUE;
+
+  return state_ret;
+
+
+no_decodebin:
+  {
+    GstMessage *msg;
+
+    msg =
+        gst_missing_element_message_new (GST_ELEMENT_CAST (playbin),
+        "decodebin3");
+    gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+
+    GST_ELEMENT_ERROR (playbin, CORE, MISSING_PLUGIN,
+        (_("Could not create \"decodebin3\" element.")), (NULL));
+
+    goto error_cleanup;
+  }
+decodebin_failure:
+  {
+    GST_DEBUG_OBJECT (playbin, "failed state change of decodebin");
+    goto error_cleanup;
+  }
+error_cleanup:{
+    if (decodebin) {
+      REMOVE_SIGNAL (playbin->decodebin, playbin->db_pad_added_id);
+      REMOVE_SIGNAL (playbin->decodebin, playbin->db_pad_removed_id);
+      REMOVE_SIGNAL (playbin->decodebin, playbin->db_no_more_pads_id);
+      REMOVE_SIGNAL (playbin->decodebin, playbin->db_drained_id);
+      REMOVE_SIGNAL (playbin->decodebin, playbin->db_select_stream_id);
+      gst_element_set_state (decodebin, GST_STATE_NULL);
+      gst_bin_remove (GST_BIN_CAST (playbin), decodebin);
+    }
+    return GST_STATE_CHANGE_FAILURE;
+  }
+}
+
+/* must be called with PLAY_BIN_LOCK */
+static void
+deactivate_decodebin (GstPlayBin3 * playbin)
+{
+  if (playbin->decodebin) {
+    GST_LOG_OBJECT (playbin, "Deactivating and removing decodebin");
+    REMOVE_SIGNAL (playbin->decodebin, playbin->db_pad_added_id);
+    REMOVE_SIGNAL (playbin->decodebin, playbin->db_pad_removed_id);
+    REMOVE_SIGNAL (playbin->decodebin, playbin->db_no_more_pads_id);
+    REMOVE_SIGNAL (playbin->decodebin, playbin->db_drained_id);
+    REMOVE_SIGNAL (playbin->decodebin, playbin->db_select_stream_id);
+    gst_bin_remove (GST_BIN_CAST (playbin), playbin->decodebin);
+    playbin->decodebin_active = FALSE;
+    playbin->active_stream_types = 0;
+  }
+}
+
+/* must be called with PLAY_BIN_LOCK */
+static GstStateChangeReturn
+activate_group (GstPlayBin3 * playbin, GstSourceGroup * group, GstState target)
+{
+  GstElement *urisrcbin = NULL;
+  GstElement *suburisrcbin = NULL;
+  GstPlayFlags flags;
+  gboolean audio_sink_activated = FALSE;
+  gboolean video_sink_activated = FALSE;
+  gboolean text_sink_activated = FALSE;
+  GstStateChangeReturn state_ret;
+
+  g_return_val_if_fail (group->valid, GST_STATE_CHANGE_FAILURE);
+  g_return_val_if_fail (!group->active, GST_STATE_CHANGE_FAILURE);
+
+  GST_DEBUG_OBJECT (playbin, "activating group %p", group);
+
+  GST_SOURCE_GROUP_LOCK (group);
+
+  /* First set up the custom sinks */
+  if (playbin->audio_sink)
+    group->audio_sink = gst_object_ref (playbin->audio_sink);
+  else
+    group->audio_sink =
+        gst_play_sink_get_sink (playbin->playsink, GST_PLAY_SINK_TYPE_AUDIO);
+
+  if (group->audio_sink) {
+    if (!activate_sink (playbin, group->audio_sink, &audio_sink_activated)) {
+      if (group->audio_sink == playbin->audio_sink) {
+        goto sink_failure;
+      } else {
+        gst_object_unref (group->audio_sink);
+        group->audio_sink = NULL;
+      }
+    }
+  }
+
+  if (playbin->video_sink)
+    group->video_sink = gst_object_ref (playbin->video_sink);
+  else
+    group->video_sink =
+        gst_play_sink_get_sink (playbin->playsink, GST_PLAY_SINK_TYPE_VIDEO);
+
+  if (group->video_sink) {
+    if (!activate_sink (playbin, group->video_sink, &video_sink_activated)) {
+      if (group->video_sink == playbin->video_sink) {
+        goto sink_failure;
+      } else {
+        gst_object_unref (group->video_sink);
+        group->video_sink = NULL;
+      }
+    }
+  }
+
+  if (playbin->text_sink)
+    group->text_sink = gst_object_ref (playbin->text_sink);
+  else
+    group->text_sink =
+        gst_play_sink_get_sink (playbin->playsink, GST_PLAY_SINK_TYPE_TEXT);
+
+  if (group->text_sink) {
+    if (!activate_sink (playbin, group->text_sink, &text_sink_activated)) {
+      if (group->text_sink == playbin->text_sink) {
+        goto sink_failure;
+      } else {
+        gst_object_unref (group->text_sink);
+        group->text_sink = NULL;
+      }
+    }
+  }
+
+
+  if (!make_or_reuse_element (playbin, "urisourcebin", &group->urisourcebin))
+    goto no_urisrcbin;
+  urisrcbin = group->urisourcebin;
+
+  flags = gst_play_sink_get_flags (playbin->playsink);
+
+  g_object_set (urisrcbin,
+      /* configure connection speed */
+      "connection-speed", playbin->connection_speed / 1000,
+      /* configure uri */
+      "uri", group->uri,
+      /* configure download buffering */
+      "download", ((flags & GST_PLAY_FLAG_DOWNLOAD) != 0),
+      /* configure buffering of demuxed/parsed data */
+      "use-buffering", ((flags & GST_PLAY_FLAG_BUFFERING) != 0),
+      /* configure buffering parameters */
+      "buffer-duration", playbin->buffer_duration,
+      "buffer-size", playbin->buffer_size,
+      "ring-buffer-max-size", playbin->ring_buffer_max_size, NULL);
+
+  /* we have 1 pending no-more-pads */
+  group->pending = 1;
+
+  group->notify_source_id = g_signal_connect (urisrcbin, "notify::source",
+      G_CALLBACK (notify_source_cb), group);
+
+  /* will be called when a new media type is found. We return a list of decoders
+   * including sinks for decodebin to try */
+  group->autoplug_factories_id =
+      g_signal_connect (urisrcbin, "autoplug-factories",
+      G_CALLBACK (autoplug_factories_cb), group);
+  group->autoplug_select_id =
+      g_signal_connect (urisrcbin, "autoplug-select",
+      G_CALLBACK (autoplug_select_cb), group);
+  group->autoplug_continue_id =
+      g_signal_connect (urisrcbin, "autoplug-continue",
+      G_CALLBACK (autoplug_continue_cb), group);
+  group->autoplug_query_id =
+      g_signal_connect (urisrcbin, "autoplug-query",
+      G_CALLBACK (autoplug_query_cb), group);
+
+  group->urisrc_pad_added_id = g_signal_connect (urisrcbin, "pad-added",
+      G_CALLBACK (urisrc_pad_added), group);
+  group->urisrc_pad_removed_id = g_signal_connect (urisrcbin,
+      "pad-removed", G_CALLBACK (urisrc_pad_removed_cb), group);
+
+  if (group->suburi) {
+    /* subtitles */
+    if (!make_or_reuse_element (playbin, "urisourcebin",
+            &group->suburisourcebin))
+      goto no_urisrcbin;
+    suburisrcbin = group->suburisourcebin;
+
+    g_object_set (suburisrcbin,
+        /* configure connection speed */
+        "connection-speed", playbin->connection_speed,
+        /* configure uri */
+        "uri", group->suburi, NULL);
+
+    /* connect pads and other things */
+    group->sub_pad_added_id = g_signal_connect (suburisrcbin, "pad-added",
+        G_CALLBACK (urisrc_pad_added), group);
+    group->sub_pad_removed_id = g_signal_connect (suburisrcbin,
+        "pad-removed", G_CALLBACK (urisrc_pad_removed_cb), group);
+
+    group->sub_autoplug_continue_id =
+        g_signal_connect (suburisrcbin, "autoplug-continue",
+        G_CALLBACK (autoplug_continue_cb), group);
+
+    group->sub_autoplug_query_id =
+        g_signal_connect (suburisrcbin, "autoplug-query",
+        G_CALLBACK (autoplug_query_cb), group);
+
+    /* we have 2 pending no-more-pads */
+    group->pending = 2;
+    group->sub_pending = TRUE;
+  } else {
+    group->sub_pending = FALSE;
+  }
+
+  /* release the group lock before setting the state of the source bins, they
+   * might fire signals in this thread that we need to handle with the
+   * group_lock taken. */
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  if (suburisrcbin) {
+    if (gst_element_set_state (suburisrcbin,
+            target) == GST_STATE_CHANGE_FAILURE) {
+      GST_DEBUG_OBJECT (playbin,
+          "failed state change of subtitle urisourcebin");
+      GST_SOURCE_GROUP_LOCK (group);
+
+      REMOVE_SIGNAL (suburisrcbin, group->sub_pad_added_id);
+      REMOVE_SIGNAL (suburisrcbin, group->sub_pad_removed_id);
+      REMOVE_SIGNAL (suburisrcbin, group->sub_autoplug_continue_id);
+      REMOVE_SIGNAL (suburisrcbin, group->sub_autoplug_query_id);
+      /* Might already be removed because of an error message */
+      if (GST_OBJECT_PARENT (suburisrcbin) == GST_OBJECT_CAST (playbin))
+        gst_bin_remove (GST_BIN_CAST (playbin), suburisrcbin);
+      if (group->sub_pending) {
+        group->pending--;
+        group->sub_pending = FALSE;
+      }
+      gst_element_set_state (suburisrcbin, GST_STATE_READY);
+      g_free (group->suburi);
+      group->suburi = NULL;
+      GST_SOURCE_GROUP_UNLOCK (group);
+    }
+  }
+  if ((state_ret =
+          gst_element_set_state (urisrcbin,
+              target)) == GST_STATE_CHANGE_FAILURE)
+    goto urisrcbin_failure;
+
+  GST_SOURCE_GROUP_LOCK (group);
+  /* allow state changes of the playbin affect the group elements now */
+  group_set_locked_state_unlocked (playbin, group, FALSE);
+  group->active = TRUE;
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  return state_ret;
+
+  /* ERRORS */
+no_urisrcbin:
+  {
+    GstMessage *msg;
+
+    GST_SOURCE_GROUP_UNLOCK (group);
+    msg =
+        gst_missing_element_message_new (GST_ELEMENT_CAST (playbin),
+        "urisourcebin");
+    gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
+
+    GST_ELEMENT_ERROR (playbin, CORE, MISSING_PLUGIN,
+        (_("Could not create \"urisourcebin\" element.")), (NULL));
+
+    GST_SOURCE_GROUP_LOCK (group);
+
+    goto error_cleanup;
+  }
+urisrcbin_failure:
+  {
+    GST_DEBUG_OBJECT (playbin, "failed state change of urisrcbin");
+    GST_SOURCE_GROUP_LOCK (group);
+    goto error_cleanup;
+  }
+sink_failure:
+  {
+    GST_ERROR_OBJECT (playbin, "failed to activate sinks");
+    goto error_cleanup;
+  }
+
+error_cleanup:
+  {
+    /* delete any custom sinks we might have */
+    if (group->audio_sink) {
+      /* If this is a automatically created sink set it to NULL */
+      if (audio_sink_activated)
+        gst_element_set_state (group->audio_sink, GST_STATE_NULL);
+      gst_object_unref (group->audio_sink);
+    }
+    group->audio_sink = NULL;
+
+    if (group->video_sink) {
+      /* If this is a automatically created sink set it to NULL */
+      if (video_sink_activated)
+        gst_element_set_state (group->video_sink, GST_STATE_NULL);
+      gst_object_unref (group->video_sink);
+    }
+    group->video_sink = NULL;
+
+    if (group->text_sink) {
+      /* If this is a automatically created sink set it to NULL */
+      if (text_sink_activated)
+        gst_element_set_state (group->text_sink, GST_STATE_NULL);
+      gst_object_unref (group->text_sink);
+    }
+    group->text_sink = NULL;
+
+    if (urisrcbin) {
+      REMOVE_SIGNAL (group->urisourcebin, group->urisrc_pad_added_id);
+      REMOVE_SIGNAL (group->urisourcebin, group->urisrc_pad_removed_id);
+      REMOVE_SIGNAL (group->urisourcebin, group->notify_source_id);
+      REMOVE_SIGNAL (group->urisourcebin, group->autoplug_factories_id);
+      REMOVE_SIGNAL (group->urisourcebin, group->autoplug_select_id);
+      REMOVE_SIGNAL (group->urisourcebin, group->autoplug_continue_id);
+      REMOVE_SIGNAL (group->urisourcebin, group->autoplug_query_id);
+
+      gst_element_set_state (urisrcbin, GST_STATE_NULL);
+      gst_bin_remove (GST_BIN_CAST (playbin), urisrcbin);
+    }
+
+    GST_SOURCE_GROUP_UNLOCK (group);
+
+    return GST_STATE_CHANGE_FAILURE;
+  }
+}
+
+/* unlink a group of urisrcbin from the decodebin.
+ * must be called with PLAY_BIN_LOCK */
+static gboolean
+deactivate_group (GstPlayBin3 * playbin, GstSourceGroup * group)
+{
+  gint i;
+
+  g_return_val_if_fail (group->active, FALSE);
+  g_return_val_if_fail (group->valid, FALSE);
+
+  GST_DEBUG_OBJECT (playbin, "unlinking group %p", group);
+
+  GST_SOURCE_GROUP_LOCK (group);
+  group->active = FALSE;
+  for (i = 0; i < PLAYBIN_STREAM_LAST; i++) {
+    GstSourceCombine *combine = &playbin->combiner[i];
+
+    GST_DEBUG_OBJECT (playbin, "unlinking combiner %s", combine->media_type);
+
+    if (combine->srcpad) {
+      source_combine_remove_pads (playbin, combine);
+    }
+
+    if (combine->combiner) {
+      gint n;
+
+      /* release and unref requests pad from the combiner */
+      for (n = 0; n < combine->channels->len; n++) {
+        GstPad *sinkpad = g_ptr_array_index (combine->channels, n);
+
+        gst_element_release_request_pad (combine->combiner, sinkpad);
+        gst_object_unref (sinkpad);
+      }
+      g_ptr_array_set_size (combine->channels, 0);
+
+      gst_element_set_state (combine->combiner, GST_STATE_NULL);
+      gst_bin_remove (GST_BIN_CAST (playbin), combine->combiner);
+      combine->combiner = NULL;
+    }
+  }
+#if 0
+  /* delete any custom sinks we might have.
+   * conditionally set them to null if they aren't inside playsink yet */
+  if (group->audio_sink) {
+    if (!gst_object_has_as_ancestor (GST_OBJECT_CAST (group->audio_sink),
+            GST_OBJECT_CAST (playbin->playsink))) {
+      gst_element_set_state (group->audio_sink, GST_STATE_NULL);
+    }
+    gst_object_unref (group->audio_sink);
+  }
+  group->audio_sink = NULL;
+  if (group->video_sink) {
+    if (!gst_object_has_as_ancestor (GST_OBJECT_CAST (group->video_sink),
+            GST_OBJECT_CAST (playbin->playsink))) {
+      gst_element_set_state (group->video_sink, GST_STATE_NULL);
+    }
+    gst_object_unref (group->video_sink);
+  }
+  group->video_sink = NULL;
+  if (group->text_sink) {
+    if (!gst_object_has_as_ancestor (GST_OBJECT_CAST (group->text_sink),
+            GST_OBJECT_CAST (playbin->playsink))) {
+      gst_element_set_state (group->text_sink, GST_STATE_NULL);
+    }
+    gst_object_unref (group->text_sink);
+  }
+  group->text_sink = NULL;
+#endif
+
+  if (group->urisourcebin) {
+    REMOVE_SIGNAL (group->urisourcebin, group->urisrc_pad_added_id);
+    REMOVE_SIGNAL (group->urisourcebin, group->urisrc_pad_removed_id);
+    REMOVE_SIGNAL (group->urisourcebin, group->notify_source_id);
+    REMOVE_SIGNAL (group->urisourcebin, group->autoplug_factories_id);
+    REMOVE_SIGNAL (group->urisourcebin, group->autoplug_select_id);
+    REMOVE_SIGNAL (group->urisourcebin, group->autoplug_continue_id);
+    REMOVE_SIGNAL (group->urisourcebin, group->autoplug_query_id);
+    gst_bin_remove (GST_BIN_CAST (playbin), group->urisourcebin);
+  }
+
+  if (group->suburisourcebin) {
+    REMOVE_SIGNAL (group->suburisourcebin, group->sub_pad_added_id);
+    REMOVE_SIGNAL (group->suburisourcebin, group->sub_pad_removed_id);
+    REMOVE_SIGNAL (group->suburisourcebin, group->sub_autoplug_continue_id);
+    REMOVE_SIGNAL (group->suburisourcebin, group->sub_autoplug_query_id);
+
+    /* Might already be removed because of errors */
+    if (GST_OBJECT_PARENT (group->suburisourcebin) == GST_OBJECT_CAST (playbin))
+      gst_bin_remove (GST_BIN_CAST (playbin), group->suburisourcebin);
+  }
+
+  GST_SOURCE_GROUP_UNLOCK (group);
+
+  return TRUE;
+}
+
+/* setup the next group to play, this assumes the next_group is valid and
+ * configured. It swaps out the current_group and activates the valid
+ * next_group. */
+static GstStateChangeReturn
+setup_next_source (GstPlayBin3 * playbin, GstState target)
+{
+  GstSourceGroup *new_group, *old_group;
+  GstStateChangeReturn state_ret;
+
+  GST_DEBUG_OBJECT (playbin, "setup sources");
+
+  /* see if there is a next group */
+  GST_PLAY_BIN3_LOCK (playbin);
+  new_group = playbin->next_group;
+  if (!new_group || !new_group->valid)
+    goto no_next_group;
+
+  /* first unlink the current source, if any */
+  old_group = playbin->curr_group;
+  if (old_group && old_group->valid && old_group->active) {
+    new_group->stream_changed_pending = TRUE;
+
+    gst_play_bin3_update_cached_duration (playbin);
+    /* unlink our pads with the sink */
+    deactivate_group (playbin, old_group);
+    old_group->valid = FALSE;
+  }
+
+  /* swap old and new */
+  playbin->curr_group = new_group;
+  playbin->next_group = old_group;
+
+  /* Get decodebin ready now */
+  if ((state_ret =
+          activate_decodebin (playbin, target)) == GST_STATE_CHANGE_FAILURE)
+    goto activate_failed;
+
+  /* activate the new group */
+  if ((state_ret =
+          activate_group (playbin, new_group,
+              target)) == GST_STATE_CHANGE_FAILURE)
+    goto activate_failed;
+
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return state_ret;
+
+  /* ERRORS */
+no_next_group:
+  {
+    GST_DEBUG_OBJECT (playbin, "no next group");
+    if (target == GST_STATE_READY && new_group && new_group->uri == NULL)
+      GST_ELEMENT_ERROR (playbin, RESOURCE, NOT_FOUND, ("No URI set"), (NULL));
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    return GST_STATE_CHANGE_FAILURE;
+  }
+activate_failed:
+  {
+    new_group->stream_changed_pending = FALSE;
+    GST_DEBUG_OBJECT (playbin, "activate failed");
+    new_group->valid = FALSE;
+    GST_PLAY_BIN3_UNLOCK (playbin);
+    return GST_STATE_CHANGE_FAILURE;
+  }
+}
+
+/* The group that is currently playing is copied again to the
+ * next_group so that it will start playing the next time.
+ */
+static gboolean
+save_current_group (GstPlayBin3 * playbin)
+{
+  GstSourceGroup *curr_group;
+
+  GST_DEBUG_OBJECT (playbin, "save current group");
+
+  /* see if there is a current group */
+  GST_PLAY_BIN3_LOCK (playbin);
+  curr_group = playbin->curr_group;
+  if (curr_group && curr_group->valid && curr_group->active) {
+    /* unlink our pads with the sink */
+    deactivate_group (playbin, curr_group);
+  }
+  /* swap old and new */
+  playbin->curr_group = playbin->next_group;
+  playbin->next_group = curr_group;
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return TRUE;
+}
+
+/* clear the locked state from all groups. This function is called before a
+ * state change to NULL is performed on them. */
+static gboolean
+groups_set_locked_state (GstPlayBin3 * playbin, gboolean locked)
+{
+  GST_DEBUG_OBJECT (playbin, "setting locked state to %d on all groups",
+      locked);
+
+  GST_PLAY_BIN3_LOCK (playbin);
+  GST_SOURCE_GROUP_LOCK (playbin->curr_group);
+  group_set_locked_state_unlocked (playbin, playbin->curr_group, locked);
+  GST_SOURCE_GROUP_UNLOCK (playbin->curr_group);
+  GST_SOURCE_GROUP_LOCK (playbin->next_group);
+  group_set_locked_state_unlocked (playbin, playbin->next_group, locked);
+  GST_SOURCE_GROUP_UNLOCK (playbin->next_group);
+  GST_PLAY_BIN3_UNLOCK (playbin);
+
+  return TRUE;
+}
+
+static GstStateChangeReturn
+gst_play_bin3_change_state (GstElement * element, GstStateChange transition)
+{
+  GstStateChangeReturn ret;
+  GstPlayBin3 *playbin;
+  gboolean do_save = FALSE;
+
+  playbin = GST_PLAY_BIN3 (element);
+
+  switch (transition) {
+    case GST_STATE_CHANGE_NULL_TO_READY:
+      memset (&playbin->duration, 0, sizeof (playbin->duration));
+      break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      GST_LOG_OBJECT (playbin, "clearing shutdown flag");
+      memset (&playbin->duration, 0, sizeof (playbin->duration));
+      g_atomic_int_set (&playbin->shutdown, 0);
+      do_async_start (playbin);
+      break;
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+    async_down:
+      /* FIXME unlock our waiting groups */
+      GST_LOG_OBJECT (playbin, "setting shutdown flag");
+      g_atomic_int_set (&playbin->shutdown, 1);
+      memset (&playbin->duration, 0, sizeof (playbin->duration));
+
+      /* wait for all callbacks to end by taking the lock.
+       * No dynamic (critical) new callbacks will
+       * be able to happen as we set the shutdown flag. */
+      GST_PLAY_BIN3_DYN_LOCK (playbin);
+      GST_LOG_OBJECT (playbin, "dynamic lock taken, we can continue shutdown");
+      GST_PLAY_BIN3_DYN_UNLOCK (playbin);
+      if (!do_save)
+        break;
+    case GST_STATE_CHANGE_READY_TO_NULL:
+      /* we go async to PAUSED, so if that fails, we never make it to PAUSED
+       * and no state change PAUSED to READY passes here,
+       * though it is a nice-to-have ... */
+      if (!g_atomic_int_get (&playbin->shutdown)) {
+        do_save = TRUE;
+        goto async_down;
+      }
+      memset (&playbin->duration, 0, sizeof (playbin->duration));
+
+      /* unlock so that all groups go to NULL */
+      groups_set_locked_state (playbin, FALSE);
+      break;
+    default:
+      break;
+  }
+
+  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+  if (ret == GST_STATE_CHANGE_FAILURE)
+    goto failure;
+
+  switch (transition) {
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      if ((ret =
+              setup_next_source (playbin,
+                  GST_STATE_PAUSED)) == GST_STATE_CHANGE_FAILURE)
+        goto failure;
+      if (ret == GST_STATE_CHANGE_SUCCESS)
+        ret = GST_STATE_CHANGE_ASYNC;
+
+      break;
+    case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+      do_async_done (playbin);
+      /* FIXME Release audio device when we implement that */
+      break;
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      save_current_group (playbin);
+      break;
+    case GST_STATE_CHANGE_READY_TO_NULL:
+    {
+      guint i;
+      GList *l;
+
+      /* also do missed state change down to READY */
+      if (do_save)
+        save_current_group (playbin);
+      /* Deactive the groups, set the urisrcbins to NULL
+       * and unref them.
+       */
+      for (i = 0; i < 2; i++) {
+        if (playbin->groups[i].active && playbin->groups[i].valid) {
+          deactivate_group (playbin, &playbin->groups[i]);
+          playbin->groups[i].valid = FALSE;
+        }
+
+        if (playbin->groups[i].urisourcebin) {
+          gst_element_set_state (playbin->groups[i].urisourcebin,
+              GST_STATE_NULL);
+          gst_object_unref (playbin->groups[i].urisourcebin);
+          playbin->groups[i].urisourcebin = NULL;
+        }
+
+        if (playbin->groups[i].suburisourcebin) {
+          gst_element_set_state (playbin->groups[i].suburisourcebin,
+              GST_STATE_NULL);
+          gst_object_unref (playbin->groups[i].suburisourcebin);
+          playbin->groups[i].suburisourcebin = NULL;
+        }
+      }
+
+      deactivate_decodebin (playbin);
+      if (playbin->decodebin) {
+        gst_object_unref (playbin->decodebin);
+        playbin->decodebin = NULL;
+        playbin->decodebin_active = FALSE;
+      }
+
+      /* Set our sinks back to NULL, they might not be child of playbin */
+      if (playbin->audio_sink)
+        gst_element_set_state (playbin->audio_sink, GST_STATE_NULL);
+      if (playbin->video_sink)
+        gst_element_set_state (playbin->video_sink, GST_STATE_NULL);
+      if (playbin->text_sink)
+        gst_element_set_state (playbin->text_sink, GST_STATE_NULL);
+
+      if (playbin->video_stream_combiner)
+        gst_element_set_state (playbin->video_stream_combiner, GST_STATE_NULL);
+      if (playbin->audio_stream_combiner)
+        gst_element_set_state (playbin->audio_stream_combiner, GST_STATE_NULL);
+      if (playbin->text_stream_combiner)
+        gst_element_set_state (playbin->text_stream_combiner, GST_STATE_NULL);
+
+      /* make sure the groups don't perform a state change anymore until we
+       * enable them again */
+      groups_set_locked_state (playbin, TRUE);
+
+      /* Remove all non-persistent contexts */
+      GST_OBJECT_LOCK (playbin);
+      for (l = playbin->contexts; l;) {
+        GstContext *context = l->data;
+
+        if (!gst_context_is_persistent (context)) {
+          GList *next;
+
+          gst_context_unref (context);
+
+          next = l->next;
+          playbin->contexts = g_list_delete_link (playbin->contexts, l);
+          l = next;
+        } else {
+          l = l->next;
+        }
+      }
+
+      if (playbin->source) {
+        gst_object_unref (playbin->source);
+        playbin->source = NULL;
+      }
+
+      GST_OBJECT_UNLOCK (playbin);
+      break;
+    }
+    default:
+      break;
+  }
+
+  if (ret == GST_STATE_CHANGE_NO_PREROLL)
+    do_async_done (playbin);
+
+  return ret;
+
+  /* ERRORS */
+failure:
+  {
+    do_async_done (playbin);
+
+    if (transition == GST_STATE_CHANGE_READY_TO_PAUSED) {
+      GstSourceGroup *curr_group;
+
+      curr_group = playbin->curr_group;
+      if (curr_group) {
+        if (curr_group->active && curr_group->valid) {
+          /* unlink our pads with the sink */
+          deactivate_group (playbin, curr_group);
+        }
+        curr_group->valid = FALSE;
+      }
+
+      /* Swap current and next group back */
+      playbin->curr_group = playbin->next_group;
+      playbin->next_group = curr_group;
+    }
+    return ret;
+  }
+}
+
+static void
+gst_play_bin3_overlay_expose (GstVideoOverlay * overlay)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (overlay);
+
+  gst_video_overlay_expose (GST_VIDEO_OVERLAY (playbin->playsink));
+}
+
+static void
+gst_play_bin3_overlay_handle_events (GstVideoOverlay * overlay,
+    gboolean handle_events)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (overlay);
+
+  gst_video_overlay_handle_events (GST_VIDEO_OVERLAY (playbin->playsink),
+      handle_events);
+}
+
+static void
+gst_play_bin3_overlay_set_render_rectangle (GstVideoOverlay * overlay, gint x,
+    gint y, gint width, gint height)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (overlay);
+
+  gst_video_overlay_set_render_rectangle (GST_VIDEO_OVERLAY (playbin->playsink),
+      x, y, width, height);
+}
+
+static void
+gst_play_bin3_overlay_set_window_handle (GstVideoOverlay * overlay,
+    guintptr handle)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (overlay);
+
+  gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (playbin->playsink),
+      handle);
+}
+
+static void
+gst_play_bin3_overlay_init (gpointer g_iface, gpointer g_iface_data)
+{
+  GstVideoOverlayInterface *iface = (GstVideoOverlayInterface *) g_iface;
+  iface->expose = gst_play_bin3_overlay_expose;
+  iface->handle_events = gst_play_bin3_overlay_handle_events;
+  iface->set_render_rectangle = gst_play_bin3_overlay_set_render_rectangle;
+  iface->set_window_handle = gst_play_bin3_overlay_set_window_handle;
+}
+
+static void
+gst_play_bin3_navigation_send_event (GstNavigation * navigation,
+    GstStructure * structure)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (navigation);
+
+  gst_navigation_send_event (GST_NAVIGATION (playbin->playsink), structure);
+}
+
+static void
+gst_play_bin3_navigation_init (gpointer g_iface, gpointer g_iface_data)
+{
+  GstNavigationInterface *iface = (GstNavigationInterface *) g_iface;
+
+  iface->send_event = gst_play_bin3_navigation_send_event;
+}
+
+static const GList *
+gst_play_bin3_colorbalance_list_channels (GstColorBalance * balance)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (balance);
+
+  return
+      gst_color_balance_list_channels (GST_COLOR_BALANCE (playbin->playsink));
+}
+
+static void
+gst_play_bin3_colorbalance_set_value (GstColorBalance * balance,
+    GstColorBalanceChannel * channel, gint value)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (balance);
+
+  gst_color_balance_set_value (GST_COLOR_BALANCE (playbin->playsink), channel,
+      value);
+}
+
+static gint
+gst_play_bin3_colorbalance_get_value (GstColorBalance * balance,
+    GstColorBalanceChannel * channel)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (balance);
+
+  return gst_color_balance_get_value (GST_COLOR_BALANCE (playbin->playsink),
+      channel);
+}
+
+static GstColorBalanceType
+gst_play_bin3_colorbalance_get_balance_type (GstColorBalance * balance)
+{
+  GstPlayBin3 *playbin = GST_PLAY_BIN3 (balance);
+
+  return
+      gst_color_balance_get_balance_type (GST_COLOR_BALANCE
+      (playbin->playsink));
+}
+
+static void
+gst_play_bin3_colorbalance_init (gpointer g_iface, gpointer g_iface_data)
+{
+  GstColorBalanceInterface *iface = (GstColorBalanceInterface *) g_iface;
+
+  iface->list_channels = gst_play_bin3_colorbalance_list_channels;
+  iface->set_value = gst_play_bin3_colorbalance_set_value;
+  iface->get_value = gst_play_bin3_colorbalance_get_value;
+  iface->get_balance_type = gst_play_bin3_colorbalance_get_balance_type;
+}
+
+gboolean
+gst_play_bin3_plugin_init (GstPlugin * plugin, gboolean as_playbin)
+{
+  GST_DEBUG_CATEGORY_INIT (gst_play_bin3_debug, "playbin3", 0, "play bin");
+
+  if (as_playbin)
+    return gst_element_register (plugin, "playbin", GST_RANK_NONE,
+        GST_TYPE_PLAY_BIN);
+
+  return gst_element_register (plugin, "playbin3", GST_RANK_NONE,
+      GST_TYPE_PLAY_BIN);
+}
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
index c640ba4..0bca05c 100644
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -620,16 +620,13 @@
       G_STRUCT_OFFSET (GstPlaySinkClass, convert_sample), NULL, NULL,
       g_cclosure_marshal_generic, GST_TYPE_SAMPLE, 1, GST_TYPE_CAPS);
 
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&audiorawtemplate));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&audiotemplate));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&videorawtemplate));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&videotemplate));
-  gst_element_class_add_pad_template (gstelement_klass,
-      gst_static_pad_template_get (&texttemplate));
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &audiorawtemplate);
+  gst_element_class_add_static_pad_template (gstelement_klass, &audiotemplate);
+  gst_element_class_add_static_pad_template (gstelement_klass,
+      &videorawtemplate);
+  gst_element_class_add_static_pad_template (gstelement_klass, &videotemplate);
+  gst_element_class_add_static_pad_template (gstelement_klass, &texttemplate);
   gst_element_class_set_static_metadata (gstelement_klass, "Player Sink",
       "Generic/Bin/Sink",
       "Convenience sink for multiple streams",
@@ -4633,7 +4630,9 @@
 
       if (format == GST_FORMAT_BUFFERS) {
         /* for the buffer format, we align the other streams */
-        if (playsink->audiochain) {
+        if (playsink->audiochain
+            && !gst_object_has_as_ancestor (GST_MESSAGE_SRC (message),
+                GST_OBJECT (playsink->audiochain->chain.bin))) {
           GstEvent *event;
 
           event =
@@ -4701,10 +4700,11 @@
  * to them in case it's source is different from the a/v stream's source.
  */
 static gboolean
-gst_play_sink_send_event_to_sink (GstPlaySink * playsink, GstEvent * event)
+gst_play_sink_send_event_to_sink (GstPlaySink * playsink, GstEvent * event,
+    gboolean force_video)
 {
   gboolean res = TRUE;
-  if (playsink->send_event_mode == MODE_FIRST) {
+  if (playsink->send_event_mode == MODE_FIRST || force_video) {
     if (playsink->textchain && playsink->textchain->sink) {
       gst_event_ref (event);
       if ((res =
@@ -4725,7 +4725,7 @@
       }
       GST_DEBUG_OBJECT (playsink, "Event failed when sent to video sink");
     }
-    if (playsink->audiochain) {
+    if (!force_video && playsink->audiochain) {
       gst_event_ref (event);
       if ((res =
               gst_element_send_event (playsink->audiochain->chain.bin,
@@ -4734,6 +4734,8 @@
         goto done;
       }
       GST_DEBUG_OBJECT (playsink, "Event failed when sent to audio sink");
+    } else {
+      res = FALSE;
     }
   } else {
     return
@@ -4759,7 +4761,7 @@
   switch (event_type) {
     case GST_EVENT_SEEK:
       GST_DEBUG_OBJECT (element, "Sending event to a sink");
-      res = gst_play_sink_send_event_to_sink (playsink, event);
+      res = gst_play_sink_send_event_to_sink (playsink, event, FALSE);
       break;
     case GST_EVENT_STEP:
     {
@@ -4772,7 +4774,7 @@
       if (format == GST_FORMAT_BUFFERS) {
         /* for buffers, we will try to step video frames, for other formats we
          * send the step to all sinks */
-        res = gst_play_sink_send_event_to_sink (playsink, event);
+        res = gst_play_sink_send_event_to_sink (playsink, event, TRUE);
       } else {
         res =
             GST_ELEMENT_CLASS (gst_play_sink_parent_class)->send_event (element,
diff --git a/gst/playback/gstplaysinkconvertbin.c b/gst/playback/gstplaysinkconvertbin.c
index 0930810..d4f6570 100644
--- a/gst/playback/gstplaysinkconvertbin.c
+++ b/gst/playback/gstplaysinkconvertbin.c
@@ -655,10 +655,8 @@
   gobject_class->dispose = gst_play_sink_convert_bin_dispose;
   gobject_class->finalize = gst_play_sink_convert_bin_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
   gst_element_class_set_static_metadata (gstelement_class,
       "Player Sink Converter Bin", "Bin/Converter",
       "Convenience bin for audio/video conversion",
diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
index 091e576..b26ee70 100644
--- a/gst/playback/gststreamsynchronizer.c
+++ b/gst/playback/gststreamsynchronizer.c
@@ -1020,10 +1020,8 @@
 
   gobject_class->finalize = gst_stream_synchronizer_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
+  gst_element_class_add_static_pad_template (element_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (element_class,
       "Stream Synchronizer", "Generic",
diff --git a/gst/playback/gstsubtitleoverlay.c b/gst/playback/gstsubtitleoverlay.c
index adab7e5..65159e8 100644
--- a/gst/playback/gstsubtitleoverlay.c
+++ b/gst/playback/gstsubtitleoverlay.c
@@ -430,6 +430,10 @@
       gst_caps_unref (_factory_caps);
     _factory_caps = gst_caps_new_empty ();
 
+    /* The caps is cached */
+    GST_MINI_OBJECT_FLAG_SET (_factory_caps,
+        GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED);
+
     factories = gst_registry_feature_filter (registry,
         (GstPluginFeatureFilter) _factory_filter, FALSE, &_factory_caps);
     GST_DEBUG ("Created factory caps: %" GST_PTR_FORMAT, _factory_caps);
@@ -1018,10 +1022,17 @@
   GstCaps *subcaps;
   GList *l, *factories = NULL;
 
-  if (GST_IS_EVENT (info->data) && !GST_EVENT_IS_SERIALIZED (info->data)) {
-    GST_DEBUG_OBJECT (pad, "Letting non-serialized event %s pass",
-        GST_EVENT_TYPE_NAME (info->data));
-    return GST_PAD_PROBE_PASS;
+  if (GST_IS_EVENT (info->data)) {
+    if (!GST_EVENT_IS_SERIALIZED (info->data)) {
+      GST_DEBUG_OBJECT (pad, "Letting non-serialized event %s pass",
+          GST_EVENT_TYPE_NAME (info->data));
+      return GST_PAD_PROBE_PASS;
+    }
+    if (GST_EVENT_TYPE (info->data) == GST_EVENT_STREAM_START) {
+      GST_DEBUG_OBJECT (pad, "Letting event %s pass",
+          GST_EVENT_TYPE_NAME (info->data));
+      return GST_PAD_PROBE_PASS;
+    }
   }
 
   GST_DEBUG_OBJECT (pad, "Pad blocked");
@@ -1059,7 +1070,7 @@
 
   /* If there are no subcaps but the subtitle sink is blocked upstream
    * must behave wrong as there are no fixed caps set for the first
-   * buffer or in-order event */
+   * buffer or in-order event after stream-start */
   if (G_UNLIKELY (!subcaps && self->subtitle_sink_blocked)) {
     GST_ELEMENT_WARNING (self, CORE, NEGOTIATION, (NULL),
         ("Subtitle sink is blocked but we have no subtitle caps"));
@@ -1575,13 +1586,12 @@
           "ISO-8859-15 will be assumed.", NULL,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (element_class, &srctemplate);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&video_sinktemplate));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&subtitle_sinktemplate));
+  gst_element_class_add_static_pad_template (element_class,
+      &video_sinktemplate);
+  gst_element_class_add_static_pad_template (element_class,
+      &subtitle_sinktemplate);
 
   gst_element_class_set_static_metadata (element_class, "Subtitle Overlay",
       "Video/Overlay/Subtitle",
diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c
index 2a4e7bc..0d06776 100644
--- a/gst/playback/gsturidecodebin.c
+++ b/gst/playback/gsturidecodebin.c
@@ -699,8 +699,7 @@
       G_SIGNAL_RUN_LAST, 0, NULL, NULL,
       g_cclosure_marshal_generic, G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
   gst_element_class_set_static_metadata (gstelement_class,
       "URI Decoder", "Generic/Bin/Decoder",
       "Autoplug and decode an URI to raw media",
diff --git a/gst/playback/gsturisourcebin.c b/gst/playback/gsturisourcebin.c
new file mode 100644
index 0000000..c72e922
--- /dev/null
+++ b/gst/playback/gsturisourcebin.c
@@ -0,0 +1,2823 @@
+/* GStreamer
+ * Copyright (C) <2015> Jan Schmidt <jan@centricular.com>
+ * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-urisourcebin
+ *
+ * Handles selecting a URI source element and potentially buffering/download
+ * for network sources. Produces one or more source pads for feeding to
+ * decoding chains or decodebin.
+ */
+
+/* FIXME 0.11: suppress warnings for deprecated API such as GValueArray
+ * with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <string.h>
+
+#include <gst/gst.h>
+#include <gst/gst-i18n-plugin.h>
+#include <gst/pbutils/missing-plugins.h>
+
+#include "gstplay-enum.h"
+#include "gstrawcaps.h"
+#include "gstplayback.h"
+
+/* From gstdecodebin2.c */
+gint _decode_bin_compare_factories_func (gconstpointer p1, gconstpointer p2);
+
+#define GST_TYPE_URI_DECODE_BIN \
+  (gst_uri_source_bin_get_type())
+#define GST_URI_SOURCE_BIN(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_URI_DECODE_BIN,GstURISourceBin))
+#define GST_URI_SOURCE_BIN_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_URI_DECODE_BIN,GstURISourceBinClass))
+#define GST_IS_URI_SOURCE_BIN(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_URI_DECODE_BIN))
+#define GST_IS_URI_SOURCE_BIN_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_URI_DECODE_BIN))
+#define GST_URI_SOURCE_BIN_CAST(obj) ((GstURISourceBin *) (obj))
+
+typedef struct _GstURISourceBin GstURISourceBin;
+typedef struct _GstURISourceBinClass GstURISourceBinClass;
+typedef struct _ChildSrcPadInfo ChildSrcPadInfo;
+typedef struct _OutputSlotInfo OutputSlotInfo;
+
+#define GST_URI_SOURCE_BIN_LOCK(dec) (g_mutex_lock(&((GstURISourceBin*)(dec))->lock))
+#define GST_URI_SOURCE_BIN_UNLOCK(dec) (g_mutex_unlock(&((GstURISourceBin*)(dec))->lock))
+
+/* Track a source pad from a child that
+ * is linked or needs linking to an output
+ * slot */
+struct _ChildSrcPadInfo
+{
+  guint blocking_probe_id;
+  guint event_probe_id;
+  GstPad *demux_src_pad;
+  GstCaps *cur_caps;            /* holds ref */
+
+  /* Configured output slot, if any */
+  OutputSlotInfo *output_slot;
+};
+
+struct _OutputSlotInfo
+{
+  ChildSrcPadInfo *linked_info; /* demux source pad info feeding this slot, if any */
+  GstElement *queue;            /* queue2 or downloadbuffer */
+  GstPad *sinkpad;              /* Sink pad of the queue eleemnt */
+  GstPad *srcpad;               /* Output ghost pad */
+  gboolean is_eos;              /* Did EOS get fed into the buffering element */
+};
+
+/**
+ * GstURISourceBin
+ *
+ * urisourcebin element struct
+ */
+struct _GstURISourceBin
+{
+  GstBin parent_instance;
+
+  GMutex lock;                  /* lock for constructing */
+
+  GMutex factories_lock;
+  guint32 factories_cookie;
+  GList *factories;             /* factories we can use for selecting elements */
+
+  gchar *uri;
+  guint64 connection_speed;
+
+  gboolean is_stream;
+  gboolean is_adaptive;
+  gboolean need_queue;
+  guint64 buffer_duration;      /* When buffering, buffer duration (ns) */
+  guint buffer_size;            /* When buffering, buffer size (bytes) */
+  gboolean download;
+  gboolean use_buffering;
+
+  GstElement *source;
+  GstElement *typefind;
+  guint have_type_id;           /* have-type signal id from typefind */
+
+  GstElement *demuxer;          /* Adaptive demuxer if any */
+  GSList *out_slots;
+
+  GHashTable *streams;
+  guint numpads;
+
+  /* for dynamic sources */
+  guint src_np_sig_id;          /* new-pad signal id */
+
+  gboolean async_pending;       /* async-start has been emitted */
+
+  guint64 ring_buffer_max_size; /* 0 means disabled */
+
+  GList *pending_pads;          /* Pads we have blocked pending assignment
+                                   to an output source pad */
+  GList *inactive_output_pads;  /* output pads that were unghosted */
+
+  GList *buffering_status;      /* element currently buffering messages */
+  gint last_buffering_pct;      /* Avoid sending buffering over and over */
+};
+
+struct _GstURISourceBinClass
+{
+  GstBinClass parent_class;
+
+  /* signal fired when we found a pad that we cannot decode */
+  void (*unknown_type) (GstElement * element, GstPad * pad, GstCaps * caps);
+
+  /* signal fired to know if we continue trying to decode the given caps */
+    gboolean (*autoplug_continue) (GstElement * element, GstPad * pad,
+      GstCaps * caps);
+  /* signal fired to get a list of factories to try to autoplug */
+  GValueArray *(*autoplug_factories) (GstElement * element, GstPad * pad,
+      GstCaps * caps);
+  /* signal fired to sort the factories */
+  GValueArray *(*autoplug_sort) (GstElement * element, GstPad * pad,
+      GstCaps * caps, GValueArray * factories);
+  /* signal fired to select from the proposed list of factories */
+    GstAutoplugSelectResult (*autoplug_select) (GstElement * element,
+      GstPad * pad, GstCaps * caps, GstElementFactory * factory);
+  /* signal fired when a autoplugged element that is not linked downstream
+   * or exposed wants to query something */
+    gboolean (*autoplug_query) (GstElement * element, GstPad * pad,
+      GstQuery * query);
+
+  /* emitted when all data is decoded */
+  void (*drained) (GstElement * element);
+};
+
+static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src_%u",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
+
+static GstStaticCaps default_raw_caps = GST_STATIC_CAPS (DEFAULT_RAW_CAPS);
+
+GST_DEBUG_CATEGORY_STATIC (gst_uri_source_bin_debug);
+#define GST_CAT_DEFAULT gst_uri_source_bin_debug
+
+/* signals */
+enum
+{
+  SIGNAL_UNKNOWN_TYPE,
+  SIGNAL_AUTOPLUG_CONTINUE,
+  SIGNAL_AUTOPLUG_FACTORIES,
+  SIGNAL_AUTOPLUG_SELECT,
+  SIGNAL_AUTOPLUG_SORT,
+  SIGNAL_AUTOPLUG_QUERY,
+  SIGNAL_DRAINED,
+  SIGNAL_SOURCE_SETUP,
+  LAST_SIGNAL
+};
+
+/* properties */
+#define DEFAULT_PROP_URI            NULL
+#define DEFAULT_PROP_SOURCE         NULL
+#define DEFAULT_CONNECTION_SPEED    0
+#define DEFAULT_BUFFER_DURATION     -1
+#define DEFAULT_BUFFER_SIZE         -1
+#define DEFAULT_DOWNLOAD            FALSE
+#define DEFAULT_USE_BUFFERING       FALSE
+#define DEFAULT_RING_BUFFER_MAX_SIZE 0
+
+#define DEFAULT_CAPS (gst_static_caps_get (&default_raw_caps))
+enum
+{
+  PROP_0,
+  PROP_URI,
+  PROP_SOURCE,
+  PROP_CONNECTION_SPEED,
+  PROP_BUFFER_SIZE,
+  PROP_BUFFER_DURATION,
+  PROP_DOWNLOAD,
+  PROP_USE_BUFFERING,
+  PROP_RING_BUFFER_MAX_SIZE
+};
+
+static void post_missing_plugin_error (GstElement * dec,
+    const gchar * element_name);
+
+static guint gst_uri_source_bin_signals[LAST_SIGNAL] = { 0 };
+
+GType gst_uri_source_bin_get_type (void);
+#define gst_uri_source_bin_parent_class parent_class
+G_DEFINE_TYPE (GstURISourceBin, gst_uri_source_bin, GST_TYPE_BIN);
+
+static void gst_uri_source_bin_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_uri_source_bin_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_uri_source_bin_finalize (GObject * obj);
+
+static void handle_message (GstBin * bin, GstMessage * msg);
+
+static gboolean gst_uri_source_bin_query (GstElement * element,
+    GstQuery * query);
+static GstStateChangeReturn gst_uri_source_bin_change_state (GstElement *
+    element, GstStateChange transition);
+
+static void remove_demuxer (GstURISourceBin * bin);
+static void expose_output_pad (GstURISourceBin * urisrc, GstPad * pad);
+static OutputSlotInfo *get_output_slot (GstURISourceBin * urisrc,
+    gboolean do_download, gboolean is_adaptive, GstCaps * caps);
+static void free_output_slot (OutputSlotInfo * slot, GstURISourceBin * urisrc);
+static GstPad *create_output_pad (GstURISourceBin * urisrc, GstPad * pad);
+static void remove_buffering_msgs (GstURISourceBin * bin, GstObject * src);
+
+static gboolean
+_gst_boolean_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gboolean myboolean;
+
+  myboolean = g_value_get_boolean (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boolean (return_accu, myboolean);
+
+  /* stop emission if FALSE */
+  return myboolean;
+}
+
+static gboolean
+_gst_boolean_or_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gboolean myboolean;
+  gboolean retboolean;
+
+  myboolean = g_value_get_boolean (handler_return);
+  retboolean = g_value_get_boolean (return_accu);
+
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boolean (return_accu, myboolean || retboolean);
+
+  return TRUE;
+}
+
+static gboolean
+_gst_array_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gpointer array;
+
+  array = g_value_get_boxed (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boxed (return_accu, array);
+
+  return FALSE;
+}
+
+static gboolean
+_gst_select_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  GstAutoplugSelectResult res;
+
+  res = g_value_get_enum (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_enum (return_accu, res);
+
+  /* Call the next handler in the chain (if any) when the current callback
+   * returns TRY. This makes it possible to register separate autoplug-select
+   * handlers that implement different TRY/EXPOSE/SKIP strategies.
+   */
+  if (res == GST_AUTOPLUG_SELECT_TRY)
+    return TRUE;
+
+  return FALSE;
+}
+
+static gboolean
+_gst_array_hasvalue_accumulator (GSignalInvocationHint * ihint,
+    GValue * return_accu, const GValue * handler_return, gpointer dummy)
+{
+  gpointer array;
+
+  array = g_value_get_boxed (handler_return);
+  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
+    g_value_set_boxed (return_accu, array);
+
+  if (array != NULL)
+    return FALSE;
+
+  return TRUE;
+}
+
+static gboolean
+gst_uri_source_bin_autoplug_continue (GstElement * element, GstPad * pad,
+    GstCaps * caps)
+{
+  /* by default we always continue */
+  return TRUE;
+}
+
+/* Must be called with factories lock! */
+static void
+gst_uri_source_bin_update_factories_list (GstURISourceBin * dec)
+{
+  guint32 cookie;
+
+  cookie = gst_registry_get_feature_list_cookie (gst_registry_get ());
+  if (!dec->factories || dec->factories_cookie != cookie) {
+    if (dec->factories)
+      gst_plugin_feature_list_free (dec->factories);
+    dec->factories =
+        gst_element_factory_list_get_elements
+        (GST_ELEMENT_FACTORY_TYPE_DECODABLE, GST_RANK_MARGINAL);
+    dec->factories =
+        g_list_sort (dec->factories, _decode_bin_compare_factories_func);
+    dec->factories_cookie = cookie;
+  }
+}
+
+static GValueArray *
+gst_uri_source_bin_autoplug_factories (GstElement * element, GstPad * pad,
+    GstCaps * caps)
+{
+  GList *list, *tmp;
+  GValueArray *result;
+  GstURISourceBin *dec = GST_URI_SOURCE_BIN_CAST (element);
+
+  GST_DEBUG_OBJECT (element, "finding factories");
+
+  /* return all compatible factories for caps */
+  g_mutex_lock (&dec->factories_lock);
+  gst_uri_source_bin_update_factories_list (dec);
+  list =
+      gst_element_factory_list_filter (dec->factories, caps, GST_PAD_SINK,
+      gst_caps_is_fixed (caps));
+  g_mutex_unlock (&dec->factories_lock);
+
+  result = g_value_array_new (g_list_length (list));
+  for (tmp = list; tmp; tmp = tmp->next) {
+    GstElementFactory *factory = GST_ELEMENT_FACTORY_CAST (tmp->data);
+    GValue val = { 0, };
+
+    g_value_init (&val, G_TYPE_OBJECT);
+    g_value_set_object (&val, factory);
+    g_value_array_append (result, &val);
+    g_value_unset (&val);
+  }
+  gst_plugin_feature_list_free (list);
+
+  GST_DEBUG_OBJECT (element, "autoplug-factories returns %p", result);
+
+  return result;
+}
+
+static GValueArray *
+gst_uri_source_bin_autoplug_sort (GstElement * element, GstPad * pad,
+    GstCaps * caps, GValueArray * factories)
+{
+  return NULL;
+}
+
+static GstAutoplugSelectResult
+gst_uri_source_bin_autoplug_select (GstElement * element, GstPad * pad,
+    GstCaps * caps, GstElementFactory * factory)
+{
+  GST_DEBUG_OBJECT (element, "default autoplug-select returns TRY");
+
+  /* Try factory. */
+  return GST_AUTOPLUG_SELECT_TRY;
+}
+
+static gboolean
+gst_uri_source_bin_autoplug_query (GstElement * element, GstPad * pad,
+    GstQuery * query)
+{
+  /* No query handled here */
+  return FALSE;
+}
+
+static void
+gst_uri_source_bin_class_init (GstURISourceBinClass * klass)
+{
+  GObjectClass *gobject_class;
+  GstElementClass *gstelement_class;
+  GstBinClass *gstbin_class;
+
+  gobject_class = G_OBJECT_CLASS (klass);
+  gstelement_class = GST_ELEMENT_CLASS (klass);
+  gstbin_class = GST_BIN_CLASS (klass);
+
+  gobject_class->set_property = gst_uri_source_bin_set_property;
+  gobject_class->get_property = gst_uri_source_bin_get_property;
+  gobject_class->finalize = gst_uri_source_bin_finalize;
+
+  g_object_class_install_property (gobject_class, PROP_URI,
+      g_param_spec_string ("uri", "URI", "URI to decode",
+          DEFAULT_PROP_URI, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_SOURCE,
+      g_param_spec_object ("source", "Source", "Source object used",
+          GST_TYPE_ELEMENT, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_CONNECTION_SPEED,
+      g_param_spec_uint64 ("connection-speed", "Connection Speed",
+          "Network connection speed in kbps (0 = unknown)",
+          0, G_MAXUINT64 / 1000, DEFAULT_CONNECTION_SPEED,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_BUFFER_SIZE,
+      g_param_spec_int ("buffer-size", "Buffer size (bytes)",
+          "Buffer size when buffering streams (-1 default value)",
+          -1, G_MAXINT, DEFAULT_BUFFER_SIZE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_BUFFER_DURATION,
+      g_param_spec_int64 ("buffer-duration", "Buffer duration (ns)",
+          "Buffer duration when buffering streams (-1 default value)",
+          -1, G_MAXINT64, DEFAULT_BUFFER_DURATION,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstURISourceBin::download:
+   *
+   * For certain media type, enable download buffering.
+   */
+  g_object_class_install_property (gobject_class, PROP_DOWNLOAD,
+      g_param_spec_boolean ("download", "Download",
+          "Attempt download buffering when buffering network streams",
+          DEFAULT_DOWNLOAD, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**  
+   * GstURISourceBin::use-buffering:
+   *
+   * Perform buffering using a queue2 element, and emit BUFFERING
+   * messages based on low-/high-percent thresholds of streaming data,
+   * such as adaptive-demuxer streams.
+   *
+   * When download buffering is activated and used for the current media
+   * type, this property does nothing.
+   *
+   */
+  g_object_class_install_property (gobject_class, PROP_USE_BUFFERING,
+      g_param_spec_boolean ("use-buffering", "Use Buffering",
+          "Perform buffering on demuxed/parsed media",
+          DEFAULT_USE_BUFFERING, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstURISourceBin::ring-buffer-max-size
+   *
+   * The maximum size of the ring buffer in kilobytes. If set to 0, the ring
+   * buffer is disabled. Default is 0.
+   *
+   */
+  g_object_class_install_property (gobject_class, PROP_RING_BUFFER_MAX_SIZE,
+      g_param_spec_uint64 ("ring-buffer-max-size",
+          "Max. ring buffer size (bytes)",
+          "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)",
+          0, G_MAXUINT, DEFAULT_RING_BUFFER_MAX_SIZE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  /**
+   * GstURISourceBin::unknown-type:
+   * @bin: The urisourcebin.
+   * @pad: the new pad containing caps that cannot be resolved to a 'final'.
+   * stream type.
+   * @caps: the #GstCaps of the pad that cannot be resolved.
+   *
+   * This signal is emitted when a pad for which there is no further possible
+   * decoding is added to the urisourcebin.
+   */
+  gst_uri_source_bin_signals[SIGNAL_UNKNOWN_TYPE] =
+      g_signal_new ("unknown-type", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstURISourceBinClass, unknown_type),
+      NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 2,
+      GST_TYPE_PAD, GST_TYPE_CAPS);
+
+  /**
+   * GstURISourceBin::autoplug-continue:
+   * @bin: The urisourcebin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps found.
+   *
+   * This signal is emitted whenever urisourcebin finds a new stream. It is
+   * emitted before looking for any elements that can handle that stream.
+   *
+   * <note>
+   *   Invocation of signal handlers stops after the first signal handler
+   *   returns #FALSE. Signal handlers are invoked in the order they were
+   *   connected in.
+   * </note>
+   *
+   * Returns: #TRUE if you wish urisourcebin to look for elements that can
+   * handle the given @caps. If #FALSE, those caps will be considered as
+   * final and the pad will be exposed as such (see 'pad-added' signal of
+   * #GstElement).
+   */
+  gst_uri_source_bin_signals[SIGNAL_AUTOPLUG_CONTINUE] =
+      g_signal_new ("autoplug-continue", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstURISourceBinClass,
+          autoplug_continue), _gst_boolean_accumulator, NULL,
+      g_cclosure_marshal_generic, G_TYPE_BOOLEAN, 2, GST_TYPE_PAD,
+      GST_TYPE_CAPS);
+
+  /**
+   * GstURISourceBin::autoplug-factories:
+   * @bin: The urisourcebin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps found.
+   *
+   * This function is emitted when an array of possible factories for @caps on
+   * @pad is needed. urisourcebin will by default return an array with all
+   * compatible factories, sorted by rank.
+   *
+   * If this function returns NULL, @pad will be exposed as a final caps.
+   *
+   * If this function returns an empty array, the pad will be considered as
+   * having an unhandled type media type.
+   *
+   * <note>
+   *   Only the signal handler that is connected first will ever by invoked.
+   *   Don't connect signal handlers with the #G_CONNECT_AFTER flag to this
+   *   signal, they will never be invoked!
+   * </note>
+   *
+   * Returns: a #GValueArray* with a list of factories to try. The factories are
+   * by default tried in the returned order or based on the index returned by
+   * "autoplug-select".
+   */
+  gst_uri_source_bin_signals[SIGNAL_AUTOPLUG_FACTORIES] =
+      g_signal_new ("autoplug-factories", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstURISourceBinClass,
+          autoplug_factories), _gst_array_accumulator, NULL,
+      g_cclosure_marshal_generic, G_TYPE_VALUE_ARRAY, 2,
+      GST_TYPE_PAD, GST_TYPE_CAPS);
+
+  /**
+   * GstURISourceBin::autoplug-sort:
+   * @bin: The urisourcebin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps.
+   * @factories: A #GValueArray of possible #GstElementFactory to use.
+   *
+   * Once decodebin has found the possible #GstElementFactory objects to try
+   * for @caps on @pad, this signal is emited. The purpose of the signal is for
+   * the application to perform additional sorting or filtering on the element
+   * factory array.
+   *
+   * The callee should copy and modify @factories or return #NULL if the
+   * order should not change.
+   *
+   * <note>
+   *   Invocation of signal handlers stops after one signal handler has
+   *   returned something else than #NULL. Signal handlers are invoked in
+   *   the order they were connected in.
+   *   Don't connect signal handlers with the #G_CONNECT_AFTER flag to this
+   *   signal, they will never be invoked!
+   * </note>
+   *
+   * Returns: A new sorted array of #GstElementFactory objects.
+   *
+   * Since: 0.10.33
+   */
+  gst_uri_source_bin_signals[SIGNAL_AUTOPLUG_SORT] =
+      g_signal_new ("autoplug-sort", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstURISourceBinClass, autoplug_sort),
+      _gst_array_hasvalue_accumulator, NULL,
+      g_cclosure_marshal_generic, G_TYPE_VALUE_ARRAY, 3, GST_TYPE_PAD,
+      GST_TYPE_CAPS, G_TYPE_VALUE_ARRAY | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  /**
+   * GstURISourceBin::autoplug-select:
+   * @bin: The urisourcebin.
+   * @pad: The #GstPad.
+   * @caps: The #GstCaps.
+   * @factory: A #GstElementFactory to use.
+   *
+   * This signal is emitted once urisourcebin has found all the possible
+   * #GstElementFactory that can be used to handle the given @caps. For each of
+   * those factories, this signal is emitted.
+   *
+   * The signal handler should return a #GST_TYPE_AUTOPLUG_SELECT_RESULT enum
+   * value indicating what decodebin should do next.
+   *
+   * A value of #GST_AUTOPLUG_SELECT_TRY will try to autoplug an element from
+   * @factory.
+   *
+   * A value of #GST_AUTOPLUG_SELECT_EXPOSE will expose @pad without plugging
+   * any element to it.
+   *
+   * A value of #GST_AUTOPLUG_SELECT_SKIP will skip @factory and move to the
+   * next factory.
+   *
+   * <note>
+   *   The signal handler will not be invoked if any of the previously
+   *   registered signal handlers (if any) return a value other than
+   *   GST_AUTOPLUG_SELECT_TRY. Which also means that if you return
+   *   GST_AUTOPLUG_SELECT_TRY from one signal handler, handlers that get
+   *   registered next (again, if any) can override that decision.
+   * </note>
+   *
+   * Returns: a #GST_TYPE_AUTOPLUG_SELECT_RESULT that indicates the required
+   * operation. The default handler will always return
+   * #GST_AUTOPLUG_SELECT_TRY.
+   */
+  gst_uri_source_bin_signals[SIGNAL_AUTOPLUG_SELECT] =
+      g_signal_new ("autoplug-select", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstURISourceBinClass,
+          autoplug_select), _gst_select_accumulator, NULL,
+      g_cclosure_marshal_generic,
+      GST_TYPE_AUTOPLUG_SELECT_RESULT, 3, GST_TYPE_PAD, GST_TYPE_CAPS,
+      GST_TYPE_ELEMENT_FACTORY);
+
+  /**
+   * GstDecodeBin::autoplug-query:
+   * @bin: The decodebin.
+   * @child: The child element doing the query
+   * @pad: The #GstPad.
+   * @query: The #GstQuery.
+   *
+   * This signal is emitted whenever an autoplugged element that is
+   * not linked downstream yet and not exposed does a query. It can
+   * be used to tell the element about the downstream supported caps
+   * for example.
+   *
+   * Returns: #TRUE if the query was handled, #FALSE otherwise.
+   */
+  gst_uri_source_bin_signals[SIGNAL_AUTOPLUG_QUERY] =
+      g_signal_new ("autoplug-query", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstURISourceBinClass, autoplug_query),
+      _gst_boolean_or_accumulator, NULL, g_cclosure_marshal_generic,
+      G_TYPE_BOOLEAN, 3, GST_TYPE_PAD, GST_TYPE_ELEMENT,
+      GST_TYPE_QUERY | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  /**
+   * GstURISourceBin::drained:
+   *
+   * This signal is emitted when the data for the current uri is played.
+   */
+  gst_uri_source_bin_signals[SIGNAL_DRAINED] =
+      g_signal_new ("drained", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstURISourceBinClass, drained), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 0, G_TYPE_NONE);
+
+  /**
+   * GstURISourceBin::source-setup:
+   * @bin: the urisourcebin.
+   * @source: source element
+   *
+   * This signal is emitted after the source element has been created, so
+   * it can be configured by setting additional properties (e.g. set a
+   * proxy server for an http source, or set the device and read speed for
+   * an audio cd source). This is functionally equivalent to connecting to
+   * the notify::source signal, but more convenient.
+   *
+   * Since: 1.6.1
+   */
+  gst_uri_source_bin_signals[SIGNAL_SOURCE_SETUP] =
+      g_signal_new ("source-setup", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, 0, NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
+
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_set_static_metadata (gstelement_class,
+      "URI reader", "Generic/Bin/Source",
+      "Download and buffer a URI as needed",
+      "Jan Schmidt <jan@centricular.com>");
+
+  gstelement_class->query = GST_DEBUG_FUNCPTR (gst_uri_source_bin_query);
+  gstelement_class->change_state =
+      GST_DEBUG_FUNCPTR (gst_uri_source_bin_change_state);
+
+  gstbin_class->handle_message = GST_DEBUG_FUNCPTR (handle_message);
+
+  klass->autoplug_continue =
+      GST_DEBUG_FUNCPTR (gst_uri_source_bin_autoplug_continue);
+  klass->autoplug_factories =
+      GST_DEBUG_FUNCPTR (gst_uri_source_bin_autoplug_factories);
+  klass->autoplug_sort = GST_DEBUG_FUNCPTR (gst_uri_source_bin_autoplug_sort);
+  klass->autoplug_select =
+      GST_DEBUG_FUNCPTR (gst_uri_source_bin_autoplug_select);
+  klass->autoplug_query = GST_DEBUG_FUNCPTR (gst_uri_source_bin_autoplug_query);
+}
+
+static void
+gst_uri_source_bin_init (GstURISourceBin * urisrc)
+{
+  /* first filter out the interesting element factories */
+  g_mutex_init (&urisrc->factories_lock);
+
+  g_mutex_init (&urisrc->lock);
+
+  urisrc->uri = g_strdup (DEFAULT_PROP_URI);
+  urisrc->connection_speed = DEFAULT_CONNECTION_SPEED;
+
+  urisrc->buffer_duration = DEFAULT_BUFFER_DURATION;
+  urisrc->buffer_size = DEFAULT_BUFFER_SIZE;
+  urisrc->download = DEFAULT_DOWNLOAD;
+  urisrc->ring_buffer_max_size = DEFAULT_RING_BUFFER_MAX_SIZE;
+  urisrc->last_buffering_pct = -1;
+
+  GST_OBJECT_FLAG_SET (urisrc, GST_ELEMENT_FLAG_SOURCE);
+}
+
+static void
+gst_uri_source_bin_finalize (GObject * obj)
+{
+  GstURISourceBin *urisrc = GST_URI_SOURCE_BIN (obj);
+
+  remove_demuxer (urisrc);
+  g_mutex_clear (&urisrc->lock);
+  g_mutex_clear (&urisrc->factories_lock);
+  g_free (urisrc->uri);
+  if (urisrc->factories)
+    gst_plugin_feature_list_free (urisrc->factories);
+
+  G_OBJECT_CLASS (parent_class)->finalize (obj);
+}
+
+static void
+gst_uri_source_bin_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstURISourceBin *dec = GST_URI_SOURCE_BIN (object);
+
+  switch (prop_id) {
+    case PROP_URI:
+      GST_OBJECT_LOCK (dec);
+      g_free (dec->uri);
+      dec->uri = g_value_dup_string (value);
+      GST_OBJECT_UNLOCK (dec);
+      break;
+    case PROP_CONNECTION_SPEED:
+      GST_OBJECT_LOCK (dec);
+      dec->connection_speed = g_value_get_uint64 (value) * 1000;
+      GST_OBJECT_UNLOCK (dec);
+      break;
+    case PROP_BUFFER_SIZE:
+      dec->buffer_size = g_value_get_int (value);
+      break;
+    case PROP_BUFFER_DURATION:
+      dec->buffer_duration = g_value_get_int64 (value);
+      break;
+    case PROP_DOWNLOAD:
+      dec->download = g_value_get_boolean (value);
+      break;
+    case PROP_USE_BUFFERING:
+      dec->use_buffering = g_value_get_boolean (value);
+      break;
+    case PROP_RING_BUFFER_MAX_SIZE:
+      dec->ring_buffer_max_size = g_value_get_uint64 (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_uri_source_bin_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstURISourceBin *dec = GST_URI_SOURCE_BIN (object);
+
+  switch (prop_id) {
+    case PROP_URI:
+      GST_OBJECT_LOCK (dec);
+      g_value_set_string (value, dec->uri);
+      GST_OBJECT_UNLOCK (dec);
+      break;
+    case PROP_SOURCE:
+      GST_OBJECT_LOCK (dec);
+      g_value_set_object (value, dec->source);
+      GST_OBJECT_UNLOCK (dec);
+      break;
+    case PROP_CONNECTION_SPEED:
+      GST_OBJECT_LOCK (dec);
+      g_value_set_uint64 (value, dec->connection_speed / 1000);
+      GST_OBJECT_UNLOCK (dec);
+      break;
+    case PROP_BUFFER_SIZE:
+      GST_OBJECT_LOCK (dec);
+      g_value_set_int (value, dec->buffer_size);
+      GST_OBJECT_UNLOCK (dec);
+      break;
+    case PROP_BUFFER_DURATION:
+      GST_OBJECT_LOCK (dec);
+      g_value_set_int64 (value, dec->buffer_duration);
+      GST_OBJECT_UNLOCK (dec);
+      break;
+    case PROP_DOWNLOAD:
+      g_value_set_boolean (value, dec->download);
+      break;
+    case PROP_USE_BUFFERING:
+      g_value_set_boolean (value, dec->use_buffering);
+      break;
+    case PROP_RING_BUFFER_MAX_SIZE:
+      g_value_set_uint64 (value, dec->ring_buffer_max_size);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+do_async_start (GstURISourceBin * dbin)
+{
+  GstMessage *message;
+
+  dbin->async_pending = TRUE;
+
+  message = gst_message_new_async_start (GST_OBJECT_CAST (dbin));
+  GST_BIN_CLASS (parent_class)->handle_message (GST_BIN_CAST (dbin), message);
+}
+
+static void
+do_async_done (GstURISourceBin * dbin)
+{
+  GstMessage *message;
+
+  if (dbin->async_pending) {
+    GST_DEBUG_OBJECT (dbin, "posting ASYNC_DONE");
+    message =
+        gst_message_new_async_done (GST_OBJECT_CAST (dbin),
+        GST_CLOCK_TIME_NONE);
+    GST_BIN_CLASS (parent_class)->handle_message (GST_BIN_CAST (dbin), message);
+
+    dbin->async_pending = FALSE;
+  }
+}
+
+#define DEFAULT_QUEUE_SIZE          (3 * GST_SECOND)
+#define DEFAULT_QUEUE_MIN_THRESHOLD ((DEFAULT_QUEUE_SIZE * 30) / 100)
+#define DEFAULT_QUEUE_THRESHOLD     ((DEFAULT_QUEUE_SIZE * 95) / 100)
+
+static gboolean
+copy_sticky_events (GstPad * pad, GstEvent ** event, gpointer user_data)
+{
+  GstPad *gpad = GST_PAD_CAST (user_data);
+
+  GST_DEBUG_OBJECT (gpad, "store sticky event %" GST_PTR_FORMAT, *event);
+  gst_pad_store_sticky_event (gpad, *event);
+
+  return TRUE;
+}
+
+static GstPadProbeReturn
+pending_pad_blocked (GstPad * pad, GstPadProbeInfo * info, gpointer user_data);
+
+static GstPadProbeReturn
+demux_pad_events (GstPad * pad, GstPadProbeInfo * info, gpointer user_data);
+
+static void
+free_child_src_pad_info (ChildSrcPadInfo * info)
+{
+  if (info->cur_caps)
+    gst_caps_unref (info->cur_caps);
+  g_free (info);
+}
+
+/* Called by the signal handlers when a demuxer has produced a new stream */
+static void
+new_demuxer_pad_added_cb (GstElement * element, GstPad * pad,
+    GstURISourceBin * urisrc)
+{
+  ChildSrcPadInfo *info;
+
+  info = g_new0 (ChildSrcPadInfo, 1);
+  info->demux_src_pad = pad;
+  info->cur_caps = gst_pad_get_current_caps (pad);
+  if (info->cur_caps == NULL)
+    info->cur_caps = gst_pad_query_caps (pad, NULL);
+
+  g_object_set_data_full (G_OBJECT (pad), "urisourcebin.srcpadinfo",
+      info, (GDestroyNotify) free_child_src_pad_info);
+
+  GST_DEBUG_OBJECT (element, "new demuxer pad, name: <%s>. "
+      "Added as pending pad with caps %" GST_PTR_FORMAT,
+      GST_PAD_NAME (pad), info->cur_caps);
+
+  GST_URI_SOURCE_BIN_LOCK (urisrc);
+  urisrc->pending_pads = g_list_prepend (urisrc->pending_pads, pad);
+  GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+
+  /* Block the pad. On the first data on that pad if it hasn't
+   * been linked to an output slot, we'll create one */
+  info->blocking_probe_id =
+      gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
+      pending_pad_blocked, urisrc, NULL);
+  info->event_probe_id =
+      gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+      demux_pad_events, urisrc, NULL);
+}
+
+static GstPadProbeReturn
+pending_pad_blocked (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  ChildSrcPadInfo *child_info;
+  OutputSlotInfo *slot;
+  GstURISourceBin *urisrc = GST_URI_SOURCE_BIN (user_data);
+  GstCaps *caps;
+
+  if (!(child_info =
+          g_object_get_data (G_OBJECT (pad), "urisourcebin.srcpadinfo")))
+    goto done;
+
+  GST_LOG_OBJECT (urisrc, "Removing pad %" GST_PTR_FORMAT " from pending list",
+      pad);
+
+  GST_URI_SOURCE_BIN_LOCK (urisrc);
+
+  /* Once blocked, this pad is no longer pending, one way or another */
+  urisrc->pending_pads = g_list_remove (urisrc->pending_pads, pad);
+
+  /* If already linked to a slot, nothing more to do */
+  if (child_info->output_slot) {
+    GST_LOG_OBJECT (urisrc, "Pad %" GST_PTR_FORMAT " is linked to slot %p",
+        pad, child_info->output_slot);
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+    goto done;
+  }
+
+  caps = gst_pad_get_current_caps (pad);
+  if (caps == NULL)
+    caps = gst_pad_query_caps (pad, NULL);
+
+  /* FIXME: Don't do buffering if use_buffering is FALSE */
+  slot = get_output_slot (urisrc, FALSE, TRUE, caps);
+
+  gst_caps_unref (caps);
+
+  if (slot == NULL) {
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+    goto done;
+  }
+
+  GST_LOG_OBJECT (urisrc, "Pad %" GST_PTR_FORMAT " linked to slot %p", pad,
+      slot);
+
+  child_info->output_slot = slot;
+  slot->linked_info = child_info;
+  GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+
+  gst_pad_link (pad, slot->sinkpad);
+
+  expose_output_pad (urisrc, slot->srcpad);
+
+done:
+  return GST_PAD_PROBE_REMOVE;
+}
+
+/* Called with LOCK held */
+/* Looks for a suitable pending pad to connect onto this
+ * finishing output slot that's about to EOS */
+static gboolean
+link_pending_pad_to_output (GstURISourceBin * urisrc, OutputSlotInfo * slot)
+{
+  GList *cur;
+  ChildSrcPadInfo *in_info = slot->linked_info;
+  ChildSrcPadInfo *out_info = NULL;
+  gboolean res = FALSE;
+  GstCaps *cur_caps;
+
+  /* Look for a suitable pending pad */
+  cur_caps = gst_pad_get_current_caps (slot->sinkpad);
+
+  for (cur = urisrc->pending_pads; cur != NULL; cur = g_list_next (cur)) {
+    GstPad *pending = (GstPad *) (cur->data);
+    ChildSrcPadInfo *cur_info = NULL;
+    if ((cur_info =
+            g_object_get_data (G_OBJECT (pending),
+                "urisourcebin.srcpadinfo"))) {
+      /* Don't re-link to the same pad in case of EOS while still pending */
+      if (in_info == cur_info)
+        continue;
+      if (cur_caps == NULL || gst_caps_is_equal (cur_caps, cur_info->cur_caps)) {
+        GST_DEBUG_OBJECT (urisrc, "Found suitable pending pad %" GST_PTR_FORMAT
+            " with caps %" GST_PTR_FORMAT " to link to this output slot",
+            cur_info->demux_src_pad, cur_info->cur_caps);
+        out_info = cur_info;
+        break;
+      }
+    }
+  }
+
+  if (cur_caps)
+    gst_caps_unref (cur_caps);
+
+  if (out_info) {
+    /* Block any upstream stuff while we switch out the pad */
+    guint block_id =
+        gst_pad_add_probe (slot->sinkpad, GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM,
+        NULL, NULL, NULL);
+    GST_DEBUG_OBJECT (urisrc, "Linking pending pad to existing output slot %p",
+        slot);
+
+    if (in_info) {
+      gst_pad_unlink (in_info->demux_src_pad, slot->sinkpad);
+      in_info->output_slot = NULL;
+      slot->linked_info = NULL;
+    }
+
+    if (gst_pad_link (out_info->demux_src_pad,
+            slot->sinkpad) == GST_PAD_LINK_OK) {
+      out_info->output_slot = slot;
+      slot->linked_info = out_info;
+      res = TRUE;
+    } else {
+      GST_ERROR_OBJECT (urisrc,
+          "Failed to link new demuxer pad to the output slot we tried");
+    }
+    gst_pad_remove_probe (slot->sinkpad, block_id);
+  }
+
+  return res;
+}
+
+static GstPadProbeReturn
+demux_pad_events (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  GstURISourceBin *urisrc = GST_URI_SOURCE_BIN (user_data);
+  ChildSrcPadInfo *child_info;
+
+  if (!(child_info =
+          g_object_get_data (G_OBJECT (pad), "urisourcebin.srcpadinfo")))
+    goto done;
+
+  GST_URI_SOURCE_BIN_LOCK (urisrc);
+  /* If not linked to a slot, nothing more to do */
+  if (child_info->output_slot == NULL) {
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+    goto done;
+  }
+
+  if (GST_IS_EVENT (GST_PAD_PROBE_INFO_DATA (info))) {
+    GstEvent *ev = GST_PAD_PROBE_INFO_EVENT (info);
+    if (GST_EVENT_TYPE (ev) == GST_EVENT_EOS && urisrc->pending_pads) {
+      GST_LOG_OBJECT (urisrc, "EOS on pad %" GST_PTR_FORMAT, pad);
+      if (!link_pending_pad_to_output (urisrc, child_info->output_slot)) {
+        GstEvent *event;
+        GstStructure *s;
+
+        /* Mark that we fed an EOS to this slot */
+        child_info->output_slot->is_eos = TRUE;
+
+        /* Actually feed a custom EOS event to avoid marking pads as EOSed */
+        s = gst_structure_new_empty ("urisourcebin-custom-eos");
+        event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM, s);
+        gst_pad_send_event (child_info->output_slot->sinkpad, event);
+      }
+      GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+      return GST_PAD_PROBE_HANDLED;
+    } else if (GST_EVENT_TYPE (ev) == GST_EVENT_CAPS) {
+      GstCaps *caps;
+      gst_event_parse_caps (ev, &caps);
+      gst_caps_replace (&child_info->cur_caps, caps);
+    }
+  }
+  GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+
+done:
+  return GST_PAD_PROBE_OK;
+}
+
+/* Called with lock held */
+static OutputSlotInfo *
+get_output_slot (GstURISourceBin * urisrc, gboolean do_download,
+    gboolean is_adaptive, GstCaps * caps)
+{
+  OutputSlotInfo *slot;
+  GstPad *srcpad;
+  GstElement *queue;
+  const gchar *elem_name;
+
+  /* If we have caps, iterate the existing slots and look for an
+   * unlinked one that can be used */
+  if (caps && gst_caps_is_fixed (caps)) {
+    GSList *cur;
+    GstCaps *cur_caps;
+
+    for (cur = urisrc->out_slots; cur != NULL; cur = g_slist_next (cur)) {
+      slot = (OutputSlotInfo *) (cur->data);
+      if (slot->linked_info == NULL) {
+        cur_caps = gst_pad_get_current_caps (slot->sinkpad);
+        if (cur_caps == NULL || gst_caps_is_equal (caps, cur_caps)) {
+          GST_LOG_OBJECT (urisrc, "Found existing slot %p to link to", slot);
+          gst_caps_unref (cur_caps);
+          return slot;
+        }
+        gst_caps_unref (cur_caps);
+      }
+    }
+  }
+
+  /* Otherwise create the new slot */
+#if 0                           /* There's no downloadbuffer in 1.2 */
+  if (do_download)
+    elem_name = "downloadbuffer";
+  else
+#endif
+    elem_name = "queue2";
+
+  queue = gst_element_factory_make (elem_name, NULL);
+  if (!queue)
+    goto no_buffer_element;
+
+  slot = g_new0 (OutputSlotInfo, 1);
+  slot->queue = queue;
+
+  if (do_download) {
+    gchar *temp_template, *filename;
+    const gchar *tmp_dir, *prgname;
+
+    tmp_dir = g_get_user_cache_dir ();
+    prgname = g_get_prgname ();
+    if (prgname == NULL)
+      prgname = "GStreamer";
+
+    filename = g_strdup_printf ("%s-XXXXXX", prgname);
+
+    /* build our filename */
+    temp_template = g_build_filename (tmp_dir, filename, NULL);
+
+    GST_DEBUG_OBJECT (urisrc, "enable download buffering in %s (%s, %s, %s)",
+        temp_template, tmp_dir, prgname, filename);
+
+    /* configure progressive download for selected media types */
+    g_object_set (queue, "temp-template", temp_template, NULL);
+
+    g_free (filename);
+    g_free (temp_template);
+  } else {
+    if (is_adaptive) {
+      GST_LOG_OBJECT (urisrc, "Adding queue for adaptive streaming stream");
+      g_object_set (queue, "use-buffering", TRUE, "use-tags-bitrate", TRUE,
+          "use-rate-estimate", FALSE, NULL);
+    } else {
+      GST_LOG_OBJECT (urisrc, "Adding queue for buffering");
+      g_object_set (queue, "use-buffering", TRUE, NULL);
+    }
+    g_object_set (queue, "ring-buffer-max-size",
+        urisrc->ring_buffer_max_size, NULL);
+    /* Disable max-size-buffers - queue based on data rate to the default time limit */
+    g_object_set (queue, "max-size-buffers", 0, NULL);
+  }
+
+  /* If buffer size or duration are set, set them on the element */
+  if (urisrc->buffer_size != -1)
+    g_object_set (queue, "max-size-bytes", urisrc->buffer_size, NULL);
+  if (urisrc->buffer_duration != -1)
+    g_object_set (queue, "max-size-time", urisrc->buffer_duration, NULL);
+  else {
+    /* Buffer 4 seconds by default - some extra headroom over the
+     * core default, because we trigger playback sooner */
+    g_object_set (queue, "max-size-time", 4 * GST_SECOND, NULL);
+  }
+
+  /* Don't start buffering until the queue is empty (< 1%).
+   * Start playback when the queue is 60% full, leaving a bit more room
+   * for upstream to push more without getting bursty */
+  g_object_set (queue, "low-percent", 1, "high-percent", 60, NULL);
+
+  /* save queue pointer so we can remove it later */
+  urisrc->out_slots = g_slist_prepend (urisrc->out_slots, slot);
+
+  gst_bin_add (GST_BIN_CAST (urisrc), queue);
+  gst_element_sync_state_with_parent (queue);
+
+  slot->sinkpad = gst_element_get_static_pad (queue, "sink");
+
+  /* get the new raw srcpad */
+  srcpad = gst_element_get_static_pad (queue, "src");
+  g_object_set_data (G_OBJECT (srcpad), "urisourcebin.slotinfo", slot);
+
+  slot->srcpad = create_output_pad (urisrc, srcpad);
+
+  gst_object_unref (srcpad);
+
+  return slot;
+
+no_buffer_element:
+  {
+    post_missing_plugin_error (GST_ELEMENT_CAST (urisrc), elem_name);
+    return NULL;
+  }
+}
+
+static GstPadProbeReturn
+source_pad_event_probe (GstPad * pad, GstPadProbeInfo * info,
+    gpointer user_data)
+{
+  GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+  GstURISourceBin *urisrc = user_data;
+
+  GST_LOG_OBJECT (pad, "%s, urisrc %p", GST_EVENT_TYPE_NAME (event), urisrc);
+
+  if (GST_EVENT_TYPE (event) == GST_EVENT_CUSTOM_DOWNSTREAM &&
+      gst_event_has_name (event, "urisourcebin-custom-eos")) {
+    OutputSlotInfo *slot;
+    GST_DEBUG_OBJECT (pad, "we received EOS");
+
+    /* Check the slot is still unlinked - maybe it got
+     * re-linked and we should drop this EOS */
+    GST_URI_SOURCE_BIN_LOCK (urisrc);
+    slot = g_object_get_data (G_OBJECT (pad), "urisourcebin.slotinfo");
+    if (slot && slot->linked_info) {
+      GST_DEBUG_OBJECT (pad,
+          "EOS pad was re-linked to pending pad, so removing EOS status");
+      slot->is_eos = FALSE;
+      GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+      return GST_PAD_PROBE_HANDLED;
+    }
+
+    /* Otherwise it's time to send EOS and clean up this pad */
+    gst_pad_push_event (slot->srcpad, gst_event_new_eos ());
+
+    /* FIXME: Can't clean the pad up from the streaming thread... */
+    urisrc->out_slots = g_slist_remove (urisrc->out_slots, slot);
+#if 0
+    free_output_slot (slot, urisrc);
+    slot = NULL;
+#endif
+
+    /* FIXME: Only emit drained if all output pads are done and there's no
+     * pending pads */
+    g_signal_emit (urisrc, gst_uri_source_bin_signals[SIGNAL_DRAINED], 0, NULL);
+
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+    return GST_PAD_PROBE_HANDLED;
+  }
+  /* never drop events */
+  return GST_PAD_PROBE_OK;
+}
+
+/* called when we found a raw pad to expose. We set up a
+ * padprobe to detect EOS before exposing the pad. 
+ * Called with LOCK held. */
+static GstPad *
+create_output_pad (GstURISourceBin * urisrc, GstPad * pad)
+{
+  GstPad *newpad;
+  GstPadTemplate *pad_tmpl;
+  gchar *padname;
+
+  gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+      source_pad_event_probe, urisrc, NULL);
+
+  pad_tmpl = gst_static_pad_template_get (&srctemplate);
+
+  padname = g_strdup_printf ("src_%u", urisrc->numpads);
+  urisrc->numpads++;
+
+  newpad = gst_ghost_pad_new_from_template (padname, pad, pad_tmpl);
+  gst_object_unref (pad_tmpl);
+  g_free (padname);
+
+  return newpad;
+}
+
+static void
+expose_output_pad (GstURISourceBin * urisrc, GstPad * pad)
+{
+  GstPad *target;
+
+  if (gst_object_has_as_parent (GST_OBJECT (pad), GST_OBJECT (urisrc)))
+    return;                     /* Pad is already exposed */
+
+  target = gst_ghost_pad_get_target (GST_GHOST_PAD (pad));
+
+  gst_pad_sticky_events_foreach (target, copy_sticky_events, pad);
+  gst_object_unref (target);
+
+  gst_pad_set_active (pad, TRUE);
+  gst_element_add_pad (GST_ELEMENT_CAST (urisrc), pad);
+
+  /* Once we expose a pad, we're no longer async */
+  do_async_done (urisrc);
+}
+
+static void
+pad_removed_cb (GstElement * element, GstPad * pad, GstURISourceBin * urisrc)
+{
+  ChildSrcPadInfo *info;
+
+  GST_DEBUG_OBJECT (element, "pad removed name: <%s:%s>",
+      GST_DEBUG_PAD_NAME (pad));
+
+  /* we only care about srcpads */
+  if (!GST_PAD_IS_SRC (pad))
+    return;
+
+  if (!(info = g_object_get_data (G_OBJECT (pad), "urisourcebin.srcpadinfo")))
+    goto no_info;
+
+  GST_URI_SOURCE_BIN_LOCK (urisrc);
+  /* Make sure this isn't in the pending pads list */
+  urisrc->pending_pads = g_list_remove (urisrc->pending_pads, pad);
+
+  /* Send EOS to the output slot if the demuxer didn't already */
+  if (info->output_slot) {
+    if (!info->output_slot->is_eos) {
+      GstStructure *s;
+      GstEvent *event;
+
+      GST_LOG_OBJECT (element,
+          "Pad %" GST_PTR_FORMAT " was removed without EOS. Sending.", pad);
+
+      s = gst_structure_new_empty ("urisourcebin-custom-eos");
+      event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM, s);
+      gst_pad_send_event (info->output_slot->sinkpad, event);
+      info->output_slot->is_eos = TRUE;
+    }
+    /* After the pad goes away, the slot is free to reuse */
+    info->output_slot->linked_info = NULL;
+    info->output_slot = NULL;
+  } else {
+    GST_LOG_OBJECT (urisrc, "Removed pad has no output slot");
+  }
+  GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+
+  return;
+
+  /* ERRORS */
+no_info:
+  {
+    GST_WARNING_OBJECT (element, "no info found for pad");
+    return;
+  }
+}
+
+/* helper function to lookup stuff in lists */
+static gboolean
+array_has_value (const gchar * values[], const gchar * value)
+{
+  gint i;
+
+  for (i = 0; values[i]; i++) {
+    if (g_str_has_prefix (value, values[i]))
+      return TRUE;
+  }
+  return FALSE;
+}
+
+static gboolean
+array_has_uri_value (const gchar * values[], const gchar * value)
+{
+  gint i;
+
+  for (i = 0; values[i]; i++) {
+    if (!g_ascii_strncasecmp (value, values[i], strlen (values[i])))
+      return TRUE;
+  }
+  return FALSE;
+}
+
+/* list of URIs that we consider to be streams and that need buffering.
+ * We have no mechanism yet to figure this out with a query. */
+static const gchar *stream_uris[] = { "http://", "https://", "mms://",
+  "mmsh://", "mmsu://", "mmst://", "fd://", "myth://", "ssh://",
+  "ftp://", "sftp://",
+  NULL
+};
+
+/* list of URIs that need a queue because they are pretty bursty */
+static const gchar *queue_uris[] = { "cdda://", NULL };
+
+/* blacklisted URIs, we know they will always fail. */
+static const gchar *blacklisted_uris[] = { NULL };
+
+/* media types that use adaptive streaming */
+static const gchar *adaptive_media[] = {
+  "application/x-hls", "application/vnd.ms-sstr+xml",
+  "application/dash+xml", NULL
+};
+
+#define IS_STREAM_URI(uri)          (array_has_uri_value (stream_uris, uri))
+#define IS_QUEUE_URI(uri)           (array_has_uri_value (queue_uris, uri))
+#define IS_BLACKLISTED_URI(uri)     (array_has_uri_value (blacklisted_uris, uri))
+#define IS_ADAPTIVE_MEDIA(media)    (array_has_value (adaptive_media, media))
+
+/*
+ * Generate and configure a source element.
+ */
+static GstElement *
+gen_source_element (GstURISourceBin * urisrc)
+{
+  GObjectClass *source_class;
+  GstElement *source;
+  GParamSpec *pspec;
+  GstQuery *query;
+  GstSchedulingFlags flags;
+  GError *err = NULL;
+
+  if (!urisrc->uri)
+    goto no_uri;
+
+  GST_LOG_OBJECT (urisrc, "finding source for %s", urisrc->uri);
+
+  if (!gst_uri_is_valid (urisrc->uri))
+    goto invalid_uri;
+
+  if (IS_BLACKLISTED_URI (urisrc->uri))
+    goto uri_blacklisted;
+
+  source = gst_element_make_from_uri (GST_URI_SRC, urisrc->uri, "source", &err);
+  if (!source)
+    goto no_source;
+
+  GST_LOG_OBJECT (urisrc, "found source type %s", G_OBJECT_TYPE_NAME (source));
+
+  query = gst_query_new_scheduling ();
+  if (gst_element_query (source, query)) {
+    gst_query_parse_scheduling (query, &flags, NULL, NULL, NULL);
+    urisrc->is_stream = flags & GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED;
+  } else
+    urisrc->is_stream = IS_STREAM_URI (urisrc->uri);
+  gst_query_unref (query);
+
+  GST_LOG_OBJECT (urisrc, "source is stream: %d", urisrc->is_stream);
+
+  urisrc->need_queue = IS_QUEUE_URI (urisrc->uri);
+  GST_LOG_OBJECT (urisrc, "source needs queue: %d", urisrc->need_queue);
+
+  source_class = G_OBJECT_GET_CLASS (source);
+
+  pspec = g_object_class_find_property (source_class, "connection-speed");
+  if (pspec != NULL) {
+    guint64 speed = urisrc->connection_speed / 1000;
+    gboolean wrong_type = FALSE;
+
+    if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT) {
+      GParamSpecUInt *pspecuint = G_PARAM_SPEC_UINT (pspec);
+
+      speed = CLAMP (speed, pspecuint->minimum, pspecuint->maximum);
+    } else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT) {
+      GParamSpecInt *pspecint = G_PARAM_SPEC_INT (pspec);
+
+      speed = CLAMP (speed, pspecint->minimum, pspecint->maximum);
+    } else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT64) {
+      GParamSpecUInt64 *pspecuint = G_PARAM_SPEC_UINT64 (pspec);
+
+      speed = CLAMP (speed, pspecuint->minimum, pspecuint->maximum);
+    } else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT64) {
+      GParamSpecInt64 *pspecint = G_PARAM_SPEC_INT64 (pspec);
+
+      speed = CLAMP (speed, pspecint->minimum, pspecint->maximum);
+    } else {
+      GST_WARNING_OBJECT (urisrc,
+          "The connection speed property %" G_GUINT64_FORMAT
+          " of type %s is not useful. Not setting it", speed,
+          g_type_name (G_PARAM_SPEC_TYPE (pspec)));
+      wrong_type = TRUE;
+    }
+
+    if (!wrong_type) {
+      g_object_set (source, "connection-speed", speed, NULL);
+
+      GST_DEBUG_OBJECT (urisrc,
+          "setting connection-speed=%" G_GUINT64_FORMAT " to source element",
+          speed);
+    }
+  }
+
+  return source;
+
+  /* ERRORS */
+no_uri:
+  {
+    GST_ELEMENT_ERROR (urisrc, RESOURCE, NOT_FOUND,
+        (_("No URI specified to play from.")), (NULL));
+    return NULL;
+  }
+invalid_uri:
+  {
+    GST_ELEMENT_ERROR (urisrc, RESOURCE, NOT_FOUND,
+        (_("Invalid URI \"%s\"."), urisrc->uri), (NULL));
+    g_clear_error (&err);
+    return NULL;
+  }
+uri_blacklisted:
+  {
+    GST_ELEMENT_ERROR (urisrc, RESOURCE, FAILED,
+        (_("This stream type cannot be played yet.")), (NULL));
+    return NULL;
+  }
+no_source:
+  {
+    /* whoops, could not create the source element, dig a little deeper to
+     * figure out what might be wrong. */
+    if (err != NULL && err->code == GST_URI_ERROR_UNSUPPORTED_PROTOCOL) {
+      gchar *prot;
+
+      prot = gst_uri_get_protocol (urisrc->uri);
+      if (prot == NULL)
+        goto invalid_uri;
+
+      gst_element_post_message (GST_ELEMENT_CAST (urisrc),
+          gst_missing_uri_source_message_new (GST_ELEMENT (urisrc), prot));
+
+      GST_ELEMENT_ERROR (urisrc, CORE, MISSING_PLUGIN,
+          (_("No URI handler implemented for \"%s\"."), prot), (NULL));
+
+      g_free (prot);
+    } else {
+      GST_ELEMENT_ERROR (urisrc, RESOURCE, NOT_FOUND,
+          ("%s", (err) ? err->message : "URI was not accepted by any element"),
+          ("No element accepted URI '%s'", urisrc->uri));
+    }
+
+    g_clear_error (&err);
+    return NULL;
+  }
+}
+
+static gboolean
+is_all_raw_caps (GstCaps * caps, GstCaps * rawcaps, gboolean * all_raw)
+{
+  GstCaps *intersection;
+  gint capssize;
+  gboolean res = FALSE;
+
+  if (caps == NULL)
+    return FALSE;
+
+  capssize = gst_caps_get_size (caps);
+  /* no caps, skip and move to the next pad */
+  if (capssize == 0 || gst_caps_is_empty (caps) || gst_caps_is_any (caps))
+    goto done;
+
+  intersection = gst_caps_intersect (caps, rawcaps);
+  *all_raw = !gst_caps_is_empty (intersection)
+      && (gst_caps_get_size (intersection) == capssize);
+  gst_caps_unref (intersection);
+
+  res = TRUE;
+
+done:
+  return res;
+}
+
+/**
+ * has_all_raw_caps:
+ * @pad: a #GstPad
+ * @all_raw: pointer to hold the result
+ *
+ * check if the caps of the pad are all raw. The caps are all raw if
+ * all of its structures contain audio/x-raw or video/x-raw.
+ *
+ * Returns: %FALSE @pad has no caps. Else TRUE and @all_raw set t the result.
+ */
+static gboolean
+has_all_raw_caps (GstPad * pad, GstCaps * rawcaps, gboolean * all_raw)
+{
+  GstCaps *caps;
+  gboolean res = FALSE;
+
+  caps = gst_pad_query_caps (pad, NULL);
+
+  GST_DEBUG_OBJECT (pad, "have caps %" GST_PTR_FORMAT, caps);
+
+  res = is_all_raw_caps (caps, rawcaps, all_raw);
+
+  gst_caps_unref (caps);
+  return res;
+}
+
+static void
+post_missing_plugin_error (GstElement * dec, const gchar * element_name)
+{
+  GstMessage *msg;
+
+  msg = gst_missing_element_message_new (dec, element_name);
+  gst_element_post_message (dec, msg);
+
+  GST_ELEMENT_ERROR (dec, CORE, MISSING_PLUGIN,
+      (_("Missing element '%s' - check your GStreamer installation."),
+          element_name), (NULL));
+  do_async_done (GST_URI_SOURCE_BIN (dec));
+}
+
+/**
+ * analyse_source:
+ * @urisrc: a #GstURISourceBin
+ * @is_raw: are all pads raw data
+ * @have_out: does the source have output
+ * @is_dynamic: is this a dynamic source
+ * @use_queue: put a queue before raw output pads
+ *
+ * Check the source of @urisrc and collect information about it.
+ *
+ * @is_raw will be set to TRUE if the source only produces raw pads. When this
+ * function returns, all of the raw pad of the source will be added
+ * to @urisrc
+ *
+ * @have_out: will be set to TRUE if the source has output pads.
+ *
+ * @is_dynamic: TRUE if the element will create (more) pads dynamically later
+ * on.
+ *
+ * Returns: FALSE if a fatal error occured while scanning.
+ */
+static gboolean
+analyse_source (GstURISourceBin * urisrc, gboolean * is_raw,
+    gboolean * have_out, gboolean * is_dynamic, gboolean use_queue)
+{
+  GstIterator *pads_iter;
+  gboolean done = FALSE;
+  gboolean res = TRUE;
+  GstPad *pad;
+  GValue item = { 0, };
+  GstCaps *rawcaps = DEFAULT_CAPS;
+
+  *have_out = FALSE;
+  *is_raw = FALSE;
+  *is_dynamic = FALSE;
+
+  pads_iter = gst_element_iterate_src_pads (urisrc->source);
+  while (!done) {
+    switch (gst_iterator_next (pads_iter, &item)) {
+      case GST_ITERATOR_ERROR:
+        res = FALSE;
+        /* FALLTROUGH */
+      case GST_ITERATOR_DONE:
+        done = TRUE;
+        break;
+      case GST_ITERATOR_RESYNC:
+        /* reset results and resync */
+        *have_out = FALSE;
+        *is_raw = FALSE;
+        *is_dynamic = FALSE;
+        gst_iterator_resync (pads_iter);
+        break;
+      case GST_ITERATOR_OK:
+        pad = g_value_dup_object (&item);
+        /* we now officially have an ouput pad */
+        *have_out = TRUE;
+
+        /* if FALSE, this pad has no caps and we continue with the next pad. */
+        if (!has_all_raw_caps (pad, rawcaps, is_raw)) {
+          gst_object_unref (pad);
+          g_value_reset (&item);
+          break;
+        }
+
+        /* caps on source pad are all raw, we can add the pad */
+        if (*is_raw) {
+          GST_URI_SOURCE_BIN_LOCK (urisrc);
+          if (use_queue) {
+            OutputSlotInfo *slot = get_output_slot (urisrc, FALSE, FALSE, NULL);
+            if (slot)
+              goto no_slot;
+
+            gst_pad_link (pad, slot->sinkpad);
+
+            /* get the new raw srcpad */
+            gst_object_unref (pad);
+            pad = slot->srcpad;
+          } else {
+            pad = create_output_pad (urisrc, pad);
+          }
+          GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+          expose_output_pad (urisrc, pad);
+          gst_object_unref (pad);
+        }
+        gst_object_unref (pad);
+        g_value_reset (&item);
+        break;
+    }
+  }
+  g_value_unset (&item);
+  gst_iterator_free (pads_iter);
+  gst_caps_unref (rawcaps);
+
+  if (!*have_out) {
+    GstElementClass *elemclass;
+    GList *walk;
+
+    /* element has no output pads, check for padtemplates that list SOMETIMES
+     * pads. */
+    elemclass = GST_ELEMENT_GET_CLASS (urisrc->source);
+
+    walk = gst_element_class_get_pad_template_list (elemclass);
+    while (walk != NULL) {
+      GstPadTemplate *templ;
+
+      templ = (GstPadTemplate *) walk->data;
+      if (GST_PAD_TEMPLATE_DIRECTION (templ) == GST_PAD_SRC) {
+        if (GST_PAD_TEMPLATE_PRESENCE (templ) == GST_PAD_SOMETIMES)
+          *is_dynamic = TRUE;
+        break;
+      }
+      walk = g_list_next (walk);
+    }
+  }
+
+  return res;
+no_slot:
+  {
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+    gst_object_unref (pad);
+    g_value_unset (&item);
+    gst_iterator_free (pads_iter);
+    gst_caps_unref (rawcaps);
+
+    return FALSE;
+  }
+}
+
+/* Remove any adaptive demuxer element */
+static void
+remove_demuxer (GstURISourceBin * bin)
+{
+  if (bin->demuxer) {
+    GST_DEBUG_OBJECT (bin, "removing old demuxer element");
+    gst_element_set_state (bin->demuxer, GST_STATE_NULL);
+    gst_bin_remove (GST_BIN_CAST (bin), bin->demuxer);
+    bin->demuxer = NULL;
+  }
+}
+
+/* make a demuxer and connect to all the signals */
+static GstElement *
+make_demuxer (GstURISourceBin * urisrc, GstCaps * caps)
+{
+  GList *factories, *eligible, *cur;
+  GstElement *demuxer = NULL;
+
+  GST_LOG_OBJECT (urisrc, "making new adaptive demuxer");
+
+  /* now create the demuxer element */
+
+  /* FIXME: Fire a signal to get the demuxer? */
+  factories = gst_element_factory_list_get_elements
+      (GST_ELEMENT_FACTORY_TYPE_DEMUXER, GST_RANK_MARGINAL);
+  eligible =
+      gst_element_factory_list_filter (factories, caps, GST_PAD_SINK,
+      gst_caps_is_fixed (caps));
+  gst_plugin_feature_list_free (factories);
+
+  if (eligible == NULL)
+    goto no_demuxer;
+
+  eligible = g_list_sort (eligible, gst_plugin_feature_rank_compare_func);
+
+  for (cur = eligible; cur != NULL; cur = g_list_next (cur)) {
+    GstElementFactory *factory = (GstElementFactory *) (cur->data);
+    const gchar *klass =
+        gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS);
+
+    /* Can't be a demuxer unless it has Demux in the klass name */
+    if (!strstr (klass, "Demux") || !strstr (klass, "Adaptive"))
+      continue;
+
+    demuxer = gst_element_factory_create (factory, NULL);
+    break;
+  }
+  gst_plugin_feature_list_free (eligible);
+
+  if (!demuxer)
+    goto no_demuxer;
+
+  GST_DEBUG_OBJECT (urisrc, "Created adaptive demuxer %" GST_PTR_FORMAT,
+      demuxer);
+
+  /* set up callbacks to create the links between
+   * demuxer streams and output */
+  g_signal_connect (demuxer,
+      "pad-added", G_CALLBACK (new_demuxer_pad_added_cb), urisrc);
+  g_signal_connect (demuxer,
+      "pad-removed", G_CALLBACK (pad_removed_cb), urisrc);
+
+  /* Propagate connection-speed property */
+  /* FIXME: Check the property exists on the demuxer */
+  g_object_set (demuxer,
+      "connection-speed", urisrc->connection_speed / 1000, NULL);
+
+  return demuxer;
+
+  /* ERRORS */
+no_demuxer:
+  {
+    /* FIXME: Fire the right error */
+    GST_ELEMENT_ERROR (urisrc, CORE, MISSING_PLUGIN, (NULL),
+        ("No demuxer element, check your installation"));
+    do_async_done (urisrc);
+    return NULL;
+  }
+}
+
+static void
+handle_new_pad (GstURISourceBin * urisrc, GstPad * srcpad, GstCaps * caps)
+{
+  gboolean is_raw;
+  GstStructure *s;
+  const gchar *media_type;
+  gboolean do_download = FALSE;
+
+  GST_URI_SOURCE_BIN_LOCK (urisrc);
+
+  /* if this is a pad with all raw caps, we can expose it */
+  if (is_all_raw_caps (caps, DEFAULT_CAPS, &is_raw) && is_raw) {
+    GstPad *pad;
+
+    GST_DEBUG_OBJECT (urisrc, "Found pad with raw caps %" GST_PTR_FORMAT
+        ", exposing", caps);
+    pad = create_output_pad (urisrc, srcpad);
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+
+    expose_output_pad (urisrc, pad);
+    return;
+  }
+  GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+
+  s = gst_caps_get_structure (caps, 0);
+  media_type = gst_structure_get_name (s);
+
+  urisrc->is_adaptive = IS_ADAPTIVE_MEDIA (media_type);
+
+  if (urisrc->is_adaptive) {
+    GstElement *demux_elem;
+    GstPad *sinkpad;
+    GstPadLinkReturn link_res;
+
+    demux_elem = make_demuxer (urisrc, caps);
+    if (!demux_elem)
+      goto no_demuxer;
+    gst_bin_add (GST_BIN_CAST (urisrc), demux_elem);
+
+    sinkpad = gst_element_get_static_pad (demux_elem, "sink");
+    if (sinkpad == NULL)
+      goto no_demuxer_sink;
+
+    link_res = gst_pad_link (srcpad, sinkpad);
+
+    gst_object_unref (sinkpad);
+    if (link_res != GST_PAD_LINK_OK)
+      goto could_not_link;
+
+    gst_element_sync_state_with_parent (demux_elem);
+  } else {
+    OutputSlotInfo *slot;
+
+    /* only enable download buffering if the upstream duration is known */
+    if (urisrc->download) {
+      GstQuery *query = gst_query_new_duration (GST_FORMAT_BYTES);
+      if (gst_pad_query (srcpad, query)) {
+        gint64 dur;
+        gst_query_parse_duration (query, NULL, &dur);
+        do_download = (dur != -1);
+      }
+      gst_object_unref (query);
+    }
+
+    GST_DEBUG_OBJECT (urisrc, "check media-type %s, %d", media_type,
+        do_download);
+
+    GST_URI_SOURCE_BIN_LOCK (urisrc);
+    slot = get_output_slot (urisrc, do_download, FALSE, NULL);
+
+    if (slot == NULL || gst_pad_link (srcpad, slot->sinkpad) != GST_PAD_LINK_OK)
+      goto could_not_link;
+
+    expose_output_pad (urisrc, slot->srcpad);
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+  }
+
+  return;
+
+  /* ERRORS */
+no_demuxer:
+  {
+    /* error was posted */
+    return;
+  }
+no_demuxer_sink:
+  {
+    GST_ELEMENT_ERROR (urisrc, CORE, NEGOTIATION,
+        (NULL), ("Adaptive demuxer element has no 'sink' pad"));
+    do_async_done (urisrc);
+    return;
+  }
+could_not_link:
+  {
+    GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+    GST_ELEMENT_ERROR (urisrc, CORE, NEGOTIATION,
+        (NULL), ("Can't link typefind to adaptive demuxer element"));
+    do_async_done (urisrc);
+    return;
+  }
+}
+
+/* signaled when we have a stream and we need to configure the download
+ * buffering or regular buffering */
+static void
+type_found (GstElement * typefind, guint probability,
+    GstCaps * caps, GstURISourceBin * urisrc)
+{
+  GstPad *srcpad = gst_element_get_static_pad (typefind, "src");
+
+  GST_DEBUG_OBJECT (urisrc, "typefind found caps %" GST_PTR_FORMAT
+      " on pad %" GST_PTR_FORMAT, caps, srcpad);
+  handle_new_pad (urisrc, srcpad, caps);
+
+  gst_object_unref (GST_OBJECT (srcpad));
+}
+
+/* setup a streaming source. This will first plug a typefind element to the
+ * source. After we find the type, we decide to whether to plug an adaptive
+ * demuxer, or just link through queue2 and expose the data. */
+static gboolean
+setup_streaming (GstURISourceBin * urisrc)
+{
+  GstElement *typefind;
+
+  /* now create the typefind element */
+  typefind = gst_element_factory_make ("typefind", NULL);
+  if (!typefind)
+    goto no_typefind;
+
+  gst_bin_add (GST_BIN_CAST (urisrc), typefind);
+
+  if (!gst_element_link_pads (urisrc->source, NULL, typefind, "sink"))
+    goto could_not_link;
+
+  urisrc->typefind = typefind;
+
+  /* connect a signal to find out when the typefind element found
+   * a type */
+  urisrc->have_type_id =
+      g_signal_connect (urisrc->typefind, "have-type",
+      G_CALLBACK (type_found), urisrc);
+
+  return TRUE;
+
+  /* ERRORS */
+no_typefind:
+  {
+    post_missing_plugin_error (GST_ELEMENT_CAST (urisrc), "typefind");
+    GST_ELEMENT_ERROR (urisrc, CORE, MISSING_PLUGIN, (NULL),
+        ("No typefind element, check your installation"));
+    do_async_done (urisrc);
+    return FALSE;
+  }
+could_not_link:
+  {
+    GST_ELEMENT_ERROR (urisrc, CORE, NEGOTIATION,
+        (NULL), ("Can't link source to typefind element"));
+    gst_bin_remove (GST_BIN_CAST (urisrc), typefind);
+    /* Don't lose the SOURCE flag */
+    GST_OBJECT_FLAG_SET (urisrc, GST_ELEMENT_FLAG_SOURCE);
+    do_async_done (urisrc);
+    return FALSE;
+  }
+}
+
+static void
+free_output_slot (OutputSlotInfo * slot, GstURISourceBin * urisrc)
+{
+  GST_DEBUG_OBJECT (urisrc, "removing old queue element and freeing slot %p",
+      slot);
+  gst_element_set_locked_state (slot->queue, TRUE);
+  gst_element_set_state (slot->queue, GST_STATE_NULL);
+  gst_bin_remove (GST_BIN_CAST (urisrc), slot->queue);
+
+  gst_object_unref (slot->sinkpad);
+
+  remove_buffering_msgs (urisrc, GST_OBJECT_CAST (slot->queue));
+
+  /* deactivate and remove the srcpad */
+  gst_pad_set_active (slot->srcpad, FALSE);
+  gst_element_remove_pad (GST_ELEMENT_CAST (urisrc), slot->srcpad);
+
+  g_free (slot);
+}
+
+/* remove source and all related elements */
+static void
+remove_source (GstURISourceBin * urisrc)
+{
+  GstElement *source = urisrc->source;
+
+  if (source) {
+    GST_DEBUG_OBJECT (urisrc, "removing old src element");
+    gst_element_set_state (source, GST_STATE_NULL);
+
+    if (urisrc->src_np_sig_id) {
+      g_signal_handler_disconnect (source, urisrc->src_np_sig_id);
+      urisrc->src_np_sig_id = 0;
+    }
+    gst_bin_remove (GST_BIN_CAST (urisrc), source);
+    urisrc->source = NULL;
+  }
+  if (urisrc->typefind) {
+    GST_DEBUG_OBJECT (urisrc, "removing old typefind element");
+    gst_element_set_state (urisrc->typefind, GST_STATE_NULL);
+    gst_bin_remove (GST_BIN_CAST (urisrc), urisrc->typefind);
+    urisrc->typefind = NULL;
+  }
+
+  GST_URI_SOURCE_BIN_LOCK (urisrc);
+  g_slist_foreach (urisrc->out_slots, (GFunc) free_output_slot, urisrc);
+  g_slist_free (urisrc->out_slots);
+  urisrc->out_slots = NULL;
+  GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+
+  if (urisrc->demuxer) {
+    GST_DEBUG_OBJECT (urisrc, "removing old adaptive demux element");
+    gst_element_set_state (urisrc->demuxer, GST_STATE_NULL);
+    gst_bin_remove (GST_BIN_CAST (urisrc), urisrc->demuxer);
+    urisrc->demuxer = NULL;
+  }
+  /* Don't lose the SOURCE flag */
+  GST_OBJECT_FLAG_SET (urisrc, GST_ELEMENT_FLAG_SOURCE);
+}
+
+/* is called when a dynamic source element created a new pad. */
+static void
+source_new_pad (GstElement * element, GstPad * pad, GstURISourceBin * urisrc)
+{
+  GstCaps *caps;
+
+  GST_DEBUG_OBJECT (urisrc, "Found new pad %s.%s in source element %s",
+      GST_DEBUG_PAD_NAME (pad), GST_ELEMENT_NAME (element));
+  caps = gst_pad_get_current_caps (pad);
+  if (caps == NULL)
+    caps = gst_pad_query_caps (pad, NULL);
+  handle_new_pad (urisrc, pad, caps);
+  gst_caps_unref (caps);
+}
+
+static gboolean
+is_live_source (GstElement * source)
+{
+  GObjectClass *source_class = NULL;
+  gboolean is_live = FALSE;
+  GParamSpec *pspec;
+
+  source_class = G_OBJECT_GET_CLASS (source);
+  pspec = g_object_class_find_property (source_class, "is-live");
+  if (!pspec || G_PARAM_SPEC_VALUE_TYPE (pspec) != G_TYPE_BOOLEAN)
+    return FALSE;
+
+  g_object_get (G_OBJECT (source), "is-live", &is_live, NULL);
+
+  return is_live;
+}
+
+/* construct and run the source and demuxer elements until we found
+ * all the streams or until a preroll queue has been filled.
+*/
+static gboolean
+setup_source (GstURISourceBin * urisrc)
+{
+  gboolean is_raw, have_out, is_dynamic;
+
+  GST_DEBUG_OBJECT (urisrc, "setup source");
+
+  /* delete old src */
+  remove_source (urisrc);
+
+  /* create and configure an element that can handle the uri */
+  if (!(urisrc->source = gen_source_element (urisrc)))
+    goto no_source;
+
+  /* state will be merged later - if file is not found, error will be
+   * handled by the application right after. */
+  gst_bin_add (GST_BIN_CAST (urisrc), urisrc->source);
+
+  /* notify of the new source used */
+  g_object_notify (G_OBJECT (urisrc), "source");
+
+  g_signal_emit (urisrc, gst_uri_source_bin_signals[SIGNAL_SOURCE_SETUP],
+      0, urisrc->source);
+
+  if (is_live_source (urisrc->source))
+    urisrc->is_stream = FALSE;
+
+  /* remove the old demuxer now, if any */
+  remove_demuxer (urisrc);
+
+  /* see if the source element emits raw audio/video all by itself,
+   * if so, we can create streams for the pads and be done with it.
+   * Also check that is has source pads, if not, we assume it will
+   * do everything itself.  */
+  if (!analyse_source (urisrc, &is_raw, &have_out, &is_dynamic,
+          urisrc->need_queue && urisrc->use_buffering))
+    goto invalid_source;
+
+  if (is_raw) {
+    GST_DEBUG_OBJECT (urisrc, "Source provides all raw data");
+    /* source provides raw data, we added the pads and we can now signal a
+     * no_more pads because we are done. */
+    gst_element_no_more_pads (GST_ELEMENT_CAST (urisrc));
+    do_async_done (urisrc);
+    return TRUE;
+  }
+  if (!have_out && !is_dynamic) {
+    GST_DEBUG_OBJECT (urisrc, "Source has no output pads");
+    return TRUE;
+  }
+  if (is_dynamic) {
+    GST_DEBUG_OBJECT (urisrc, "Source has dynamic output pads");
+    /* connect a handler for the new-pad signal */
+    urisrc->src_np_sig_id =
+        g_signal_connect (urisrc->source, "pad-added",
+        G_CALLBACK (source_new_pad), urisrc);
+  } else {
+    if (urisrc->is_stream) {
+      GST_DEBUG_OBJECT (urisrc, "Setting up streaming");
+      /* do the stream things here */
+      if (!setup_streaming (urisrc))
+        goto streaming_failed;
+    } else {
+      GstIterator *pads_iter;
+      gboolean done = FALSE;
+      pads_iter = gst_element_iterate_src_pads (urisrc->source);
+      while (!done) {
+        GValue item = { 0, };
+        GstPad *pad;
+
+        switch (gst_iterator_next (pads_iter, &item)) {
+          case GST_ITERATOR_ERROR:
+            GST_WARNING_OBJECT (urisrc,
+                "Error iterating pads on source element");
+            /* FALLTROUGH */
+          case GST_ITERATOR_DONE:
+            done = TRUE;
+            break;
+          case GST_ITERATOR_RESYNC:
+            /* reset results and resync */
+            gst_iterator_resync (pads_iter);
+            break;
+          case GST_ITERATOR_OK:
+            pad = g_value_get_object (&item);
+            /* no streaming source, expose pads directly */
+            GST_URI_SOURCE_BIN_LOCK (urisrc);
+            pad = create_output_pad (urisrc, pad);
+            GST_URI_SOURCE_BIN_UNLOCK (urisrc);
+            expose_output_pad (urisrc, pad);
+            g_value_reset (&item);
+            break;
+        }
+      }
+      gst_iterator_free (pads_iter);
+      gst_element_no_more_pads (GST_ELEMENT_CAST (urisrc));
+      do_async_done (urisrc);
+    }
+  }
+  return TRUE;
+
+  /* ERRORS */
+no_source:
+  {
+    /* error message was already posted */
+    return FALSE;
+  }
+invalid_source:
+  {
+    GST_ELEMENT_ERROR (urisrc, CORE, FAILED,
+        (_("Source element is invalid.")), (NULL));
+    return FALSE;
+  }
+streaming_failed:
+  {
+    /* message was posted */
+    return FALSE;
+  }
+}
+
+static void
+value_list_append_structure_list (GValue * list_val, GstStructure ** first,
+    GList * structure_list)
+{
+  GList *l;
+
+  for (l = structure_list; l != NULL; l = l->next) {
+    GValue val = { 0, };
+
+    if (*first == NULL)
+      *first = gst_structure_copy ((GstStructure *) l->data);
+
+    g_value_init (&val, GST_TYPE_STRUCTURE);
+    g_value_take_boxed (&val, gst_structure_copy ((GstStructure *) l->data));
+    gst_value_list_append_value (list_val, &val);
+    g_value_unset (&val);
+  }
+}
+
+/* if it's a redirect message with multiple redirect locations we might
+ * want to pick a different 'best' location depending on the required
+ * bitrates and the connection speed */
+static GstMessage *
+handle_redirect_message (GstURISourceBin * dec, GstMessage * msg)
+{
+  const GValue *locations_list, *location_val;
+  GstMessage *new_msg;
+  GstStructure *new_structure = NULL;
+  GList *l_good = NULL, *l_neutral = NULL, *l_bad = NULL;
+  GValue new_list = { 0, };
+  guint size, i;
+  const GstStructure *structure;
+
+  GST_DEBUG_OBJECT (dec, "redirect message: %" GST_PTR_FORMAT, msg);
+  GST_DEBUG_OBJECT (dec, "connection speed: %" G_GUINT64_FORMAT,
+      dec->connection_speed);
+
+  structure = gst_message_get_structure (msg);
+  if (dec->connection_speed == 0 || structure == NULL)
+    return msg;
+
+  locations_list = gst_structure_get_value (structure, "locations");
+  if (locations_list == NULL)
+    return msg;
+
+  size = gst_value_list_get_size (locations_list);
+  if (size < 2)
+    return msg;
+
+  /* maintain existing order as much as possible, just sort references
+   * with too high a bitrate to the end (the assumption being that if
+   * bitrates are given they are given for all interesting streams and
+   * that the you-need-at-least-version-xyz redirect has the same bitrate
+   * as the lowest referenced redirect alternative) */
+  for (i = 0; i < size; ++i) {
+    const GstStructure *s;
+    gint bitrate = 0;
+
+    location_val = gst_value_list_get_value (locations_list, i);
+    s = (const GstStructure *) g_value_get_boxed (location_val);
+    if (!gst_structure_get_int (s, "minimum-bitrate", &bitrate) || bitrate <= 0) {
+      GST_DEBUG_OBJECT (dec, "no bitrate: %" GST_PTR_FORMAT, s);
+      l_neutral = g_list_append (l_neutral, (gpointer) s);
+    } else if (bitrate > dec->connection_speed) {
+      GST_DEBUG_OBJECT (dec, "bitrate too high: %" GST_PTR_FORMAT, s);
+      l_bad = g_list_append (l_bad, (gpointer) s);
+    } else if (bitrate <= dec->connection_speed) {
+      GST_DEBUG_OBJECT (dec, "bitrate OK: %" GST_PTR_FORMAT, s);
+      l_good = g_list_append (l_good, (gpointer) s);
+    }
+  }
+
+  g_value_init (&new_list, GST_TYPE_LIST);
+  value_list_append_structure_list (&new_list, &new_structure, l_good);
+  value_list_append_structure_list (&new_list, &new_structure, l_neutral);
+  value_list_append_structure_list (&new_list, &new_structure, l_bad);
+  gst_structure_take_value (new_structure, "locations", &new_list);
+
+  g_list_free (l_good);
+  g_list_free (l_neutral);
+  g_list_free (l_bad);
+
+  new_msg = gst_message_new_element (msg->src, new_structure);
+  gst_message_unref (msg);
+
+  GST_DEBUG_OBJECT (dec, "new redirect message: %" GST_PTR_FORMAT, new_msg);
+  return new_msg;
+}
+
+static GstMessage *
+handle_buffering_message (GstURISourceBin * urisrc, GstMessage * msg)
+{
+  gint perc, msg_perc;
+  gint smaller_perc = 100;
+  GstMessage *smaller = NULL;
+  GList *found = NULL;
+  GList *iter;
+
+  /* buffering messages must be aggregated as there might be multiple
+   * multiqueue in the pipeline and their independent buffering messages
+   * will confuse the application
+   *
+   * urisourcebin keeps a list of messages received from elements that are
+   * buffering.
+   * Rules are:
+   * 0) Ignore buffering from elements that are draining (is_eos == TRUE)
+   * 1) Always post the smaller buffering %
+   * 2) If an element posts a 100% buffering message, remove it from the list
+   * 3) When there are no more messages on the list, post 100% message
+   * 4) When an element posts a new buffering message, update the one
+   *    on the list to this new value
+   */
+  gst_message_parse_buffering (msg, &msg_perc);
+  GST_LOG_OBJECT (urisrc, "Got buffering msg from %" GST_PTR_FORMAT
+      " with %d%%", GST_MESSAGE_SRC (msg), msg_perc);
+
+  GST_OBJECT_LOCK (urisrc);
+  /*
+   * Single loop for 2 things:
+   * 1) Look for a message with the same source
+   *   1.1) If the received message is 100%, remove it from the list
+   * 2) Find the minimum buffering from the list from elements that aren't EOS
+   */
+  for (iter = urisrc->buffering_status; iter;) {
+    GstMessage *bufstats = iter->data;
+    OutputSlotInfo *slot =
+        g_object_get_data (G_OBJECT (GST_MESSAGE_SRC (bufstats)),
+        "urisourcebin.slotinfo");
+    gboolean is_eos = FALSE;
+
+    if (slot)
+      is_eos = slot->is_eos;
+
+    if (GST_MESSAGE_SRC (bufstats) == GST_MESSAGE_SRC (msg)) {
+      found = iter;
+      if (msg_perc < 100) {
+        gst_message_unref (iter->data);
+        bufstats = iter->data = gst_message_ref (msg);
+      } else {
+        GList *current = iter;
+
+        /* remove the element here and avoid confusing the loop */
+        iter = g_list_next (iter);
+
+        gst_message_unref (current->data);
+        urisrc->buffering_status =
+            g_list_delete_link (urisrc->buffering_status, current);
+
+        continue;
+      }
+    }
+
+    /* only update minimum stat for non-EOS slots */
+    if (!is_eos) {
+      gst_message_parse_buffering (bufstats, &perc);
+      if (perc < smaller_perc) {
+        smaller_perc = perc;
+        smaller = bufstats;
+      }
+    } else {
+      GST_LOG_OBJECT (urisrc, "Ignoring buffering from EOS element");
+    }
+    iter = g_list_next (iter);
+  }
+
+  if (found == NULL && msg_perc < 100) {
+    if (msg_perc < smaller_perc) {
+      smaller_perc = msg_perc;
+      smaller = msg;
+    }
+    urisrc->buffering_status =
+        g_list_prepend (urisrc->buffering_status, gst_message_ref (msg));
+  }
+
+  if (smaller_perc == urisrc->last_buffering_pct) {
+    /* Don't repeat our last buffering status */
+    gst_message_replace (&msg, NULL);
+  } else {
+    urisrc->last_buffering_pct = smaller_perc;
+
+    /* now compute the buffering message that should be posted */
+    if (smaller_perc == 100) {
+      g_assert (urisrc->buffering_status == NULL);
+      /* we are posting the original received msg */
+    } else {
+      gst_message_replace (&msg, smaller);
+    }
+  }
+  GST_OBJECT_UNLOCK (urisrc);
+
+  if (msg) {
+    GST_LOG_OBJECT (urisrc, "Sending buffering msg from %" GST_PTR_FORMAT
+        " with %d%%", GST_MESSAGE_SRC (msg), smaller_perc);
+  } else {
+    GST_LOG_OBJECT (urisrc, "Dropped buffering msg as a repeat of %d%%",
+        smaller_perc);
+  }
+  return msg;
+}
+
+/* Remove any buffering message from the given source */
+static void
+remove_buffering_msgs (GstURISourceBin * urisrc, GstObject * src)
+{
+  GList *iter;
+
+  GST_OBJECT_LOCK (urisrc);
+  for (iter = urisrc->buffering_status; iter;) {
+    GstMessage *bufstats = iter->data;
+    if (GST_MESSAGE_SRC (bufstats) == src) {
+      gst_message_unref (bufstats);
+      urisrc->buffering_status =
+          g_list_delete_link (urisrc->buffering_status, iter);
+      break;
+    }
+    iter = g_list_next (iter);
+  }
+  GST_OBJECT_UNLOCK (urisrc);
+}
+
+static void
+handle_message (GstBin * bin, GstMessage * msg)
+{
+  GstURISourceBin *urisrc = GST_URI_SOURCE_BIN (bin);
+
+  switch (GST_MESSAGE_TYPE (msg)) {
+    case GST_MESSAGE_ELEMENT:{
+      if (gst_message_has_name (msg, "redirect")) {
+        /* sort redirect messages based on the connection speed. This simplifies
+         * the user of this element as it can in most cases just pick the first item
+         * of the sorted list as a good redirection candidate. It can of course
+         * choose something else from the list if it has a better way. */
+        msg = handle_redirect_message (urisrc, msg);
+      }
+      break;
+    }
+    case GST_MESSAGE_BUFFERING:
+      msg = handle_buffering_message (urisrc, msg);
+      break;
+    default:
+      break;
+  }
+
+  if (msg)
+    GST_BIN_CLASS (parent_class)->handle_message (bin, msg);
+}
+
+/* generic struct passed to all query fold methods
+ * FIXME, move to core.
+ */
+typedef struct
+{
+  GstQuery *query;
+  gint64 min;
+  gint64 max;
+  gboolean seekable;
+  gboolean live;
+} QueryFold;
+
+typedef void (*QueryInitFunction) (GstURISourceBin * urisrc, QueryFold * fold);
+typedef void (*QueryDoneFunction) (GstURISourceBin * urisrc, QueryFold * fold);
+
+/* for duration/position we collect all durations/positions and take
+ * the MAX of all valid results */
+static void
+decoder_query_init (GstURISourceBin * dec, QueryFold * fold)
+{
+  fold->min = 0;
+  fold->max = -1;
+  fold->seekable = TRUE;
+  fold->live = 0;
+}
+
+static gboolean
+decoder_query_duration_fold (const GValue * item, GValue * ret,
+    QueryFold * fold)
+{
+  GstPad *pad = g_value_get_object (item);
+
+  if (gst_pad_query (pad, fold->query)) {
+    gint64 duration;
+
+    g_value_set_boolean (ret, TRUE);
+
+    gst_query_parse_duration (fold->query, NULL, &duration);
+
+    GST_DEBUG_OBJECT (item, "got duration %" G_GINT64_FORMAT, duration);
+
+    if (duration > fold->max)
+      fold->max = duration;
+  }
+  return TRUE;
+}
+
+static void
+decoder_query_duration_done (GstURISourceBin * dec, QueryFold * fold)
+{
+  GstFormat format;
+
+  gst_query_parse_duration (fold->query, &format, NULL);
+  /* store max in query result */
+  gst_query_set_duration (fold->query, format, fold->max);
+
+  GST_DEBUG ("max duration %" G_GINT64_FORMAT, fold->max);
+}
+
+static gboolean
+decoder_query_position_fold (const GValue * item, GValue * ret,
+    QueryFold * fold)
+{
+  GstPad *pad = g_value_get_object (item);
+
+  if (gst_pad_query (pad, fold->query)) {
+    gint64 position;
+
+    g_value_set_boolean (ret, TRUE);
+
+    gst_query_parse_position (fold->query, NULL, &position);
+
+    GST_DEBUG_OBJECT (item, "got position %" G_GINT64_FORMAT, position);
+
+    if (position > fold->max)
+      fold->max = position;
+  }
+
+  return TRUE;
+}
+
+static void
+decoder_query_position_done (GstURISourceBin * dec, QueryFold * fold)
+{
+  GstFormat format;
+
+  gst_query_parse_position (fold->query, &format, NULL);
+  /* store max in query result */
+  gst_query_set_position (fold->query, format, fold->max);
+
+  GST_DEBUG_OBJECT (dec, "max position %" G_GINT64_FORMAT, fold->max);
+}
+
+static gboolean
+decoder_query_latency_fold (const GValue * item, GValue * ret, QueryFold * fold)
+{
+  GstPad *pad = g_value_get_object (item);
+
+  if (gst_pad_query (pad, fold->query)) {
+    GstClockTime min, max;
+    gboolean live;
+
+    gst_query_parse_latency (fold->query, &live, &min, &max);
+
+    GST_DEBUG_OBJECT (pad,
+        "got latency min %" GST_TIME_FORMAT ", max %" GST_TIME_FORMAT
+        ", live %d", GST_TIME_ARGS (min), GST_TIME_ARGS (max), live);
+
+    if (live) {
+      /* for the combined latency we collect the MAX of all min latencies and
+       * the MIN of all max latencies */
+      if (min > fold->min)
+        fold->min = min;
+      if (fold->max == -1)
+        fold->max = max;
+      else if (max < fold->max)
+        fold->max = max;
+
+      fold->live = TRUE;
+    }
+  } else {
+    GST_LOG_OBJECT (pad, "latency query failed");
+    g_value_set_boolean (ret, FALSE);
+  }
+
+  return TRUE;
+}
+
+static void
+decoder_query_latency_done (GstURISourceBin * dec, QueryFold * fold)
+{
+  /* store max in query result */
+  gst_query_set_latency (fold->query, fold->live, fold->min, fold->max);
+
+  GST_DEBUG_OBJECT (dec,
+      "latency min %" GST_TIME_FORMAT ", max %" GST_TIME_FORMAT
+      ", live %d", GST_TIME_ARGS (fold->min), GST_TIME_ARGS (fold->max),
+      fold->live);
+}
+
+/* we are seekable if all srcpads are seekable */
+static gboolean
+decoder_query_seeking_fold (const GValue * item, GValue * ret, QueryFold * fold)
+{
+  GstPad *pad = g_value_get_object (item);
+
+  if (gst_pad_query (pad, fold->query)) {
+    gboolean seekable;
+
+    g_value_set_boolean (ret, TRUE);
+    gst_query_parse_seeking (fold->query, NULL, &seekable, NULL, NULL);
+
+    GST_DEBUG_OBJECT (item, "got seekable %d", seekable);
+
+    if (fold->seekable)
+      fold->seekable = seekable;
+  }
+
+  return TRUE;
+}
+
+static void
+decoder_query_seeking_done (GstURISourceBin * dec, QueryFold * fold)
+{
+  GstFormat format;
+
+  gst_query_parse_seeking (fold->query, &format, NULL, NULL, NULL);
+  gst_query_set_seeking (fold->query, format, fold->seekable, 0, -1);
+
+  GST_DEBUG_OBJECT (dec, "seekable %d", fold->seekable);
+}
+
+/* generic fold, return first valid result */
+static gboolean
+decoder_query_generic_fold (const GValue * item, GValue * ret, QueryFold * fold)
+{
+  GstPad *pad = g_value_get_object (item);
+  gboolean res;
+
+  if ((res = gst_pad_query (pad, fold->query))) {
+    g_value_set_boolean (ret, TRUE);
+    GST_DEBUG_OBJECT (item, "answered query %p", fold->query);
+  }
+
+  /* and stop as soon as we have a valid result */
+  return !res;
+}
+
+/* we're a bin, the default query handler iterates sink elements, which we don't
+ * have normally. We should just query all source pads.
+ */
+static gboolean
+gst_uri_source_bin_query (GstElement * element, GstQuery * query)
+{
+  GstURISourceBin *decoder;
+  gboolean res = FALSE;
+  GstIterator *iter;
+  GstIteratorFoldFunction fold_func;
+  QueryInitFunction fold_init = NULL;
+  QueryDoneFunction fold_done = NULL;
+  QueryFold fold_data;
+  GValue ret = { 0 };
+  gboolean default_ret = FALSE;
+
+  decoder = GST_URI_SOURCE_BIN (element);
+
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_DURATION:
+      /* iterate and collect durations */
+      fold_func = (GstIteratorFoldFunction) decoder_query_duration_fold;
+      fold_init = decoder_query_init;
+      fold_done = decoder_query_duration_done;
+      break;
+    case GST_QUERY_POSITION:
+      /* iterate and collect durations */
+      fold_func = (GstIteratorFoldFunction) decoder_query_position_fold;
+      fold_init = decoder_query_init;
+      fold_done = decoder_query_position_done;
+      break;
+    case GST_QUERY_LATENCY:
+      /* iterate and collect durations */
+      fold_func = (GstIteratorFoldFunction) decoder_query_latency_fold;
+      fold_init = decoder_query_init;
+      fold_done = decoder_query_latency_done;
+      default_ret = TRUE;
+      break;
+    case GST_QUERY_SEEKING:
+      /* iterate and collect durations */
+      fold_func = (GstIteratorFoldFunction) decoder_query_seeking_fold;
+      fold_init = decoder_query_init;
+      fold_done = decoder_query_seeking_done;
+      break;
+    default:
+      fold_func = (GstIteratorFoldFunction) decoder_query_generic_fold;
+      break;
+  }
+
+  fold_data.query = query;
+
+  g_value_init (&ret, G_TYPE_BOOLEAN);
+  g_value_set_boolean (&ret, default_ret);
+
+  iter = gst_element_iterate_src_pads (element);
+  GST_DEBUG_OBJECT (element, "Sending query %p (type %d) to src pads",
+      query, GST_QUERY_TYPE (query));
+
+  if (fold_init)
+    fold_init (decoder, &fold_data);
+
+  while (TRUE) {
+    GstIteratorResult ires;
+
+    ires = gst_iterator_fold (iter, fold_func, &ret, &fold_data);
+
+    switch (ires) {
+      case GST_ITERATOR_RESYNC:
+        gst_iterator_resync (iter);
+        if (fold_init)
+          fold_init (decoder, &fold_data);
+        g_value_set_boolean (&ret, default_ret);
+        break;
+      case GST_ITERATOR_OK:
+      case GST_ITERATOR_DONE:
+        res = g_value_get_boolean (&ret);
+        if (fold_done != NULL && res)
+          fold_done (decoder, &fold_data);
+        goto done;
+      default:
+        res = FALSE;
+        goto done;
+    }
+  }
+done:
+  gst_iterator_free (iter);
+
+  return res;
+}
+
+static void
+sync_slot_queue (OutputSlotInfo * slot)
+{
+  gst_element_sync_state_with_parent (slot->queue);
+}
+
+static GstStateChangeReturn
+gst_uri_source_bin_change_state (GstElement * element,
+    GstStateChange transition)
+{
+  GstStateChangeReturn ret;
+  GstURISourceBin *urisrc = GST_URI_SOURCE_BIN (element);
+
+  switch (transition) {
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      do_async_start (urisrc);
+      break;
+    default:
+      break;
+  }
+
+  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+  if (ret == GST_STATE_CHANGE_FAILURE)
+    goto setup_failed;
+  else if (ret == GST_STATE_CHANGE_NO_PREROLL)
+    do_async_done (urisrc);
+
+  switch (transition) {
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      GST_DEBUG ("ready to paused");
+      if (!setup_source (urisrc))
+        goto source_failed;
+
+      ret = GST_STATE_CHANGE_ASYNC;
+
+      /* And now sync the states of everything we added */
+      g_slist_foreach (urisrc->out_slots, (GFunc) sync_slot_queue, NULL);
+      if (urisrc->typefind)
+        ret = gst_element_set_state (urisrc->typefind, GST_STATE_PAUSED);
+      if (ret == GST_STATE_CHANGE_FAILURE)
+        goto setup_failed;
+      if (urisrc->source)
+        ret = gst_element_set_state (urisrc->source, GST_STATE_PAUSED);
+      if (ret == GST_STATE_CHANGE_FAILURE)
+        goto setup_failed;
+      if (ret == GST_STATE_CHANGE_SUCCESS)
+        ret = GST_STATE_CHANGE_ASYNC;
+
+      break;
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      GST_DEBUG ("paused to ready");
+      remove_demuxer (urisrc);
+      remove_source (urisrc);
+      do_async_done (urisrc);
+      g_list_free_full (urisrc->buffering_status,
+          (GDestroyNotify) gst_message_unref);
+      urisrc->buffering_status = NULL;
+      urisrc->last_buffering_pct = -1;
+      break;
+    case GST_STATE_CHANGE_READY_TO_NULL:
+      GST_DEBUG ("ready to null");
+      remove_demuxer (urisrc);
+      remove_source (urisrc);
+      break;
+    default:
+      break;
+  }
+  return ret;
+
+  /* ERRORS */
+source_failed:
+  {
+    do_async_done (urisrc);
+    return GST_STATE_CHANGE_FAILURE;
+  }
+setup_failed:
+  {
+    /* clean up leftover groups */
+    do_async_done (urisrc);
+    return GST_STATE_CHANGE_FAILURE;
+  }
+}
+
+gboolean
+gst_uri_source_bin_plugin_init (GstPlugin * plugin)
+{
+  GST_DEBUG_CATEGORY_INIT (gst_uri_source_bin_debug, "urisourcebin", 0,
+      "URI source element");
+
+  return gst_element_register (plugin, "urisourcebin", GST_RANK_NONE,
+      GST_TYPE_URI_DECODE_BIN);
+}
diff --git a/gst/subparse/gstssaparse.c b/gst/subparse/gstssaparse.c
index 06ecef9..536ce0d 100644
--- a/gst/subparse/gstssaparse.c
+++ b/gst/subparse/gstssaparse.c
@@ -97,10 +97,8 @@
 
   object_class->dispose = gst_ssa_parse_dispose;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_static_metadata (element_class,
       "SSA Subtitle Parser", "Codec/Parser/Subtitle",
       "Parses SSA subtitle streams",
diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
index e306939..c8acc06 100644
--- a/gst/subparse/gstsubparse.c
+++ b/gst/subparse/gstsubparse.c
@@ -2,6 +2,8 @@
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
  * Copyright (C) 2004 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
  * Copyright (C) 2006 Tim-Philipp Müller <tim centricular net>
+ * Copyright (C) 2016 Philippe Normand <pnormand@igalia.com>
+ * Copyright (C) 2016 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
@@ -39,6 +41,10 @@
 GST_DEBUG_CATEGORY (sub_parse_debug);
 
 #define DEFAULT_ENCODING   NULL
+#define ATTRIBUTE_REGEX "\\s?[a-zA-Z0-9\\. \t\\(\\)]*"
+static const gchar *allowed_srt_tags[] = { "i", "b", "u", NULL };
+static const gchar *allowed_vtt_tags[] =
+    { "i", "b", "c", "u", "v", "ruby", "rt", NULL };
 
 enum
 {
@@ -61,7 +67,7 @@
     GST_STATIC_CAPS ("application/x-subtitle; application/x-subtitle-sami; "
         "application/x-subtitle-tmplayer; application/x-subtitle-mpl2; "
         "application/x-subtitle-dks; application/x-subtitle-qttext;"
-        "application/x-subtitle-lrc;")
+        "application/x-subtitle-lrc; application/x-subtitle-vtt")
     );
 
 static GstStaticPadTemplate src_templ = GST_STATIC_PAD_TEMPLATE ("src",
@@ -127,10 +133,8 @@
   object_class->set_property = gst_sub_parse_set_property;
   object_class->get_property = gst_sub_parse_get_property;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_static_metadata (element_class,
       "Subtitle parser", "Codec/Parser/Subtitle",
       "Parses subtitle (.sub) files into text streams",
@@ -372,6 +376,8 @@
       return "SubViewer";
     case GST_SUB_PARSE_FORMAT_DKS:
       return "DKS";
+    case GST_SUB_PARSE_FORMAT_VTT:
+      return "WebVTT";
     case GST_SUB_PARSE_FORMAT_QTTEXT:
       return "QTtext";
     case GST_SUB_PARSE_FORMAT_LRC:
@@ -665,45 +671,42 @@
  * escaping everything (the text between these simple markers isn't
  * necessarily escaped, so it seems best to do it like this) */
 static void
-subrip_unescape_formatting (gchar * txt)
+subrip_unescape_formatting (gchar * txt, gconstpointer allowed_tags_ptr,
+    gboolean allows_tag_attributes)
 {
-  gchar *pos;
+  gchar *res;
+  GRegex *tag_regex;
+  gchar *allowed_tags_pattern, *search_pattern;
+  const gchar *replace_pattern;
 
-  for (pos = txt; pos != NULL && *pos != '\0'; ++pos) {
-    if (g_ascii_strncasecmp (pos, "&lt;u&gt;", 9) == 0 ||
-        g_ascii_strncasecmp (pos, "&lt;i&gt;", 9) == 0 ||
-        g_ascii_strncasecmp (pos, "&lt;b&gt;", 9) == 0) {
-      pos[0] = '<';
-      pos[1] = g_ascii_tolower (pos[4]);
-      pos[2] = '>';
-      /* move NUL terminator as well */
-      memmove (pos + 3, pos + 9, strlen (pos + 9) + 1);
-      pos += 2;
-    }
+  /* No processing needed if no escaped tag marker found in the string. */
+  if (strstr (txt, "&lt;") == NULL)
+    return;
+
+  /* Build a list of alternates for our regexp.
+   * FIXME: Could be built once and stored */
+  allowed_tags_pattern = g_strjoinv ("|", (gchar **) allowed_tags_ptr);
+  /* Look for starting/ending escaped tags with optional attributes. */
+  search_pattern = g_strdup_printf ("&lt;(/)?\\ *(%s)(%s)&gt;",
+      allowed_tags_pattern, ATTRIBUTE_REGEX);
+  /* And unescape appropriately */
+  if (allows_tag_attributes) {
+    replace_pattern = "<\\1\\2\\3>";
+  } else {
+    replace_pattern = "<\\1\\2>";
   }
 
-  for (pos = txt; pos != NULL && *pos != '\0'; ++pos) {
-    gchar *tag;
+  tag_regex = g_regex_new (search_pattern, 0, 0, NULL);
+  res = g_regex_replace (tag_regex, txt, strlen (txt), 0,
+      replace_pattern, 0, NULL);
 
-    /* look for start of an escaped closing tag */
-    if (g_ascii_strncasecmp (pos, "&lt;/", 5) != 0)
-      continue;
-    tag = pos + 5;
-    while (*tag == ' ')
-      ++tag;
-    if ((*tag == 'u' || *tag == 'i' || *tag == 'b') &&
-        g_ascii_strncasecmp (tag + 1, "&gt;", 4) == 0) {
-      gsize tag_len = (guintptr) (tag + 1 + 4 - pos);
+  /* res will always be shorter than the input or identical, so this
+   * copy is OK */
+  strcpy (txt, res);
 
-      pos[0] = '<';
-      pos[1] = '/';
-      pos[2] = g_ascii_tolower (*tag);
-      pos[3] = '>';
-      /* move NUL terminator as well */
-      memmove (pos + 4, pos + tag_len, strlen (pos + tag_len) + 1);
-      pos += 3;
-    }
-  }
+  g_free (res);
+  g_free (search_pattern);
+  g_free (allowed_tags_pattern);
 }
 
 
@@ -742,16 +745,25 @@
   }
 }
 
-/* we only allow <i>, <u> and <b>, so let's take a simple approach. This code
- * assumes the input has been escaped and subrip_unescape_formatting() has then
- * been run over the input! This function adds missing closing markup tags and
- * removes broken closing tags for tags that have never been opened. */
+/* we only allow a fixed set of tags like <i>, <u> and <b>, so let's
+ * take a simple approach. This code assumes the input has been
+ * escaped and subrip_unescape_formatting() has then been run over the
+ * input! This function adds missing closing markup tags and removes
+ * broken closing tags for tags that have never been opened. */
 static void
-subrip_fix_up_markup (gchar ** p_txt)
+subrip_fix_up_markup (gchar ** p_txt, gconstpointer allowed_tags_ptr)
 {
   gchar *cur, *next_tag;
-  gchar open_tags[32];
+  gchar *open_tags[32];
   guint num_open_tags = 0;
+  const gchar *iter_tag;
+  guint offset = 0;
+  guint index;
+  gchar *cur_tag;
+  gchar *end_tag;
+  GRegex *tag_regex;
+  GMatchInfo *match_info;
+  gchar **allowed_tags = (gchar **) allowed_tags_ptr;
 
   g_assert (*p_txt != NULL);
 
@@ -760,33 +772,58 @@
     next_tag = strchr (cur, '<');
     if (next_tag == NULL)
       break;
-    ++next_tag;
-    switch (*next_tag) {
-      case '/':{
-        ++next_tag;
-        if (num_open_tags == 0 || open_tags[num_open_tags - 1] != *next_tag) {
-          GST_LOG ("broken input, closing tag '%c' is not open", *next_tag);
-          memmove (next_tag - 2, next_tag + 2, strlen (next_tag + 2) + 1);
-          next_tag -= 2;
-        } else {
-          /* it's all good, closing tag which is open */
-          --num_open_tags;
+    offset = 0;
+    index = 0;
+    while (index < g_strv_length (allowed_tags)) {
+      iter_tag = allowed_tags[index];
+      /* Look for a white listed tag */
+      cur_tag = g_strconcat ("<", iter_tag, ATTRIBUTE_REGEX, ">", NULL);
+      tag_regex = g_regex_new (cur_tag, 0, 0, NULL);
+      (void) g_regex_match (tag_regex, next_tag, 0, &match_info);
+
+      if (g_match_info_matches (match_info)) {
+        gint start_pos, end_pos;
+        gchar *word = g_match_info_fetch (match_info, 0);
+        g_match_info_fetch_pos (match_info, 0, &start_pos, &end_pos);
+        if (start_pos == 0) {
+          offset = strlen (word);
         }
-        break;
+        g_free (word);
       }
-      case 'i':
-      case 'b':
-      case 'u':
-        if (num_open_tags == G_N_ELEMENTS (open_tags))
-          return;               /* something dodgy is going on, stop parsing */
-        open_tags[num_open_tags] = *next_tag;
+      g_match_info_free (match_info);
+      g_regex_unref (tag_regex);
+      g_free (cur_tag);
+      index++;
+      if (offset) {
+        /* OK we found a tag, let's keep track of it */
+        open_tags[num_open_tags] = g_strdup (iter_tag);
         ++num_open_tags;
         break;
-      default:
-        GST_ERROR ("unexpected tag '%c' (%s)", *next_tag, next_tag);
-        g_assert_not_reached ();
-        break;
+      }
     }
+
+    if (offset) {
+      next_tag += offset;
+      cur = next_tag;
+      continue;
+    }
+
+    if (*next_tag == '<' && *(next_tag + 1) == '/') {
+      end_tag = strchr (cur, '>');
+      if (end_tag) {
+        if (num_open_tags == 0
+            || g_ascii_strncasecmp (end_tag - 1, open_tags[num_open_tags - 1],
+                strlen (open_tags[num_open_tags - 1]))) {
+          GST_LOG ("broken input, closing tag '%s' is not open", next_tag);
+          memmove (next_tag, end_tag + 1, strlen (end_tag) + 1);
+          next_tag -= strlen (end_tag);
+        } else {
+          --num_open_tags;
+          g_free (open_tags[num_open_tags]);
+        }
+      }
+    }
+    ++next_tag;
     cur = next_tag;
   }
 
@@ -795,11 +832,12 @@
 
     s = g_string_new (*p_txt);
     while (num_open_tags > 0) {
-      GST_LOG ("adding missing closing tag '%c'", open_tags[num_open_tags - 1]);
+      GST_LOG ("adding missing closing tag '%s'", open_tags[num_open_tags - 1]);
       g_string_append_c (s, '<');
       g_string_append_c (s, '/');
-      g_string_append_c (s, open_tags[num_open_tags - 1]);
+      g_string_append (s, open_tags[num_open_tags - 1]);
       g_string_append_c (s, '>');
+      g_free (open_tags[num_open_tags - 1]);
       --num_open_tags;
     }
     g_free (*p_txt);
@@ -859,18 +897,105 @@
   return TRUE;
 }
 
+/* cue settings are part of the WebVTT specification. They are
+ * declared after the time interval in the first line of the
+ * cue. Example: 00:00:01,000 --> 00:00:02,000 D:vertical-lr A:start
+ * See also http://www.whatwg.org/specs/web-apps/current-work/webvtt.html
+ */
+static void
+parse_webvtt_cue_settings (ParserState * state, const gchar * settings)
+{
+  gchar **splitted_settings = g_strsplit_set (settings, " \t", -1);
+  gint i = 0;
+  gint16 text_position, text_size;
+  gint16 line_position;
+  gboolean vertical_found = FALSE;
+  gboolean alignment_found = FALSE;
+
+  while (i < g_strv_length (splitted_settings)) {
+    gboolean valid_tag = FALSE;
+    switch (splitted_settings[i][0]) {
+      case 'T':
+        if (sscanf (splitted_settings[i], "T:%" G_GINT16_FORMAT "%%",
+                &text_position) > 0) {
+          state->text_position = (guint8) text_position;
+          valid_tag = TRUE;
+        }
+        break;
+      case 'D':
+        if (strlen (splitted_settings[i]) > 2) {
+          vertical_found = TRUE;
+          state->vertical = g_strdup (splitted_settings[i] + 2);
+          valid_tag = TRUE;
+        }
+        break;
+      case 'L':
+        if (g_str_has_suffix (splitted_settings[i], "%")) {
+          if (sscanf (splitted_settings[i], "L:%" G_GINT16_FORMAT "%%",
+                  &line_position) > 0) {
+            state->line_position = line_position;
+            valid_tag = TRUE;
+          }
+        } else {
+          if (sscanf (splitted_settings[i], "L:%" G_GINT16_FORMAT,
+                  &line_position) > 0) {
+            state->line_number = line_position;
+            valid_tag = TRUE;
+          }
+        }
+        break;
+      case 'S':
+        if (sscanf (splitted_settings[i], "S:%" G_GINT16_FORMAT "%%",
+                &text_size) > 0) {
+          state->text_size = (guint8) text_size;
+          valid_tag = TRUE;
+        }
+        break;
+      case 'A':
+        if (strlen (splitted_settings[i]) > 2) {
+          state->alignment = g_strdup (splitted_settings[i] + 2);
+          alignment_found = TRUE;
+          valid_tag = TRUE;
+        }
+        break;
+      default:
+        break;
+    }
+    if (!valid_tag) {
+      GST_LOG ("Invalid or unrecognised setting found: %s",
+          splitted_settings[i]);
+    }
+    i++;
+  }
+  g_strfreev (splitted_settings);
+  if (!vertical_found)
+    state->vertical = g_strdup ("");
+  if (!alignment_found)
+    state->alignment = g_strdup ("");
+}
+
 static gchar *
 parse_subrip (ParserState * state, const gchar * line)
 {
-  int subnum;
   gchar *ret;
 
   switch (state->state) {
-    case 0:
-      /* looking for a single integer */
-      if (sscanf (line, "%u", &subnum) == 1)
+    case 0:{
+      char *endptr;
+      guint64 id;
+
+      /* looking for a single integer as a Cue ID, but we
+       * don't actually use it */
+      errno = 0;
+      id = g_ascii_strtoull (line, &endptr, 10);
+      if (id == G_MAXUINT64 && errno == ERANGE)
+        state->state = 1;
+      else if (id == 0 && errno == EINVAL)
+        state->state = 1;
+      else if (endptr != line && *endptr == '\0')
         state->state = 1;
       return NULL;
+    }
     case 1:
     {
       GstClockTime ts_start, ts_end;
@@ -917,10 +1042,11 @@
         ret = g_markup_escape_text (state->buf->str, state->buf->len);
         g_string_truncate (state->buf, 0);
         state->state = 0;
-        subrip_unescape_formatting (ret);
+        subrip_unescape_formatting (ret, state->allowed_tags,
+            state->allows_tag_attributes);
         subrip_remove_unhandled_tags (ret);
         strip_trailing_newlines (ret);
-        subrip_fix_up_markup (&ret);
+        subrip_fix_up_markup (&ret, state->allowed_tags);
         return ret;
       }
       return NULL;
@@ -957,6 +1083,54 @@
   return g_strdup (start + 1);
 }
 
+/* WebVTT is a new subtitle format for the upcoming HTML5 video track
+ * element. This format is similar to Subrip, the biggest differences
+ * are that there can be cue settings detailing how to display the cue
+ * text and more markup tags are allowed.
+ * See also http://www.whatwg.org/specs/web-apps/current-work/webvtt.html
+ */
+static gchar *
+parse_webvtt (ParserState * state, const gchar * line)
+{
+  /* Cue IDs are optional in WebVTT, but not in subrip,
+   * so when in state 0 (cue ID), also check if we're
+   * already at the start --> end time marker */
+  if (state->state == 0 || state->state == 1) {
+    GstClockTime ts_start, ts_end;
+    gchar *end_time;
+    gchar *cue_settings = NULL;
+
+    /* looking for start_time --> end_time */
+    if ((end_time = strstr (line, " --> ")) &&
+        parse_subrip_time (line, &ts_start) &&
+        parse_subrip_time (end_time + strlen (" --> "), &ts_end) &&
+        state->start_time <= ts_end) {
+      state->state = 2;
+      state->start_time = ts_start;
+      state->duration = ts_end - ts_start;
+      cue_settings = strstr (end_time + strlen (" --> "), " ");
+    } else {
+      GST_DEBUG ("error parsing subrip time line '%s'", line);
+      state->state = 0;
+    }
+
+    state->text_position = 0;
+    state->text_size = 0;
+    state->line_position = 0;
+    state->line_number = 0;
+
+    if (cue_settings)
+      parse_webvtt_cue_settings (state, cue_settings + 1);
+    else {
+      state->vertical = g_strdup ("");
+      state->alignment = g_strdup ("");
+    }
+
+    return NULL;
+  } else
+    return parse_subrip (state, line);
+}
+
 static void
 unescape_newlines_br (gchar * read)
 {
@@ -1179,6 +1353,7 @@
   state->max_duration = 0;      /* no limit */
   state->state = 0;
   state->segment = NULL;
+  state->allowed_tags = NULL;
 }
 
 static void
@@ -1200,6 +1375,7 @@
         break;
     }
   }
+  state->allowed_tags = NULL;
 }
 
 /* regex type enum */
@@ -1209,6 +1385,7 @@
   GST_SUB_PARSE_REGEX_MDVDSUB = 1,
   GST_SUB_PARSE_REGEX_SUBRIP = 2,
   GST_SUB_PARSE_REGEX_DKS = 3,
+  GST_SUB_PARSE_REGEX_VTT = 4,
 } GstSubParseRegex;
 
 static gpointer
@@ -1245,6 +1422,16 @@
         g_clear_error (&gerr);
       }
       break;
+    case GST_SUB_PARSE_REGEX_VTT:
+      result = (gpointer)
+          g_regex_new ("^(\\xef\\xbb\\xbf)?WEBVTT[\\xa\\xd\\x20\\x9]", 0, 0,
+          &gerr);
+      if (result == NULL) {
+        g_warning ("Compilation of vtt regex failed: %s", gerr->message);
+        g_error_free (gerr);
+      }
+      break;
+
     default:
       GST_WARNING ("Trying to allocate regex of unknown type %u", regtype);
   }
@@ -1265,10 +1452,12 @@
   static GOnce mdvd_rx_once = G_ONCE_INIT;
   static GOnce subrip_rx_once = G_ONCE_INIT;
   static GOnce dks_rx_once = G_ONCE_INIT;
+  static GOnce vtt_rx_once = G_ONCE_INIT;
 
   GRegex *mdvd_grx;
   GRegex *subrip_grx;
   GRegex *dks_grx;
+  GRegex *vtt_grx;
 
   g_once (&mdvd_rx_once,
       (GThreadFunc) gst_sub_parse_data_format_autodetect_regex_once,
@@ -1279,10 +1468,14 @@
   g_once (&dks_rx_once,
       (GThreadFunc) gst_sub_parse_data_format_autodetect_regex_once,
       (gpointer) GST_SUB_PARSE_REGEX_DKS);
+  g_once (&vtt_rx_once,
+      (GThreadFunc) gst_sub_parse_data_format_autodetect_regex_once,
+      (gpointer) GST_SUB_PARSE_REGEX_VTT);
 
   mdvd_grx = (GRegex *) mdvd_rx_once.retval;
   subrip_grx = (GRegex *) subrip_rx_once.retval;
   dks_grx = (GRegex *) dks_rx_once.retval;
+  vtt_grx = (GRegex *) vtt_rx_once.retval;
 
   if (g_regex_match (mdvd_grx, match_str, 0, NULL)) {
     GST_LOG ("MicroDVD (frame based) format detected");
@@ -1296,6 +1489,10 @@
     GST_LOG ("DKS (time based) format detected");
     return GST_SUB_PARSE_FORMAT_DKS;
   }
+  if (g_regex_match (vtt_grx, match_str, 0, NULL) == TRUE) {
+    GST_LOG ("WebVTT (time based) format detected");
+    return GST_SUB_PARSE_FORMAT_VTT;
+  }
 
   if (!strncmp (match_str, "FORMAT=TIME", 11)) {
     GST_LOG ("MPSub (time based) format detected");
@@ -1385,6 +1582,8 @@
       return gst_caps_new_simple ("text/x-raw",
           "format", G_TYPE_STRING, "pango-markup", NULL);
     case GST_SUB_PARSE_FORMAT_SUBRIP:
+      self->state.allowed_tags = (gpointer) allowed_srt_tags;
+      self->state.allows_tag_attributes = FALSE;
       self->parse_line = parse_subrip;
       return gst_caps_new_simple ("text/x-raw",
           "format", G_TYPE_STRING, "pango-markup", NULL);
@@ -1410,6 +1609,12 @@
       self->parse_line = parse_dks;
       return gst_caps_new_simple ("text/x-raw",
           "format", G_TYPE_STRING, "utf8", NULL);
+    case GST_SUB_PARSE_FORMAT_VTT:
+      self->state.allowed_tags = (gpointer) allowed_vtt_tags;
+      self->state.allows_tag_attributes = TRUE;
+      self->parse_line = parse_webvtt;
+      return gst_caps_new_simple ("text/x-raw",
+          "format", G_TYPE_STRING, "pango-markup", NULL);
     case GST_SUB_PARSE_FORMAT_SUBVIEWER:
       self->parse_line = parse_subviewer;
       return gst_caps_new_simple ("text/x-raw",
@@ -1541,7 +1746,8 @@
     /* Set segment on our parser state machine */
     self->state.segment = &self->segment;
     /* Now parse the line, out of segment lines will just return NULL */
-    GST_LOG_OBJECT (self, "Parsing line '%s'", line + offset);
+    GST_LOG_OBJECT (self, "State %d. Parsing line '%s'", self->state.state,
+        line + offset);
     subtitle = self->parse_line (&self->state, line + offset);
     g_free (line);
 
@@ -1574,6 +1780,8 @@
           GST_TIME_FORMAT, subtitle, GST_TIME_ARGS (self->state.start_time),
           GST_TIME_ARGS (self->state.duration));
 
+      g_free (self->state.vertical);
+      g_free (self->state.alignment);
       ret = gst_pad_push (self->srcpad, buf);
 
       /* move this forward (the tmplayer parser needs this) */
@@ -1740,6 +1948,9 @@
 static GstStaticCaps dks_caps = GST_STATIC_CAPS ("application/x-subtitle-dks");
 #define DKS_CAPS (gst_static_caps_get (&dks_caps))
 
+static GstStaticCaps vtt_caps = GST_STATIC_CAPS ("application/x-subtitle-vtt");
+#define VTT_CAPS (gst_static_caps_get (&vtt_caps))
+
 static GstStaticCaps qttext_caps =
 GST_STATIC_CAPS ("application/x-subtitle-qttext");
 #define QTTEXT_CAPS (gst_static_caps_get (&qttext_caps))
@@ -1851,6 +2062,10 @@
       GST_DEBUG ("LRC format detected");
       caps = LRC_CAPS;
       break;
+    case GST_SUB_PARSE_FORMAT_VTT:
+      GST_DEBUG ("WebVTT format detected");
+      caps = VTT_CAPS;
+      break;
     default:
     case GST_SUB_PARSE_FORMAT_UNKNOWN:
       GST_DEBUG ("no subtitle format detected");
@@ -1867,8 +2082,8 @@
   GST_DEBUG_CATEGORY_INIT (sub_parse_debug, "subparse", 0, ".sub parser");
 
   if (!gst_type_find_register (plugin, "subparse_typefind", GST_RANK_MARGINAL,
-          gst_subparse_type_find, "srt,sub,mpsub,mdvd,smi,txt,dks", SUB_CAPS,
-          NULL, NULL))
+          gst_subparse_type_find, "srt,sub,mpsub,mdvd,smi,txt,dks,vtt",
+          SUB_CAPS, NULL, NULL))
     return FALSE;
 
   if (!gst_element_register (plugin, "subparse",
diff --git a/gst/subparse/gstsubparse.h b/gst/subparse/gstsubparse.h
index 012aee6..64aab34 100644
--- a/gst/subparse/gstsubparse.h
+++ b/gst/subparse/gstsubparse.h
@@ -56,7 +56,8 @@
   GST_SUB_PARSE_FORMAT_SUBVIEWER = 7,
   GST_SUB_PARSE_FORMAT_DKS = 8,
   GST_SUB_PARSE_FORMAT_QTTEXT = 9,
-  GST_SUB_PARSE_FORMAT_LRC = 10
+  GST_SUB_PARSE_FORMAT_LRC = 10,
+  GST_SUB_PARSE_FORMAT_VTT = 11
 } GstSubParseFormat;
 
 typedef struct {
@@ -69,6 +70,14 @@
   gpointer user_data;
   gboolean have_internal_fps; /* If TRUE don't overwrite fps by property */
   gint fps_n, fps_d;     /* used by frame based parsers */
+  guint8 line_position;          /* percent value */
+  gint line_number;              /* line number, can be positive or negative */
+  guint8 text_position;          /* percent value */
+  guint8 text_size;          /* percent value */
+  gchar *vertical;        /* "", "vertical", "vertical-lr" */
+  gchar *alignment;       /* "", "start", "middle", "end" */
+  gconstpointer allowed_tags; /* list of markup tags allowed in the cue text. */
+  gboolean allows_tag_attributes;
 } ParserState;
 
 typedef gchar* (*Parser) (ParserState *state, const gchar *line);
diff --git a/gst/tcp/gstmultihandlesink.c b/gst/tcp/gstmultihandlesink.c
index 8a99e00..f060f0e 100644
--- a/gst/tcp/gstmultihandlesink.c
+++ b/gst/tcp/gstmultihandlesink.c
@@ -456,8 +456,7 @@
       G_STRUCT_OFFSET (GstMultiHandleSinkClass, clear), NULL, NULL,
       g_cclosure_marshal_generic, G_TYPE_NONE, 0);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Multi socket sink", "Sink/Network",
@@ -2222,9 +2221,16 @@
   sink = GST_MULTI_HANDLE_SINK (element);
 
   /* we disallow changing the state from the streaming thread */
-  if (g_thread_self () == sink->thread)
-    return GST_STATE_CHANGE_FAILURE;
+  if (g_thread_self () == sink->thread) {
+    g_warning
+        ("\nTrying to change %s's state from its streaming thread would deadlock.\n"
+        "You cannot change the state of an element from its streaming\n"
+        "thread. Use g_idle_add() or post a GstMessage on the bus to\n"
+        "schedule the state change from the main thread.\n",
+        GST_ELEMENT_NAME (sink));
 
+    return GST_STATE_CHANGE_FAILURE;
+  }
 
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
diff --git a/gst/tcp/gstsocketsrc.c b/gst/tcp/gstsocketsrc.c
index bb85402..e22c071 100644
--- a/gst/tcp/gstsocketsrc.c
+++ b/gst/tcp/gstsocketsrc.c
@@ -153,8 +153,7 @@
       G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstSocketSrcClass,
           connection_closed_by_peer), NULL, NULL, NULL, G_TYPE_NONE, 0);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "socket source", "Source/Network",
diff --git a/gst/tcp/gsttcpclientsink.c b/gst/tcp/gsttcpclientsink.c
index d23ded4..5e96e76 100644
--- a/gst/tcp/gsttcpclientsink.c
+++ b/gst/tcp/gsttcpclientsink.c
@@ -114,8 +114,7 @@
           0, TCP_HIGHEST_PORT, TCP_DEFAULT_PORT,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "TCP client sink", "Sink/Network",
diff --git a/gst/tcp/gsttcpclientsrc.c b/gst/tcp/gsttcpclientsrc.c
index 776ff42..7ebe75a 100644
--- a/gst/tcp/gsttcpclientsrc.c
+++ b/gst/tcp/gsttcpclientsrc.c
@@ -109,8 +109,7 @@
           TCP_HIGHEST_PORT, TCP_DEFAULT_PORT,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "TCP client source", "Source/Network",
diff --git a/gst/tcp/gsttcpserversrc.c b/gst/tcp/gsttcpserversrc.c
index 72efb86..6ac29a7 100644
--- a/gst/tcp/gsttcpserversrc.c
+++ b/gst/tcp/gsttcpserversrc.c
@@ -122,8 +122,7 @@
           "The port number the socket is currently bound to", 0,
           TCP_HIGHEST_PORT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&srctemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "TCP server source", "Source/Network",
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c
index 63e1de9..353525a 100644
--- a/gst/typefind/gsttypefindfunctions.c
+++ b/gst/typefind/gsttypefindfunctions.c
@@ -4615,6 +4615,41 @@
   }
 }
 
+/*** WEBVTTT subtitles ***/
+static GstStaticCaps webvtt_caps =
+GST_STATIC_CAPS ("application/x-subtitle-vtt, parsed=(boolean)false");
+#define WEBVTT_CAPS (gst_static_caps_get(&webvtt_caps))
+
+static void
+webvtt_type_find (GstTypeFind * tf, gpointer private)
+{
+  const guint8 *data;
+
+  data = gst_type_find_peek (tf, 0, 9);
+
+  if (data == NULL)
+    return;
+
+  /* there might be a UTF-8 BOM at the beginning */
+  if (memcmp (data, "WEBVTT", 6) != 0 && memcmp (data + 3, "WEBVTT", 6) != 0) {
+    return;
+  }
+
+  if (data[0] != 'W') {
+    if (data[0] != 0xef || data[1] != 0xbb || data[2] != 0xbf)
+      return;                   /* Not a UTF-8 BOM */
+    data += 3;
+  }
+
+  /* After the WEBVTT magic must be one of these chars:
+   *   0x20 (space), 0x9 (tab), 0xa (LF) or 0xd (CR) */
+  if (data[6] != 0x20 && data[6] != 0x9 && data[6] != 0xa && data[6] != 0xd) {
+    return;
+  }
+
+  gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, WEBVTT_CAPS);
+}
+
 /*** application/x-ogm-video or audio***/
 
 static GstStaticCaps ogmvideo_caps =
@@ -5737,6 +5772,8 @@
       GST_RANK_SECONDARY, "Z", "\037\235", 2, GST_TYPE_FIND_LIKELY);
   TYPE_FIND_REGISTER (plugin, "subtitle/x-kate", GST_RANK_MARGINAL,
       kate_type_find, NULL, NULL, NULL, NULL);
+  TYPE_FIND_REGISTER (plugin, "application/x-subtitle-vtt", GST_RANK_MARGINAL,
+      webvtt_type_find, "vtt", WEBVTT_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "audio/x-flac", GST_RANK_PRIMARY, flac_type_find,
       "flac", FLAC_CAPS, NULL, NULL);
   TYPE_FIND_REGISTER (plugin, "audio/x-vorbis", GST_RANK_PRIMARY,
diff --git a/gst/videoconvert/gstvideoconvert.c b/gst/videoconvert/gstvideoconvert.c
index 66e388c..b69cd07 100644
--- a/gst/videoconvert/gstvideoconvert.c
+++ b/gst/videoconvert/gstvideoconvert.c
@@ -511,10 +511,10 @@
   gobject_class->get_property = gst_video_convert_get_property;
   gobject_class->finalize = gst_video_convert_finalize;
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_video_convert_src_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_video_convert_sink_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_video_convert_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_video_convert_sink_template);
 
   gst_element_class_set_static_metadata (gstelement_class,
       "Colorspace converter", "Filter/Converter/Video",
diff --git a/gst/videorate/gstvideorate.c b/gst/videorate/gstvideorate.c
index 4a815d5..633c19f 100644
--- a/gst/videorate/gstvideorate.c
+++ b/gst/videorate/gstvideorate.c
@@ -255,10 +255,10 @@
       "Drops/duplicates/adjusts timestamps on video frames to make a perfect stream",
       "Wim Taymans <wim@fluendo.com>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_video_rate_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_video_rate_src_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_video_rate_sink_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_video_rate_src_template);
 }
 
 static void
@@ -608,8 +608,12 @@
   if (!videorate->prevbuf)
     goto eos_before_buffers;
 
+  outbuf = gst_buffer_ref (videorate->prevbuf);
+  if (videorate->drop_only)
+    gst_buffer_replace (&videorate->prevbuf, NULL);
+
   /* make sure we can write to the metadata */
-  outbuf = gst_buffer_make_writable (gst_buffer_ref (videorate->prevbuf));
+  outbuf = gst_buffer_make_writable (outbuf);
 
   GST_BUFFER_OFFSET (outbuf) = videorate->out;
   GST_BUFFER_OFFSET_END (outbuf) = videorate->out + 1;
@@ -716,10 +720,11 @@
         /* fill up to the end of current segment,
          * or only send out the stored buffer if there is no specific stop.
          * regardless, prevent going loopy in strange cases */
-        while (res == GST_FLOW_OK && count <= MAGIC_LIMIT &&
-            ((GST_CLOCK_TIME_IS_VALID (videorate->segment.stop) &&
-                    videorate->next_ts - videorate->segment.base
-                    < videorate->segment.stop)
+        while (res == GST_FLOW_OK && count <= MAGIC_LIMIT
+            && !videorate->drop_only
+            && ((GST_CLOCK_TIME_IS_VALID (videorate->segment.stop)
+                    && videorate->next_ts - videorate->segment.base <
+                    videorate->segment.stop)
                 || count < 1)) {
           res = gst_video_rate_flush_prev (videorate, count > 0);
           count++;
@@ -755,14 +760,15 @@
         /* fill up to the end of current segment,
          * or only send out the stored buffer if there is no specific stop.
          * regardless, prevent going loopy in strange cases */
-        while (res == GST_FLOW_OK && count <= MAGIC_LIMIT &&
-            ((videorate->next_ts - videorate->segment.base <
+        while (res == GST_FLOW_OK && count <= MAGIC_LIMIT
+            && !videorate->drop_only
+            && ((videorate->next_ts - videorate->segment.base <
                     videorate->segment.stop)
                 || count < 1)) {
           res = gst_video_rate_flush_prev (videorate, count > 0);
           count++;
         }
-      } else if (videorate->prevbuf) {
+      } else if (!videorate->drop_only && videorate->prevbuf) {
         /* Output at least one frame but if the buffer duration is valid, output
          * enough frames to use the complete buffer duration */
         if (GST_BUFFER_DURATION_IS_VALID (videorate->prevbuf)) {
@@ -1223,9 +1229,6 @@
         }
       }
 
-      /* Do not produce any dups. We can exit loop now */
-      if (videorate->drop_only)
-        break;
       /* continue while the first one was the best, if they were equal avoid
        * going into an infinite loop */
     }
diff --git a/gst/videotestsrc/gstvideotestsrc.c b/gst/videotestsrc/gstvideotestsrc.c
index a1620f9..3d5c1e4 100644
--- a/gst/videotestsrc/gstvideotestsrc.c
+++ b/gst/videotestsrc/gstvideotestsrc.c
@@ -279,8 +279,8 @@
       "Video test source", "Source/Video",
       "Creates a test video stream", "David A. Schleef <ds@schleef.org>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_video_test_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_video_test_src_template);
 
   gstbasesrc_class->set_caps = gst_video_test_src_setcaps;
   gstbasesrc_class->fixate = gst_video_test_src_src_fixate;
diff --git a/po/af.gmo b/po/af.gmo
index da08440..6553704 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 6da8042..33e9fb7 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2004-03-18 14:16+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -227,6 +227,9 @@
 msgid "Kate subtitle format"
 msgstr ""
 
+msgid "WebVTT subtitle format"
+msgstr ""
+
 msgid "Uncompressed video"
 msgstr ""
 
@@ -393,6 +396,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/az.gmo b/po/az.gmo
index fe84023..561e8e0 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index c74e97b..33397aa 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2004-03-19 18:29+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
@@ -228,6 +228,9 @@
 msgid "Kate subtitle format"
 msgstr ""
 
+msgid "WebVTT subtitle format"
+msgstr ""
+
 msgid "Uncompressed video"
 msgstr ""
 
@@ -394,6 +397,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 9bcc74d..5d3f677 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 97decef..570edf9 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-02-21 21:03+0200\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@ludost.net>\n"
@@ -224,6 +224,10 @@
 msgid "Kate subtitle format"
 msgstr "Субтитри, формат Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Субтитри, формат Kate"
+
 msgid "Uncompressed video"
 msgstr "Некомпресирано видео"
 
@@ -390,6 +394,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Фокусно разстояние на обектива при заснемане в милиметри"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "фокусно разстояние"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Фокусно разстояние на обектива при заснемане в милиметри"
+
 msgid "capturing digital zoom ratio"
 msgstr "цифрово увеличение"
 
diff --git a/po/ca.gmo b/po/ca.gmo
index b2f2736..73959f2 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index edcb939..9ae864d 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2012-01-01 14:19+0100\n"
 "Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -232,6 +232,10 @@
 msgstr "Format de subtítols Kate"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Format de subtítols Kate"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "YUV sense comprimir"
 
@@ -400,6 +404,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Longitud focal de la lent utilitzada en capturar la imatge, en mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "longitud focal de la captura"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Longitud focal de la lent utilitzada en capturar la imatge, en mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "relació de zoom digital de la captura"
 
diff --git a/po/cs.gmo b/po/cs.gmo
index d438201..40799c9 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index a34545b..a3ea0f5 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-03 15:35+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -225,6 +225,10 @@
 msgid "Kate subtitle format"
 msgstr "Formát titulků Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Formát titulků Kate"
+
 msgid "Uncompressed video"
 msgstr "Nekomprimované video"
 
@@ -391,6 +395,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Ohnisková vzdálenost čoček použitá při záchytávání obrazu, v mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "ohnisková vzdálenost při zachytávání"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Ohnisková vzdálenost čoček použitá při záchytávání obrazu, v mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "stupeň digitálního přiblížení při zachytávání"
 
diff --git a/po/da.gmo b/po/da.gmo
index 83bf4a3..bb11666 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 510423a..76ac7b0 100644
--- a/po/da.po
+++ b/po/da.po
@@ -33,7 +33,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-27 16:38+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -246,6 +246,10 @@
 msgid "Kate subtitle format"
 msgstr "Kate-undertekstformat"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate-undertekstformat"
+
 msgid "Uncompressed video"
 msgstr "Ukomprimeret video"
 
@@ -418,6 +422,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Brændvidde på linse brugt under optagelse af billedet, i mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "brændvidde for optager"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Brændvidde på linse brugt under optagelse af billedet, i mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "digitalt zoomforhold for optager"
 
diff --git a/po/de.gmo b/po/de.gmo
index bc2e6f1..28b84a2 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index aefc7c0..35d8e3e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-02-22 23:44+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -226,6 +226,10 @@
 msgid "Kate subtitle format"
 msgstr "Untertitel-Format Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Untertitel-Format Kate"
+
 msgid "Uncompressed video"
 msgstr "Unkomprimiertes Video"
 
@@ -393,6 +397,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Die verwendete Brennweite des Objektivs bei Bildaufnahme in mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "Brennweite"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Die verwendete Brennweite des Objektivs bei Bildaufnahme in mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "Digitale Vergrößerung"
 
diff --git a/po/el.gmo b/po/el.gmo
index b614d8d..9de11f0 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 4a9305a..f8fbbec 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2012-05-05 19:13+0100\n"
 "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -230,6 +230,10 @@
 msgstr "Μορφή υποτίτλων Kate"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Μορφή υποτίτλων Kate"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "Ασυμπίεστο YUV"
 
@@ -402,6 +406,17 @@
 "Το εστιακό μήκος του φακού που χρησιμοποιήθηκε κατά τη λήψη της εικόνας, σε "
 "mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "εστιακό μήκος λήψης"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+"Το εστιακό μήκος του φακού που χρησιμοποιήθηκε κατά τη λήψη της εικόνας, σε "
+"mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "λόγος ψηφιακού ζουμ λήψης"
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 42ea0e2..a23aee5 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 0678261..1410d7c 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2004-04-26 10:41-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
@@ -226,6 +226,9 @@
 msgid "Kate subtitle format"
 msgstr ""
 
+msgid "WebVTT subtitle format"
+msgstr ""
+
 msgid "Uncompressed video"
 msgstr ""
 
@@ -392,6 +395,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/eo.gmo b/po/eo.gmo
index 68ffb96..712fef3 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index e46abf8..5b6f7f4 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2011-06-04 21:11+0100\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -222,6 +222,9 @@
 msgid "Kate subtitle format"
 msgstr ""
 
+msgid "WebVTT subtitle format"
+msgstr ""
+
 msgid "Uncompressed video"
 msgstr ""
 
@@ -388,6 +391,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 0c573c1..12b8e9e 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index b7085f1..1956a76 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2011-10-02 15:46+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -227,6 +227,10 @@
 msgstr "Formato de subtítulos kate"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Formato de subtítulos kate"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "YUV sin comprimir"
 
@@ -395,6 +399,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Longitud focal de la lente usada al tomar la imagen, en mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "longitud focal de la toma"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Longitud focal de la lente usada al tomar la imagen, en mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "tasa de ampliación digital de la toma"
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 78ed85b..22d2cea 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 7394d09..25e9809 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2010-03-25 12:32+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -230,6 +230,10 @@
 msgstr "'Kate' azpititulu-formatua"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "'Kate' azpititulu-formatua"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "Konprimitu gabeko YUV"
 
@@ -398,6 +402,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/fi.gmo b/po/fi.gmo
index 9bcadd8..d2bbe3d 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index d84432a..76376e6 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2010-12-31 23:21+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -230,6 +230,10 @@
 msgstr "Kate-tekstitysmuoto"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate-tekstitysmuoto"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "Pakkaamaton YUV"
 
@@ -398,6 +402,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Linssin polttoväli kuvattaessa, millimetriä"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "kuvaamisen polttoväli"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Linssin polttoväli kuvattaessa, millimetriä"
+
 msgid "capturing digital zoom ratio"
 msgstr "kuvaamisen digitaalinen zoomaus"
 
diff --git a/po/fr.gmo b/po/fr.gmo
index 9197a89..4efd72c 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index d58ccdf..3d11808 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-04 13:08+0100\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -234,6 +234,10 @@
 msgid "Kate subtitle format"
 msgstr "Format de sous-titres Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Format de sous-titres Kate"
+
 msgid "Uncompressed video"
 msgstr "Video non compressée"
 
@@ -402,6 +406,16 @@
 msgstr ""
 "Distance focale de l’optique utilisée pour la capture de l’image (en mm)"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "distance focale de la capture"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+"Distance focale de l’optique utilisée pour la capture de l’image (en mm)"
+
 msgid "capturing digital zoom ratio"
 msgstr "valeur du zoom numérique de la capture"
 
diff --git a/po/gl.gmo b/po/gl.gmo
index b80537d..3fc23c1 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 2a458a2..3ea5704 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2012-12-15 03:40+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -228,6 +228,10 @@
 msgid "Kate subtitle format"
 msgstr "Formato de subtítulos Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Formato de subtítulos Kate"
+
 msgid "Uncompressed video"
 msgstr "Vídeo sen comprimir"
 
@@ -394,6 +398,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Lonxitude focal da lente usada ao tomar a imaxe, en mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "lonxitude focal da toma"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Lonxitude focal da lente usada ao tomar a imaxe, en mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "taxa de ampliación dixital da toma"
 
diff --git a/po/gst-plugins-base-1.0.pot b/po/gst-plugins-base-1.0.pot
index ee05c66..96db078 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.8.2\n"
+"Project-Id-Version: gst-plugins-base 1.9.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -39,7 +39,7 @@
 msgid "Could not open audio device for playback."
 msgstr ""
 
-#: ext/alsa/gstalsasink.c:1082
+#: ext/alsa/gstalsasink.c:1074
 msgid "Error outputting to audio device. The device has been disconnected."
 msgstr ""
 
@@ -66,7 +66,7 @@
 msgid "Could not open audio device for recording."
 msgstr ""
 
-#: ext/alsa/gstalsasrc.c:996
+#: ext/alsa/gstalsasrc.c:988
 msgid "Error recording from audio device. The device has been disconnected."
 msgstr ""
 
@@ -82,123 +82,123 @@
 msgid "Could not read CD."
 msgstr ""
 
-#: ext/ogg/gstoggdemux.c:4859
+#: ext/ogg/gstoggdemux.c:4860
 msgid "Internal data stream error."
 msgstr ""
 
-#: gst/encoding/gstencodebin.c:1591 gst/playback/gstplaybin2.c:3363
-#: gst/playback/gstplaysink.c:1483 gst/playback/gstplaysink.c:1496
-#: gst/playback/gstplaysink.c:1833 gst/playback/gstplaysink.c:1865
-#: gst/playback/gstplaysink.c:2445 gst/playback/gstplaysink.c:2494
-#: gst/playback/gstplaysink.c:2509 gst/playback/gstplaysink.c:2534
-#: gst/playback/gstplaysink.c:2566 gst/playback/gstplaysink.c:2714
-#: gst/playback/gstplaysink.c:2745 gst/playback/gstplaysink.c:3123
-#: gst/playback/gstplaysink.c:3132 gst/playback/gstplaysink.c:3141
-#: gst/playback/gstplaysink.c:3150 gst/playback/gstplaysink.c:3553
-#: gst/playback/gstplaysink.c:4427 gst/playback/gstplaysinkconvertbin.c:97
-#: gst/playback/gstplaysinkconvertbin.c:117 gst/playback/gsturidecodebin.c:1490
+#: gst/encoding/gstencodebin.c:1590 gst/playback/gstplaybin2.c:3401
+#: gst/playback/gstplaysink.c:1480 gst/playback/gstplaysink.c:1493
+#: gst/playback/gstplaysink.c:1830 gst/playback/gstplaysink.c:1862
+#: gst/playback/gstplaysink.c:2442 gst/playback/gstplaysink.c:2491
+#: gst/playback/gstplaysink.c:2506 gst/playback/gstplaysink.c:2531
+#: gst/playback/gstplaysink.c:2563 gst/playback/gstplaysink.c:2711
+#: gst/playback/gstplaysink.c:2742 gst/playback/gstplaysink.c:3120
+#: gst/playback/gstplaysink.c:3129 gst/playback/gstplaysink.c:3138
+#: gst/playback/gstplaysink.c:3147 gst/playback/gstplaysink.c:3550
+#: gst/playback/gstplaysink.c:4424 gst/playback/gstplaysinkconvertbin.c:97
+#: gst/playback/gstplaysinkconvertbin.c:117 gst/playback/gsturidecodebin.c:1489
 #, c-format
 msgid "Missing element '%s' - check your GStreamer installation."
 msgstr ""
 
-#: gst/playback/gstdecodebin2.c:1883
+#: gst/playback/gstdecodebin2.c:1893
 msgid "Could not determine type of stream"
 msgstr ""
 
-#: gst/playback/gstdecodebin2.c:2839
+#: gst/playback/gstdecodebin2.c:2867
 msgid "This appears to be a text file"
 msgstr ""
 
-#: gst/playback/gstplaybin2.c:5408
+#: gst/playback/gstplaybin2.c:5446
 msgid "Could not create \"uridecodebin\" element."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1964
+#: gst/playback/gstplaysink.c:1961
 #, c-format
 msgid "Both autovideosink and %s elements are missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1968
+#: gst/playback/gstplaysink.c:1965
 msgid "The autovideosink element is missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1973
+#: gst/playback/gstplaysink.c:1970
 #, c-format
 msgid "Configured videosink %s is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1977
+#: gst/playback/gstplaysink.c:1974
 #, c-format
 msgid "Both autovideosink and %s elements are not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:1981
+#: gst/playback/gstplaysink.c:1978
 msgid "The autovideosink element is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2482
+#: gst/playback/gstplaysink.c:2479
 msgid "Custom text sink element is not usable."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2860
+#: gst/playback/gstplaysink.c:2857
 msgid "No volume control found"
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2890
+#: gst/playback/gstplaysink.c:2887
 #, c-format
 msgid "Both autoaudiosink and %s elements are missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2894
+#: gst/playback/gstplaysink.c:2891
 msgid "The autoaudiosink element is missing."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2899
+#: gst/playback/gstplaysink.c:2896
 #, c-format
 msgid "Configured audiosink %s is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2903
+#: gst/playback/gstplaysink.c:2900
 #, c-format
 msgid "Both autoaudiosink and %s elements are not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:2907
+#: gst/playback/gstplaysink.c:2904
 msgid "The autoaudiosink element is not working."
 msgstr ""
 
-#: gst/playback/gstplaysink.c:3226 gst/playback/gstplaysink.c:3231
+#: gst/playback/gstplaysink.c:3223 gst/playback/gstplaysink.c:3228
 msgid "Can't play a text file without video or visualizations."
 msgstr ""
 
-#: gst/playback/gsturidecodebin.c:939
+#: gst/playback/gsturidecodebin.c:938
 #, c-format
 msgid "No decoder available for type '%s'."
 msgstr ""
 
-#: gst/playback/gsturidecodebin.c:1396
+#: gst/playback/gsturidecodebin.c:1395
 msgid "No URI specified to play from."
 msgstr ""
 
-#: gst/playback/gsturidecodebin.c:1402
+#: gst/playback/gsturidecodebin.c:1401
 #, c-format
 msgid "Invalid URI \"%s\"."
 msgstr ""
 
-#: gst/playback/gsturidecodebin.c:1409
+#: gst/playback/gsturidecodebin.c:1408
 msgid "This stream type cannot be played yet."
 msgstr ""
 
-#: gst/playback/gsturidecodebin.c:1427
+#: gst/playback/gsturidecodebin.c:1426
 #, c-format
 msgid "No URI handler implemented for \"%s\"."
 msgstr ""
 
-#: gst/playback/gsturidecodebin.c:2300
+#: gst/playback/gsturidecodebin.c:2299
 msgid "Source element is invalid."
 msgstr ""
 
-#: gst/tcp/gsttcpclientsink.c:215
+#: gst/tcp/gsttcpclientsink.c:214
 #, c-format
 msgid "Error while sending data to \"%s:%d\"."
 msgstr ""
@@ -289,127 +289,131 @@
 msgid "Kate subtitle format"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:452
-#: gst-libs/gst/pbutils/descriptions.c:455
-#: gst-libs/gst/pbutils/descriptions.c:505
+#: gst-libs/gst/pbutils/descriptions.c:290
+msgid "WebVTT subtitle format"
+msgstr ""
+
+#: gst-libs/gst/pbutils/descriptions.c:453
+#: gst-libs/gst/pbutils/descriptions.c:456
+#: gst-libs/gst/pbutils/descriptions.c:506
 msgid "Uncompressed video"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:460
+#: gst-libs/gst/pbutils/descriptions.c:461
 msgid "Uncompressed gray"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:483
+#: gst-libs/gst/pbutils/descriptions.c:484
 #, c-format
 msgid "Uncompressed packed YUV %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:485
+#: gst-libs/gst/pbutils/descriptions.c:486
 #, c-format
 msgid "Uncompressed semi-planar YUV %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:487
+#: gst-libs/gst/pbutils/descriptions.c:488
 #, c-format
 msgid "Uncompressed planar YUV %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:498
+#: gst-libs/gst/pbutils/descriptions.c:499
 #, c-format
 msgid "Uncompressed palettized %d-bit %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:501
+#: gst-libs/gst/pbutils/descriptions.c:502
 #, c-format
 msgid "Uncompressed %d-bit %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:583
+#: gst-libs/gst/pbutils/descriptions.c:584
 #, c-format
 msgid "DivX MPEG-4 Version %d"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:830
+#: gst-libs/gst/pbutils/descriptions.c:831
 msgid "Uncompressed audio"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:836
+#: gst-libs/gst/pbutils/descriptions.c:837
 #, c-format
 msgid "Raw %d-bit %s audio"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:936
+#: gst-libs/gst/pbutils/descriptions.c:937
 msgid "Audio CD source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:939
+#: gst-libs/gst/pbutils/descriptions.c:940
 msgid "DVD source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:942
+#: gst-libs/gst/pbutils/descriptions.c:943
 msgid "Real Time Streaming Protocol (RTSP) source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:946
+#: gst-libs/gst/pbutils/descriptions.c:947
 msgid "Microsoft Media Server (MMS) protocol source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:954
+#: gst-libs/gst/pbutils/descriptions.c:955
 #, c-format
 msgid "%s protocol source"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1026
+#: gst-libs/gst/pbutils/descriptions.c:1027
 #, c-format
 msgid "%s video RTP depayloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1028
+#: gst-libs/gst/pbutils/descriptions.c:1029
 #, c-format
 msgid "%s audio RTP depayloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1030
+#: gst-libs/gst/pbutils/descriptions.c:1031
 #, c-format
 msgid "%s RTP depayloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1037
+#: gst-libs/gst/pbutils/descriptions.c:1038
 #, c-format
 msgid "%s demuxer"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1039
+#: gst-libs/gst/pbutils/descriptions.c:1040
 #, c-format
 msgid "%s decoder"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1077
+#: gst-libs/gst/pbutils/descriptions.c:1078
 #, c-format
 msgid "%s video RTP payloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1079
+#: gst-libs/gst/pbutils/descriptions.c:1080
 #, c-format
 msgid "%s audio RTP payloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1081
+#: gst-libs/gst/pbutils/descriptions.c:1082
 #, c-format
 msgid "%s RTP payloader"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1088
+#: gst-libs/gst/pbutils/descriptions.c:1089
 #, c-format
 msgid "%s muxer"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1090
+#: gst-libs/gst/pbutils/descriptions.c:1091
 #, c-format
 msgid "%s encoder"
 msgstr ""
 
-#: gst-libs/gst/pbutils/descriptions.c:1122
+#: gst-libs/gst/pbutils/descriptions.c:1123
 #, c-format
 msgid "GStreamer element %s"
 msgstr ""
@@ -438,7 +442,7 @@
 msgid "Plugin or element of unknown type"
 msgstr ""
 
-#: gst-libs/gst/tag/gsttagdemux.c:1259
+#: gst-libs/gst/tag/gsttagdemux.c:1271
 msgid "Failed to read tag: not enough data"
 msgstr ""
 
@@ -506,156 +510,165 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:122
+#: gst-libs/gst/tag/tags.c:123
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+#: gst-libs/gst/tag/tags.c:124
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
+#: gst-libs/gst/tag/tags.c:128
 msgid "capturing digital zoom ratio"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:123
+#: gst-libs/gst/tag/tags.c:129
 msgid "Digital zoom ratio used when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:126
+#: gst-libs/gst/tag/tags.c:132
 msgid "capturing iso speed"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:127
+#: gst-libs/gst/tag/tags.c:133
 msgid "The ISO speed used when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:130
+#: gst-libs/gst/tag/tags.c:136
 msgid "capturing exposure program"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:131
+#: gst-libs/gst/tag/tags.c:137
 msgid "The exposure program used when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:134
+#: gst-libs/gst/tag/tags.c:140
 msgid "capturing exposure mode"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:135
+#: gst-libs/gst/tag/tags.c:141
 msgid "The exposure mode used when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:138
+#: gst-libs/gst/tag/tags.c:144
 msgid "capturing exposure compensation"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:139
+#: gst-libs/gst/tag/tags.c:145
 msgid "The exposure compensation used when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:142
+#: gst-libs/gst/tag/tags.c:148
 msgid "capturing scene capture type"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:143
+#: gst-libs/gst/tag/tags.c:149
 msgid "The scene capture mode used when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:146
+#: gst-libs/gst/tag/tags.c:152
 msgid "capturing gain adjustment"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:147
+#: gst-libs/gst/tag/tags.c:153
 msgid "The overall gain adjustment applied on an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:150
+#: gst-libs/gst/tag/tags.c:156
 msgid "capturing white balance"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:151
+#: gst-libs/gst/tag/tags.c:157
 msgid "The white balance mode set when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:154
+#: gst-libs/gst/tag/tags.c:160
 msgid "capturing contrast"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:155
+#: gst-libs/gst/tag/tags.c:161
 msgid "The direction of contrast processing applied when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:159
+#: gst-libs/gst/tag/tags.c:165
 msgid "capturing saturation"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:160
+#: gst-libs/gst/tag/tags.c:166
 msgid "The direction of saturation processing applied when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:164
+#: gst-libs/gst/tag/tags.c:170
 msgid "capturing sharpness"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:165
+#: gst-libs/gst/tag/tags.c:171
 msgid "The direction of sharpness processing applied when capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:169
+#: gst-libs/gst/tag/tags.c:175
 msgid "capturing flash fired"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:170
+#: gst-libs/gst/tag/tags.c:176
 msgid "If the flash fired while capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:173
+#: gst-libs/gst/tag/tags.c:179
 msgid "capturing flash mode"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:174
+#: gst-libs/gst/tag/tags.c:180
 msgid "The selected flash mode while capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:177
+#: gst-libs/gst/tag/tags.c:183
 msgid "capturing metering mode"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:178
+#: gst-libs/gst/tag/tags.c:184
 msgid ""
 "The metering mode used while determining exposure for capturing an image"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:182
+#: gst-libs/gst/tag/tags.c:188
 msgid "capturing source"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:183
+#: gst-libs/gst/tag/tags.c:189
 msgid "The source or type of device used for the capture"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:186
+#: gst-libs/gst/tag/tags.c:192
 msgid "image horizontal ppi"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:187
+#: gst-libs/gst/tag/tags.c:193
 msgid "Media (image/video) intended horizontal pixel density in ppi"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:190
+#: gst-libs/gst/tag/tags.c:196
 msgid "image vertical ppi"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:191
+#: gst-libs/gst/tag/tags.c:197
 msgid "Media (image/video) intended vertical pixel density in ppi"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:194
+#: gst-libs/gst/tag/tags.c:200
 msgid "ID3v2 frame"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:194
+#: gst-libs/gst/tag/tags.c:200
 msgid "unparsed id3v2 tag frame"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:198
+#: gst-libs/gst/tag/tags.c:204
 msgid "musical-key"
 msgstr ""
 
-#: gst-libs/gst/tag/tags.c:198
+#: gst-libs/gst/tag/tags.c:204
 msgid "Initial key in which the sound starts"
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index 54ab655..c4b4f7c 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index f794f71..2009998 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-05-27 12:47-0700\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -225,6 +225,10 @@
 msgid "Kate subtitle format"
 msgstr "Format naslova Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Format naslova Kate"
+
 msgid "Uncompressed video"
 msgstr "Nesažeti video"
 
@@ -394,6 +398,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Primijenjena žarišna duljina leće pri snimanju slike u mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "žarišna duljina"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Primijenjena žarišna duljina leće pri snimanju slike u mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "digitalno povećanje"
 
diff --git a/po/hu.gmo b/po/hu.gmo
index 45f69d5..513a646 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 57fc693..359e259 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-14 19:14+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -225,6 +225,10 @@
 msgid "Kate subtitle format"
 msgstr "Kate feliratformátum"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate feliratformátum"
+
 msgid "Uncompressed video"
 msgstr "Tömörítetlen videó"
 
@@ -391,6 +395,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "A kép felvételéhez használt lencse fókusztávolsága mm-ben"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "felvétel fókusztávolsága"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "A kép felvételéhez használt lencse fókusztávolsága mm-ben"
+
 msgid "capturing digital zoom ratio"
 msgstr "felvétel digitális nagyítási aránya"
 
diff --git a/po/id.gmo b/po/id.gmo
index 58d1c9d..0de9ed8 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index fed2c01..0e3810e 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2014-07-30 09:19+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -220,6 +220,10 @@
 msgid "Kate subtitle format"
 msgstr "Format subjudul Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Format subjudul Kate"
+
 msgid "Uncompressed video"
 msgstr "Video tak dikompresi"
 
@@ -386,6 +390,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Panjang fokal dari lensa digunakan ketika menangkap gambar, dalam mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "menangkap panjang fokal"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Panjang fokal dari lensa digunakan ketika menangkap gambar, dalam mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "menangkap rasio pembesaran digital"
 
diff --git a/po/it.gmo b/po/it.gmo
index 1fb6bed..746df61 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 3ba33b2..b1422a5 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2010-04-28 14:27+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -234,6 +234,10 @@
 msgstr "Sottotitoli formato Kate"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Sottotitoli formato Kate"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "YUV non compresso"
 
@@ -427,6 +431,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/ja.gmo b/po/ja.gmo
index f8a5da1..ddef80c 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 61b24c4..45b26ae 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2010-10-25 10:27+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -228,6 +228,10 @@
 msgstr "Kate 字幕形式"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate 字幕形式"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "非圧縮 YUV"
 
@@ -396,6 +400,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/lt.gmo b/po/lt.gmo
index e08eb19..f933db8 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index ab352ea..e1fa57e 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2008-03-07 23:43+0200\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -234,6 +234,10 @@
 msgstr "Sami titrų formatas"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Sami titrų formatas"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "Nekompresuotas YUV"
 
@@ -402,6 +406,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/lv.gmo b/po/lv.gmo
index f67385e..8c17b20 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 1721db9..fd6db8f 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2014-04-20 16:15+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -227,6 +227,10 @@
 msgid "Kate subtitle format"
 msgstr "Kate subtitru formāts"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate subtitru formāts"
+
 msgid "Uncompressed video"
 msgstr "Nesaspiests video"
 
@@ -393,6 +397,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Attēla tveršanā izmantotā lēcas fokusa attālums milimetros"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "tveršanas fokusa attālums"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Attēla tveršanā izmantotā lēcas fokusa attālums milimetros"
+
 msgid "capturing digital zoom ratio"
 msgstr "tveršanas digitālais mērogs"
 
diff --git a/po/nb.gmo b/po/nb.gmo
index a807c08..75b03ea 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 3096dc0..4a32077 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2015-12-24 23:08+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -222,6 +222,10 @@
 msgid "Kate subtitle format"
 msgstr "Kate undertekstformat"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate undertekstformat"
+
 msgid "Uncompressed video"
 msgstr "Ukomprimert video"
 
@@ -388,6 +392,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Brennvidden til objektivet som brukes når du tar bildet, i mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "opptaksbrennvidde"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Brennvidden til objektivet som brukes når du tar bildet, i mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "fanger digitalt zoomforhold"
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 60803a2..00f87e0 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 4fa019c..6801134 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-02-20 16:39+0100\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -223,6 +223,10 @@
 msgid "Kate subtitle format"
 msgstr "Kate ondertitelformaat"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate ondertitelformaat"
+
 msgid "Uncompressed video"
 msgstr "Niet-gecomprimeerde video"
 
@@ -390,6 +394,16 @@
 msgstr ""
 "Ge bruikte brandpuntsafstand van de lens bij het maken van de foto, in mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "brandpuntsafstand bij maken"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+"Ge bruikte brandpuntsafstand van de lens bij het maken van de foto, in mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "digitale zoom-verhouding bij het maken"
 
diff --git a/po/or.gmo b/po/or.gmo
index 887a20d..6fd3e4c 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 6b16dc6..510c0cb 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2004-09-27 13:32+0530\n"
 "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
 "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
@@ -228,6 +228,9 @@
 msgid "Kate subtitle format"
 msgstr ""
 
+msgid "WebVTT subtitle format"
+msgstr ""
+
 msgid "Uncompressed video"
 msgstr ""
 
@@ -394,6 +397,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/pl.gmo b/po/pl.gmo
index eb4c213..c6f396b 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 5e69a15..d93e429 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-02 22:08+0100\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -230,6 +230,10 @@
 msgid "Kate subtitle format"
 msgstr "Format podpisów Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Format podpisów Kate"
+
 msgid "Uncompressed video"
 msgstr "Nieskompresowany obraz"
 
@@ -396,6 +400,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Długość ogniskowej obiektywu użyta przy robieniu zdjęcia, w mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "ogniskowa obiektywu"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Długość ogniskowej obiektywu użyta przy robieniu zdjęcia, w mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "współczynnik powiększenia cyfrowego"
 
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 5daca86..60ab026 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 53562ee..819eaa2 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-05-06 16:47-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -230,6 +230,10 @@
 msgid "Kate subtitle format"
 msgstr "Formato de legendas Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Formato de legendas Kate"
+
 msgid "Uncompressed video"
 msgstr "Vídeo sem compressão"
 
@@ -396,6 +400,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Distância focal das lentes utilizada ao capturar a imagem, em mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "distância focal ao capturar"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Distância focal das lentes utilizada ao capturar a imagem, em mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "taxa de zoom digital ao capturar"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index cd297fa..1e79b11 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 7ca10de..fb97b25 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2010-08-16 01:21+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -227,6 +227,10 @@
 msgstr "Format subtitrare Kate"
 
 #, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Format subtitrare Kate"
+
+#, fuzzy
 msgid "Uncompressed video"
 msgstr "YUV necomprimat"
 
@@ -395,6 +399,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/ru.gmo b/po/ru.gmo
index 0613d54..a14d0c9 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index e732b6a..e345e3e 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-05 08:42+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
@@ -226,6 +226,10 @@
 msgid "Kate subtitle format"
 msgstr "Формат субтитров Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Формат субтитров Kate"
+
 msgid "Uncompressed video"
 msgstr "Несжатое видео"
 
@@ -392,6 +396,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Фокусное расстояние зеркала при съёмке изображения, в мм"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "фокусное расстояние при съёмке"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Фокусное расстояние зеркала при съёмке изображения, в мм"
+
 msgid "capturing digital zoom ratio"
 msgstr "коэффициент цифрового трансфокатора при съёмке"
 
diff --git a/po/sk.gmo b/po/sk.gmo
index a8a2c92..b292ae3 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index ad6f7e0..66b5eb9 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-05-20 12:24+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -222,6 +222,10 @@
 msgid "Kate subtitle format"
 msgstr "Formát titulkov Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Formát titulkov Kate"
+
 msgid "Uncompressed video"
 msgstr "Nekomprimované video"
 
@@ -388,6 +392,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Ohnisková vzdialenosť objektívu pri zachytávaní obrázku, v mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "ohnisková vzdialenosť"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Ohnisková vzdialenosť objektívu pri zachytávaní obrázku, v mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "pomer digitálneho priblíženia"
 
diff --git a/po/sl.gmo b/po/sl.gmo
index 4f75ae0..1632f30 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index be9cca8..8041bcc 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2013-01-05 10:10+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -224,6 +224,10 @@
 msgid "Kate subtitle format"
 msgstr "Oblika podnapisov Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Oblika podnapisov Kate"
+
 msgid "Uncompressed video"
 msgstr "Nestisnjen video"
 
@@ -390,6 +394,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Goriščna razdalja leč, uporabljena med zajemanjem slike"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "goriščna razdalja med zajemanjem"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Goriščna razdalja leč, uporabljena med zajemanjem slike"
+
 msgid "capturing digital zoom ratio"
 msgstr "razmerje digitalnega približevanja med zajemanjem"
 
diff --git a/po/sq.gmo b/po/sq.gmo
index 10c11e8..3da2cb8 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 0ed5d97..8c8e850 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2004-08-07 20:29+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <begraj@hotmail.com>\n"
@@ -226,6 +226,9 @@
 msgid "Kate subtitle format"
 msgstr ""
 
+msgid "WebVTT subtitle format"
+msgstr ""
+
 msgid "Uncompressed video"
 msgstr ""
 
@@ -392,6 +395,13 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr ""
 
+msgid "capturing 35 mm equivalent focal length"
+msgstr ""
+
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+
 msgid "capturing digital zoom ratio"
 msgstr ""
 
diff --git a/po/sr.gmo b/po/sr.gmo
index e832956..cb5ee54 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 40cde99..269e510 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-05 09:48+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -222,6 +222,10 @@
 msgid "Kate subtitle format"
 msgstr "Кејт запис превода"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Кејт запис превода"
+
 msgid "Uncompressed video"
 msgstr "Несажети снимак"
 
@@ -388,6 +392,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Жижна даљина објектива коришћеног за снимање слика, у мииметрима"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "жижна даљина снимања"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Жижна даљина објектива коришћеног за снимање слика, у мииметрима"
+
 msgid "capturing digital zoom ratio"
 msgstr "однос дигиталног зума снимања"
 
diff --git a/po/sv.gmo b/po/sv.gmo
index b824419..a17d147 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 7194fac..70fe4de 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-02 22:20+0100\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -223,6 +223,10 @@
 msgid "Kate subtitle format"
 msgstr "Undertextformatet Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Undertextformatet Kate"
+
 msgid "Uncompressed video"
 msgstr "Okomprimerad video"
 
@@ -389,6 +393,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Brännvidd för linsen i mm när bild infångas"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "brännvidd"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Brännvidd för linsen i mm när bild infångas"
+
 msgid "capturing digital zoom ratio"
 msgstr "digitalt zoom-förhållande"
 
diff --git a/po/tr.gmo b/po/tr.gmo
index 9eef88d..f90d7c2 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 564fe42..42dae9a 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: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2015-01-10 21:07+0100\n"
 "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -222,6 +222,10 @@
 msgid "Kate subtitle format"
 msgstr "Kate altyazı kipi"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate altyazı kipi"
+
 msgid "Uncompressed video"
 msgstr "Sıkıştırılmamış video"
 
@@ -388,6 +392,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Mm bazında, resim çekerken kullanılan odaksal uzunluk"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "odaksal uzunluğu yakalıyor"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Mm bazında, resim çekerken kullanılan odaksal uzunluk"
+
 msgid "capturing digital zoom ratio"
 msgstr "sayısal zum oranını yakalıyor"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index 304adc6..ee089bf 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 19eb2aa..0660ae1 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-02 22:05+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -229,6 +229,10 @@
 msgid "Kate subtitle format"
 msgstr "Формат субтитрів Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Формат субтитрів Kate"
+
 msgid "Uncompressed video"
 msgstr "Нестиснене відео"
 
@@ -398,6 +402,16 @@
 msgstr ""
 "Фокальна відстань об’єктива, використаного при створенні зображення, у мм"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "фокальна відстань"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr ""
+"Фокальна відстань об’єктива, використаного при створенні зображення, у мм"
+
 msgid "capturing digital zoom ratio"
 msgstr "коефіцієнт цифрового збільшення"
 
diff --git a/po/vi.gmo b/po/vi.gmo
index f613e75..38c4b44 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index a3d5a7a..add5caa 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-03 07:49+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -225,6 +225,10 @@
 msgid "Kate subtitle format"
 msgstr "Định dạng phụ đề Kate"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Định dạng phụ đề Kate"
+
 msgid "Uncompressed video"
 msgstr "Video không nén"
 
@@ -394,6 +398,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "Chiều dài tiêu cự ống kính được sử dụng khi chụp một ảnh, tính bằng mm"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "độ dài tiêu cự khi chụp"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "Chiều dài tiêu cự ống kính được sử dụng khi chụp một ảnh, tính bằng mm"
+
 msgid "capturing digital zoom ratio"
 msgstr "tỷ lệ phóng to kỹ thuật số khi chụp"
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 0b7660d..406b402 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 67bb867..f147bb9 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-07-06 11:39+0300\n"
 "PO-Revision-Date: 2016-03-03 12:15+0800\n"
 "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -217,6 +217,10 @@
 msgid "Kate subtitle format"
 msgstr "Kate 字幕格式"
 
+#, fuzzy
+msgid "WebVTT subtitle format"
+msgstr "Kate 字幕格式"
+
 msgid "Uncompressed video"
 msgstr "未压缩的视频"
 
@@ -383,6 +387,15 @@
 msgid "Focal length of the lens used capturing the image, in mm"
 msgstr "（在mm中）捕捉图像时的焦距"
 
+#, fuzzy
+msgid "capturing 35 mm equivalent focal length"
+msgstr "捕捉焦距"
+
+#, fuzzy
+msgid ""
+"35 mm equivalent focal length of the lens used capturing the image, in mm"
+msgstr "（在mm中）捕捉图像时的焦距"
+
 msgid "capturing digital zoom ratio"
 msgstr "捕捉数码变焦比"
 
diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c
index d2c8c81..e625989 100644
--- a/sys/ximage/ximagesink.c
+++ b/sys/ximage/ximagesink.c
@@ -1585,7 +1585,6 @@
   XID xwindow_id = id;
   GstXImageSink *ximagesink = GST_X_IMAGE_SINK (overlay);
   GstXWindow *xwindow = NULL;
-  XWindowAttributes attr;
 
   /* We acquire the stream lock while setting this window in the element.
      We are basically cleaning tons of stuff replacing the old window, putting
@@ -1626,12 +1625,8 @@
 
     xwindow->win = xwindow_id;
 
-    /* We get window geometry, set the event we want to receive,
-       and create a GC */
+    /* We set the events we want to receive and create a GC. */
     g_mutex_lock (&ximagesink->x_lock);
-    XGetWindowAttributes (ximagesink->xcontext->disp, xwindow->win, &attr);
-    xwindow->width = attr.width;
-    xwindow->height = attr.height;
     xwindow->internal = FALSE;
     if (ximagesink->handle_events) {
       XSelectInput (ximagesink->xcontext->disp, xwindow->win, ExposureMask |
@@ -1643,8 +1638,11 @@
     g_mutex_unlock (&ximagesink->x_lock);
   }
 
-  if (xwindow)
+  if (xwindow) {
     ximagesink->xwindow = xwindow;
+    /* Update the window geometry, possibly generating a reconfigure event. */
+    gst_x_image_sink_xwindow_update_geometry(ximagesink);
+  }
 
   g_mutex_unlock (&ximagesink->flow_lock);
 }
@@ -1976,8 +1974,8 @@
       "Video sink", "Sink/Video",
       "A standard X based videosink", "Julien Moutte <julien@moutte.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_x_image_sink_sink_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_x_image_sink_sink_template_factory);
 
   gstelement_class->change_state = gst_x_image_sink_change_state;
 
diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c
index c612076..e008d09 100644
--- a/sys/xvimage/xvimagesink.c
+++ b/sys/xvimage/xvimagesink.c
@@ -2013,8 +2013,8 @@
       "Video sink", "Sink/Video",
       "A Xv based videosink", "Julien Moutte <julien@moutte.net>");
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_xv_image_sink_sink_template_factory));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_xv_image_sink_sink_template_factory);
 
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_xv_image_sink_change_state);
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index ed1d026..c81c664 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -75,7 +75,8 @@
 
 if USE_PLUGIN_PLAYBACK
 check_playback = elements/decodebin elements/playbin \
-    elements/playbin-complex elements/streamsynchronizer
+    elements/playbin-complex elements/streamsynchronizer \
+    elements/playsink
 else
 check_playback =
 endif
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index d9dab9c..6b4c958 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -175,7 +175,8 @@
 @USE_PLUGIN_PLAYBACK_TRUE@am__EXEEXT_12 = elements/decodebin$(EXEEXT) \
 @USE_PLUGIN_PLAYBACK_TRUE@	elements/playbin$(EXEEXT) \
 @USE_PLUGIN_PLAYBACK_TRUE@	elements/playbin-complex$(EXEEXT) \
-@USE_PLUGIN_PLAYBACK_TRUE@	elements/streamsynchronizer$(EXEEXT)
+@USE_PLUGIN_PLAYBACK_TRUE@	elements/streamsynchronizer$(EXEEXT) \
+@USE_PLUGIN_PLAYBACK_TRUE@	elements/playsink$(EXEEXT)
 @USE_PLUGIN_SUBPARSE_TRUE@am__EXEEXT_13 = elements/subparse$(EXEEXT)
 @USE_PLUGIN_APP_FALSE@@USE_PLUGIN_TCP_TRUE@am__EXEEXT_14 = elements/multifdsink$(EXEEXT) \
 @USE_PLUGIN_APP_FALSE@@USE_PLUGIN_TCP_TRUE@	elements/multisocketsink$(EXEEXT)
@@ -333,6 +334,11 @@
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_playbin_complex_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
+elements_playsink_SOURCES = elements/playsink.c
+elements_playsink_OBJECTS = elements/playsink.$(OBJEXT)
+elements_playsink_LDADD = $(LDADD)
+elements_playsink_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
 elements_streamsynchronizer_SOURCES = elements/streamsynchronizer.c
 elements_streamsynchronizer_OBJECTS =  \
 	elements/streamsynchronizer.$(OBJEXT)
@@ -806,22 +812,23 @@
 	elements/decodebin.c elements/encodebin.c elements/libvisual.c \
 	elements/multifdsink.c elements/multisocketsink.c \
 	elements/opus.c elements/playbin.c elements/playbin-complex.c \
-	elements/streamsynchronizer.c elements/subparse.c \
-	elements/textoverlay.c elements/videoconvert.c \
-	elements/videorate.c elements/videoscale.c \
-	elements/videotestsrc.c elements/volume.c elements/vorbisdec.c \
-	elements/vorbistag.c generic/clock-selection.c \
-	generic/states.c gst/typefindfunctions.c libs/allocators.c \
-	libs/audio.c libs/audiocdsrc.c libs/audiodecoder.c \
-	libs/audioencoder.c $(libs_baseaudiovisualizer_SOURCES) \
-	libs/discoverer.c libs/fft.c $(libs_gstlibscpp_SOURCES) \
-	libs/libsabi.c libs/mikey.c libs/navigation.c libs/pbutils.c \
-	libs/profile.c libs/rtp.c libs/rtpbasedepayload.c \
-	libs/rtpbasepayload.c libs/rtsp.c libs/rtspconnection.c \
-	libs/sdp.c libs/tag.c libs/video.c libs/videodecoder.c \
-	libs/videoencoder.c libs/xmpwriter.c \
-	$(nodist_orc_adder_SOURCES) $(nodist_orc_audio_SOURCES) \
-	$(nodist_orc_video_SOURCES) $(nodist_orc_videotestsrc_SOURCES) \
+	elements/playsink.c elements/streamsynchronizer.c \
+	elements/subparse.c elements/textoverlay.c \
+	elements/videoconvert.c elements/videorate.c \
+	elements/videoscale.c elements/videotestsrc.c \
+	elements/volume.c elements/vorbisdec.c elements/vorbistag.c \
+	generic/clock-selection.c generic/states.c \
+	gst/typefindfunctions.c libs/allocators.c libs/audio.c \
+	libs/audiocdsrc.c libs/audiodecoder.c libs/audioencoder.c \
+	$(libs_baseaudiovisualizer_SOURCES) libs/discoverer.c \
+	libs/fft.c $(libs_gstlibscpp_SOURCES) libs/libsabi.c \
+	libs/mikey.c libs/navigation.c libs/pbutils.c libs/profile.c \
+	libs/rtp.c libs/rtpbasedepayload.c libs/rtpbasepayload.c \
+	libs/rtsp.c libs/rtspconnection.c libs/sdp.c libs/tag.c \
+	libs/video.c libs/videodecoder.c libs/videoencoder.c \
+	libs/xmpwriter.c $(nodist_orc_adder_SOURCES) \
+	$(nodist_orc_audio_SOURCES) $(nodist_orc_video_SOURCES) \
+	$(nodist_orc_videotestsrc_SOURCES) \
 	$(nodist_orc_volume_SOURCES) pipelines/basetime.c \
 	pipelines/capsfilter-renegotiation.c pipelines/gio.c \
 	pipelines/oggmux.c pipelines/simple-launch-lines.c \
@@ -834,20 +841,21 @@
 	elements/decodebin.c elements/encodebin.c elements/libvisual.c \
 	elements/multifdsink.c elements/multisocketsink.c \
 	elements/opus.c elements/playbin.c elements/playbin-complex.c \
-	elements/streamsynchronizer.c elements/subparse.c \
-	elements/textoverlay.c elements/videoconvert.c \
-	elements/videorate.c elements/videoscale.c \
-	elements/videotestsrc.c elements/volume.c elements/vorbisdec.c \
-	elements/vorbistag.c generic/clock-selection.c \
-	generic/states.c gst/typefindfunctions.c libs/allocators.c \
-	libs/audio.c libs/audiocdsrc.c libs/audiodecoder.c \
-	libs/audioencoder.c $(libs_baseaudiovisualizer_SOURCES) \
-	libs/discoverer.c libs/fft.c $(libs_gstlibscpp_SOURCES) \
-	libs/libsabi.c libs/mikey.c libs/navigation.c libs/pbutils.c \
-	libs/profile.c libs/rtp.c libs/rtpbasedepayload.c \
-	libs/rtpbasepayload.c libs/rtsp.c libs/rtspconnection.c \
-	libs/sdp.c libs/tag.c libs/video.c libs/videodecoder.c \
-	libs/videoencoder.c libs/xmpwriter.c pipelines/basetime.c \
+	elements/playsink.c elements/streamsynchronizer.c \
+	elements/subparse.c elements/textoverlay.c \
+	elements/videoconvert.c elements/videorate.c \
+	elements/videoscale.c elements/videotestsrc.c \
+	elements/volume.c elements/vorbisdec.c elements/vorbistag.c \
+	generic/clock-selection.c generic/states.c \
+	gst/typefindfunctions.c libs/allocators.c libs/audio.c \
+	libs/audiocdsrc.c libs/audiodecoder.c libs/audioencoder.c \
+	$(libs_baseaudiovisualizer_SOURCES) libs/discoverer.c \
+	libs/fft.c $(libs_gstlibscpp_SOURCES) libs/libsabi.c \
+	libs/mikey.c libs/navigation.c libs/pbutils.c libs/profile.c \
+	libs/rtp.c libs/rtpbasedepayload.c libs/rtpbasepayload.c \
+	libs/rtsp.c libs/rtspconnection.c libs/sdp.c libs/tag.c \
+	libs/video.c libs/videodecoder.c libs/videoencoder.c \
+	libs/xmpwriter.c pipelines/basetime.c \
 	pipelines/capsfilter-renegotiation.c pipelines/gio.c \
 	pipelines/oggmux.c pipelines/simple-launch-lines.c \
 	pipelines/streamsynchronizer.c pipelines/tcp.c \
@@ -1418,7 +1426,8 @@
 @USE_PLUGIN_AUDIOCONVERT_TRUE@check_audioconvert = elements/audioconvert
 @USE_PLUGIN_PLAYBACK_FALSE@check_playback = 
 @USE_PLUGIN_PLAYBACK_TRUE@check_playback = elements/decodebin elements/playbin \
-@USE_PLUGIN_PLAYBACK_TRUE@    elements/playbin-complex elements/streamsynchronizer
+@USE_PLUGIN_PLAYBACK_TRUE@    elements/playbin-complex elements/streamsynchronizer \
+@USE_PLUGIN_PLAYBACK_TRUE@    elements/playsink
 
 @USE_THEORA_FALSE@check_theora = 
 @USE_THEORA_TRUE@check_theora = pipelines/theoraenc
@@ -2026,6 +2035,12 @@
 elements/playbin-complex$(EXEEXT): $(elements_playbin_complex_OBJECTS) $(elements_playbin_complex_DEPENDENCIES) $(EXTRA_elements_playbin_complex_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/playbin-complex$(EXEEXT)
 	$(AM_V_CCLD)$(elements_playbin_complex_LINK) $(elements_playbin_complex_OBJECTS) $(elements_playbin_complex_LDADD) $(LIBS)
+elements/playsink.$(OBJEXT): elements/$(am__dirstamp) \
+	elements/$(DEPDIR)/$(am__dirstamp)
+
+elements/playsink$(EXEEXT): $(elements_playsink_OBJECTS) $(elements_playsink_DEPENDENCIES) $(EXTRA_elements_playsink_DEPENDENCIES) elements/$(am__dirstamp)
+	@rm -f elements/playsink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(elements_playsink_OBJECTS) $(elements_playsink_LDADD) $(LIBS)
 elements/streamsynchronizer.$(OBJEXT): elements/$(am__dirstamp) \
 	elements/$(DEPDIR)/$(am__dirstamp)
 
@@ -2409,6 +2424,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_vorbistag-vorbistag.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/multifdsink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/opus.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/playsink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/streamsynchronizer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/videorate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/videotestsrc.Po@am__quote@
@@ -3815,6 +3831,13 @@
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/playsink.log: elements/playsink$(EXEEXT)
+	@p='elements/playsink$(EXEEXT)'; \
+	b='elements/playsink'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 elements/subparse.log: elements/subparse$(EXEEXT)
 	@p='elements/subparse$(EXEEXT)'; \
 	b='elements/subparse'; \
diff --git a/tests/check/elements/appsrc.c b/tests/check/elements/appsrc.c
index f7f1a13..369587c 100644
--- a/tests/check/elements/appsrc.c
+++ b/tests/check/elements/appsrc.c
@@ -60,6 +60,7 @@
 {
   GST_DEBUG ("cleanup_appsrc");
 
+  gst_check_drop_buffers ();
   gst_check_teardown_sink_pad (appsrc);
   gst_check_teardown_element (appsrc);
 }
diff --git a/tests/check/elements/audiorate.c b/tests/check/elements/audiorate.c
index f7bfc58..7664cb0 100644
--- a/tests/check/elements/audiorate.c
+++ b/tests/check/elements/audiorate.c
@@ -58,10 +58,8 @@
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_static_pad_template (element_class, &src_template);
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
 }
 
 static GstFlowReturn
@@ -444,6 +442,7 @@
   gst_element_set_state (audiorate, GST_STATE_NULL);
   gst_caps_unref (caps);
 
+  gst_check_drop_buffers ();
   gst_check_teardown_sink_pad (audiorate);
   gst_check_teardown_src_pad (audiorate);
 
diff --git a/tests/check/elements/decodebin.c b/tests/check/elements/decodebin.c
index fba0b1c..457cb36 100644
--- a/tests/check/elements/decodebin.c
+++ b/tests/check/elements/decodebin.c
@@ -230,10 +230,8 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstBaseParseClass *parse_class = GST_BASE_PARSE_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_template));
+  gst_element_class_add_static_pad_template (element_class, &sink_template);
+  gst_element_class_add_static_pad_template (element_class, &src_template);
 
   gst_element_class_set_metadata (element_class, "MPEG1 Audio Parser",
       "Codec/Parser/Audio", "Pretends to parse mpeg1 audio stream",
@@ -383,10 +381,8 @@
           "stream-format=(string) { avc, byte-stream }"));
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_metadata (element_class,
       "FakeH264Parser", "Codec/Parser/Converter/Video", "yep", "me");
 }
@@ -486,10 +482,8 @@
       GST_STATIC_CAPS ("video/x-raw"));
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_metadata (element_class,
       "FakeH264Decoder", "Codec/Decoder/Video", "yep", "me");
 }
diff --git a/tests/check/elements/opus.c b/tests/check/elements/opus.c
index 5b04bb2..3678ed1 100644
--- a/tests/check/elements/opus.c
+++ b/tests/check/elements/opus.c
@@ -23,6 +23,7 @@
 #include <unistd.h>
 
 #include <gst/check/gstcheck.h>
+#include <gst/check/gstharness.h>
 
 #if G_BYTE_ORDER == G_BIG_ENDIAN
 #define AFORMAT "S16BE"
@@ -420,6 +421,68 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_opus_decode_plc_timestamps_with_fec)
+{
+  GstBuffer *buf;
+  GstHarness *h =
+      gst_harness_new_parse ("opusdec use-inband-fec=TRUE plc=TRUE");
+  GstClockTime dur0 = GST_MSECOND * 35 / 10;    /* because of lookahead */
+  GstClockTime dur = GST_MSECOND * 10;
+
+  gst_harness_add_src_parse (h,
+      "audiotestsrc samplesperbuffer=480 is-live=TRUE ! "
+      "opusenc frame-size=10 inband-fec=TRUE", TRUE);
+
+  /* Push first buffer from encoder to decoder. It will not be decoded yet
+   * because of the delay introduced by FEC */
+  gst_harness_src_crank_and_push_many (h, 1, 1);
+  fail_unless_equals_int (0, gst_harness_buffers_received (h));
+
+  /* Drop second buffer from encoder and send a GAP event to decoder
+   * instead with 2x duration */
+  gst_harness_src_crank_and_push_many (h, 1, 0);
+  fail_unless (buf = gst_harness_pull (h->src_harness));
+  fail_unless (gst_harness_push_event (h,
+          gst_event_new_gap (GST_BUFFER_PTS (buf),
+              GST_BUFFER_DURATION (buf) * 2)));
+  gst_buffer_unref (buf);
+
+  /* Extract first buffer from decoder and verify timstamps */
+  fail_unless (buf = gst_harness_pull (h));
+  fail_unless_equals_int64 (0, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int64 (dur0, GST_BUFFER_DURATION (buf));
+  fail_unless (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+
+  /* Third buffer is pushed from encoder to decoder with DISCONT set */
+  gst_harness_src_crank_and_push_many (h, 1, 0);
+  fail_unless (buf = gst_harness_pull (h->src_harness));
+  GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
+  gst_harness_push (h, buf);
+
+  /* Extract second (concealed) buffer from decoder and verify timestamp
+     and the 2x duration */
+  fail_unless (buf = gst_harness_pull (h));
+  fail_unless_equals_int64 (dur0, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int64 (dur * 2, GST_BUFFER_DURATION (buf));
+  fail_if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+
+  /* Push fourth buffer from encoder to decoder as normal */
+  gst_harness_src_crank_and_push_many (h, 1, 1);
+
+  /* Extract third buffer from decoder and verify timestamps */
+  fail_unless (buf = gst_harness_pull (h));
+  fail_unless_equals_int64 (dur0 + 1 * dur, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int64 (dur, GST_BUFFER_DURATION (buf));
+  fail_if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+
+  gst_harness_teardown (h);
+}
+
+GST_END_TEST;
+
 static Suite *
 opus_suite (void)
 {
@@ -433,6 +496,7 @@
   tcase_add_test (tc_chain, test_opus_encode_samples);
   tcase_add_test (tc_chain, test_opus_encode_properties);
   tcase_add_test (tc_chain, test_opusdec_getcaps);
+  tcase_add_test (tc_chain, test_opus_decode_plc_timestamps_with_fec);
 
   return s;
 }
diff --git a/tests/check/elements/playbin-complex.c b/tests/check/elements/playbin-complex.c
index 377bd83..ebe5bbd 100644
--- a/tests/check/elements/playbin-complex.c
+++ b/tests/check/elements/playbin-complex.c
@@ -170,8 +170,7 @@
       GST_PAD_SRC, GST_PAD_ALWAYS,
       GST_STATIC_CAPS_ANY);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_metadata (element_class,
       "CapsSource", "Source/Generic", "yep", "me");
 
@@ -321,8 +320,7 @@
       g_param_spec_boolean ("mute", "Mute",
           "Mute", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
   gst_element_class_set_metadata (element_class,
       "AudioCodecSink", "Sink/Audio", "yep", "me");
 
@@ -372,8 +370,7 @@
       );
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
   gst_element_class_set_metadata (element_class,
       "VideoCodecSink", "Sink/Video", "yep", "me");
 
@@ -441,10 +438,8 @@
 
   gobject_class->finalize = gst_codec_demuxer_finalize;
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&cd_sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&cd_src_templ));
+  gst_element_class_add_static_pad_template (element_class, &cd_sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &cd_src_templ);
   gst_element_class_set_metadata (element_class,
       "CodecDemuxer", "Codec/Demuxer", "yep", "me");
 }
@@ -647,8 +642,7 @@
           GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL))
       );
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
 
   gst_element_class_set_static_metadata (element_class,
       "Fake Video Sink1", "Sink/Video",
@@ -669,8 +663,7 @@
       GST_PAD_SINK, GST_PAD_ALWAYS,
       GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL)));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
 
   gst_element_class_set_static_metadata (element_class,
       "Fake Video Sink2", "Sink/Video",
@@ -710,10 +703,8 @@
               GST_VIDEO_FORMATS_ALL) ";"
           GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL)));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_static_metadata (element_class,
       "Fake theora video decoder1", "Codec/Decoder/Video",
       "decode theora stream",
@@ -741,10 +732,8 @@
       GST_PAD_SRC, GST_PAD_ALWAYS,
       GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL)));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_static_metadata (element_class,
       "Fake theora video decoder2", "Codec/Decoder/Video",
       "decode theora stream",
diff --git a/tests/check/elements/playbin.c b/tests/check/elements/playbin.c
index cdc737e..170ddce 100644
--- a/tests/check/elements/playbin.c
+++ b/tests/check/elements/playbin.c
@@ -523,7 +523,7 @@
   GstElement *src = NULL;
 
   if (!gst_registry_check_feature_version (gst_registry_get (), "redvideosrc",
-          0, 10, 0)) {
+          GST_VERSION_MAJOR, GST_VERSION_MINOR, 0)) {
     fail_unless (gst_element_register (NULL, "redvideosrc", GST_RANK_PRIMARY,
             gst_red_video_src_get_type ()));
   }
@@ -553,6 +553,59 @@
 
 GST_END_TEST;
 
+static void
+element_setup (GstElement * playbin, GstElement * element, GQueue * elts)
+{
+  GstElementFactory *f = gst_element_get_factory (element);
+
+  g_queue_push_tail (elts, f ? GST_OBJECT_NAME (f) : GST_OBJECT_NAME (element));
+}
+
+GST_START_TEST (test_element_setup)
+{
+  GstElement *playbin, *videosink;
+  GQueue elts = G_QUEUE_INIT;
+
+  if (!gst_registry_check_feature_version (gst_registry_get (), "redvideosrc",
+          GST_VERSION_MAJOR, GST_VERSION_MINOR, 0)) {
+    fail_unless (gst_element_register (NULL, "redvideosrc", GST_RANK_PRIMARY,
+            gst_red_video_src_get_type ()));
+  }
+
+  playbin = gst_element_factory_make ("playbin", NULL);
+  g_object_set (playbin, "uri", "redvideo://", NULL);
+
+  videosink = gst_element_factory_make ("fakesink", "myvideosink");
+  g_object_set (playbin, "video-sink", videosink, NULL);
+
+  g_signal_connect (playbin, "element-setup", G_CALLBACK (element_setup),
+      &elts);
+
+  fail_unless_equals_int (gst_element_set_state (playbin, GST_STATE_PAUSED),
+      GST_STATE_CHANGE_ASYNC);
+  fail_unless_equals_int (gst_element_get_state (playbin, NULL, NULL,
+          GST_CLOCK_TIME_NONE), GST_STATE_CHANGE_SUCCESS);
+
+#define seen_element(e) g_queue_find_custom(&elts, e, (GCompareFunc) strcmp)
+
+  fail_unless (seen_element ("redvideosrc"));
+  fail_unless (seen_element ("uridecodebin"));
+  fail_unless (seen_element ("videoconvert"));
+  fail_unless (seen_element ("videoscale"));
+  fail_unless (seen_element ("fakesink"));
+
+#undef seen_element
+
+  g_queue_clear (&elts);
+
+  fail_unless_equals_int (gst_element_set_state (playbin, GST_STATE_NULL),
+      GST_STATE_CHANGE_SUCCESS);
+
+  gst_object_unref (playbin);
+}
+
+GST_END_TEST;
+
 /*** redvideo:// source ***/
 
 static GstURIType
@@ -649,8 +702,7 @@
       );
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_metadata (element_class,
       "Red Video Src", "Source/Video", "yep", "me");
 
@@ -751,8 +803,7 @@
       );
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
   gst_element_class_set_metadata (element_class,
       "Codec Src", "Source/Video", "yep", "me");
 
@@ -851,6 +902,7 @@
   tcase_add_test (tc_chain, test_missing_primary_decoder);
   tcase_add_test (tc_chain, test_refcount);
   tcase_add_test (tc_chain, test_source_setup);
+  tcase_add_test (tc_chain, test_element_setup);
 
 #if 0
   {
diff --git a/tests/check/elements/playsink.c b/tests/check/elements/playsink.c
new file mode 100644
index 0000000..c0e629c
--- /dev/null
+++ b/tests/check/elements/playsink.c
@@ -0,0 +1,88 @@
+/* GStreamer unit tests for playsink
+ * Copyright (C) 2015 Tim-Philipp Müller <tim 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 <gst/check/gstcheck.h>
+
+
+GST_START_TEST (test_volume_in_sink)
+{
+  GstElement *pipe, *audiosink, *playsink, *fakesink, *volume, *src;
+  GstPad *sinkpad;
+  GstMessage *msg;
+
+  pipe = gst_pipeline_new (NULL);
+  playsink = gst_element_factory_make ("playsink", NULL);
+
+  audiosink = gst_bin_new ("audiosink");
+  volume = gst_element_factory_make ("volume", NULL);
+  fakesink = gst_element_factory_make ("fakesink", NULL);
+  gst_bin_add_many (GST_BIN (audiosink), volume, fakesink, NULL);
+  gst_element_link_many (volume, fakesink, NULL);
+  sinkpad = gst_element_get_static_pad (volume, "sink");
+  gst_element_add_pad (audiosink, gst_ghost_pad_new ("sink", sinkpad));
+  gst_object_unref (sinkpad);
+
+  g_object_set (playsink, "audio-sink", audiosink, NULL);
+
+  src = gst_element_factory_make ("audiotestsrc", NULL);
+  g_object_set (src, "num-buffers", 5, NULL);
+
+
+  gst_bin_add (GST_BIN (pipe), src);
+  gst_bin_add (GST_BIN (pipe), playsink);
+
+  if (!gst_element_link (src, playsink))
+    g_error ("oops");
+
+  fail_unless_equals_int (gst_element_set_state (pipe, GST_STATE_PLAYING),
+      GST_STATE_CHANGE_ASYNC);
+
+  /* wait for eos */
+  msg = gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipe), GST_CLOCK_TIME_NONE,
+      GST_MESSAGE_EOS | GST_MESSAGE_ERROR);
+  fail_if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR);
+  gst_message_unref (msg);
+
+  fail_unless_equals_int (gst_element_set_state (pipe, GST_STATE_NULL),
+      GST_STATE_CHANGE_SUCCESS);
+
+  gst_object_unref (pipe);
+}
+
+GST_END_TEST;
+
+
+static Suite *
+playsink_suite (void)
+{
+  Suite *s = suite_create ("playsink");
+  TCase *tc_chain = tcase_create ("general");
+
+  suite_add_tcase (s, tc_chain);
+
+  tcase_add_test (tc_chain, test_volume_in_sink);
+
+  return s;
+}
+
+GST_CHECK_MAIN (playsink);
diff --git a/tests/check/elements/subparse.c b/tests/check/elements/subparse.c
index 306b7f8..8c827f0 100644
--- a/tests/check/elements/subparse.c
+++ b/tests/check/elements/subparse.c
@@ -160,6 +160,25 @@
       3090 * GST_MSECOND, 4000 * GST_MSECOND, "Three"}
 };
 
+/* Some WebVTT chunks, this format is similar to SRT but should be
+ * parsed differently nonetheless, the WebVTT tags should be stripped
+ * off. */
+static SubParseInputChunk srt_input4[] = {
+  {
+        "1\n00:00:01,000 --> 00:00:02,000\n<v>some text\n\n",
+      1 * GST_SECOND, 2 * GST_SECOND, "some text"}
+  ,
+  {
+        "1\n00:00:01,000 --> 00:00:02,000\n<b.loud>some text\n\n",
+      1 * GST_SECOND, 2 * GST_SECOND, "<b>some text</b>"}
+  ,
+  {
+        "1\n00:00:01,000 --> 00:00:02,000\n<ruby>base text<rt>annotation</rt></ruby>\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND,
+      "base textannotation"}
+  ,
+};
+
 static void
 setup_subparse (void)
 {
@@ -260,6 +279,71 @@
   teardown_subparse ();
 }
 
+static void
+test_vtt_do_test (SubParseInputChunk * input, guint start_idx, guint num)
+{
+  guint n;
+
+  GST_LOG ("vtt test: start_idx = %u, num = %u", start_idx, num);
+
+  setup_subparse ();
+
+  for (n = start_idx; n < start_idx + num; ++n) {
+    GstBuffer *buf;
+    gchar *data = g_strconcat ("WEBVTT FILE\n", input[n].in, NULL);
+    buf = buffer_from_static_string (data);
+    fail_unless_equals_int (gst_pad_push (mysrcpad, buf), GST_FLOW_OK);
+    g_free (data);
+  }
+
+  gst_pad_push_event (mysrcpad, gst_event_new_eos ());
+
+  fail_unless_equals_int (g_list_length (buffers), num);
+
+  for (n = start_idx; n < start_idx + num; ++n) {
+    const GstStructure *buffer_caps_struct;
+    GstMapInfo map;
+    GstBuffer *buf;
+    GstCaps *outcaps;
+    gchar *out;
+    guint out_size;
+
+    buf = g_list_nth_data (buffers, n - start_idx);
+    fail_unless (buf != NULL);
+    fail_unless (GST_BUFFER_TIMESTAMP_IS_VALID (buf), NULL);
+    fail_unless (GST_BUFFER_DURATION_IS_VALID (buf), NULL);
+    fail_unless_equals_uint64 (GST_BUFFER_TIMESTAMP (buf), input[n].from_ts);
+    fail_unless_equals_uint64 (GST_BUFFER_DURATION (buf),
+        input[n].to_ts - input[n].from_ts);
+    fail_unless (gst_buffer_map (buf, &map, GST_MAP_READ));
+    out = (gchar *) map.data;
+
+    out_size = gst_buffer_get_size (buf);
+    /* shouldn't have trailing newline characters */
+    fail_if (out_size > 0 && out[out_size - 1] == '\n');
+    /* shouldn't include NUL-terminator in data size */
+    fail_if (out_size > 0 && out[out_size - 1] == '\0');
+    /* but should still have a  NUL-terminator behind the declared data */
+    fail_unless_equals_int (out[out_size], '\0');
+    /* make sure out string matches expected string */
+    fail_unless_equals_string (out, input[n].out);
+
+    gst_buffer_unmap (buf, &map);
+
+    /* check caps */
+    outcaps = gst_pad_get_current_caps (mysinkpad);
+    fail_unless (outcaps != NULL);
+    buffer_caps_struct = gst_caps_get_structure (outcaps, 0);
+    fail_unless_equals_string (gst_structure_get_name (buffer_caps_struct),
+        "text/x-raw");
+    fail_unless_equals_string (gst_structure_get_string (buffer_caps_struct,
+            "format"), "pango-markup");
+    gst_caps_unref (outcaps);
+  }
+
+  teardown_subparse ();
+}
+
 GST_START_TEST (test_srt)
 {
   test_srt_do_test (srt_input, 0, G_N_ELEMENTS (srt_input));
@@ -284,6 +368,96 @@
 
   /* try with fewer than three post-comma digits, and some extra spaces */
   test_srt_do_test (srt_input3, 0, G_N_ELEMENTS (srt_input3));
+
+  /* try with some WebVTT chunks */
+  test_srt_do_test (srt_input4, 0, G_N_ELEMENTS (srt_input4));
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (test_webvtt)
+{
+  SubParseInputChunk webvtt_input[] = {
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 D:vertical T:50%\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 D:vertical   T:50%\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 D:vertical\tT:50%\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 D:vertical-lr\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 L:-123\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 L:123\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 L:12%\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 L:12% S:35% A:start\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 A:middle\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000 A:end\nOne\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000\nOne & Two\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One &amp; Two"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000\nOne < Two\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "One &lt; Two"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000\n<v Spoke>Live long and prosper\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "<v Spoke>Live long and prosper</v>"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000\n<v The Joker>HAHAHA\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "<v The Joker>HAHAHA</v>"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000\n<c.someclass>some text\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "<c.someclass>some text</c>"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000\n<b.loud>some text\n\n",
+        1 * GST_SECOND, 2 * GST_SECOND, "<b.loud>some text</b>"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:02.000\n<ruby>base text<rt>annotation</rt></ruby>\n\n",
+          1 * GST_SECOND, 2 * GST_SECOND,
+        "<ruby>base text<rt>annotation</rt></ruby>"}
+    ,
+    {
+          "1\n00:00:01.000 --> 00:00:03.000\nOne... <00:00:00,200>Two... <00:00:00,500>Three...\n\n",
+          1 * GST_SECOND, 3 * GST_SECOND,
+        "One... &lt;00:00:00,200&gt;Two... &lt;00:00:00,500&gt;Three..."}
+    ,
+    {"1\n00:00:02.000 --> 00:00:03.000\nHello\nWorld\n\n",
+        2 * GST_SECOND, 3 * GST_SECOND, "Hello\nWorld"}
+    ,
+  };
+  test_vtt_do_test (webvtt_input, 0, G_N_ELEMENTS (webvtt_input));
 }
 
 GST_END_TEST;
@@ -836,6 +1010,7 @@
   suite_add_tcase (s, tc_chain);
 
   tcase_add_test (tc_chain, test_srt);
+  tcase_add_test (tc_chain, test_webvtt);
   tcase_add_test (tc_chain, test_tmplayer_multiline);
   tcase_add_test (tc_chain, test_tmplayer_multiline_with_bogus_lines);
   tcase_add_test (tc_chain, test_tmplayer_style1);
diff --git a/tests/check/elements/videoscale.c b/tests/check/elements/videoscale.c
index 369df32..9762048 100644
--- a/tests/check/elements/videoscale.c
+++ b/tests/check/elements/videoscale.c
@@ -809,8 +809,7 @@
       "Test Reverse Negotiation Sink",
       "Sink",
       "Some test sink", "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
 #if 0
   gstbase_sink_class->buffer_alloc =
diff --git a/tests/check/elements/vorbistag.c b/tests/check/elements/vorbistag.c
index 74a7075..0ffa102 100644
--- a/tests/check/elements/vorbistag.c
+++ b/tests/check/elements/vorbistag.c
@@ -118,6 +118,7 @@
 
   gst_pad_set_active (mysrcpad, FALSE);
   gst_pad_set_active (mysinkpad, FALSE);
+  gst_check_drop_buffers ();
   gst_check_teardown_src_pad (vorbistag);
   gst_check_teardown_sink_pad (vorbistag);
   gst_check_teardown_element (vorbistag);
diff --git a/tests/check/libs/audiodecoder.c b/tests/check/libs/audiodecoder.c
index 5b92caf..cba7a35 100644
--- a/tests/check/libs/audiodecoder.c
+++ b/tests/check/libs/audiodecoder.c
@@ -73,6 +73,8 @@
 
   gboolean setoutputformat_on_decoding;
   gboolean output_too_many_frames;
+  gboolean delay_decoding;
+  GstBuffer *prev_buf;
 };
 
 struct _GstAudioDecoderTesterClass
@@ -92,6 +94,11 @@
 static gboolean
 gst_audio_decoder_tester_stop (GstAudioDecoder * dec)
 {
+  GstAudioDecoderTester *tester = (GstAudioDecoderTester *)dec;
+  if (tester->prev_buf) {
+    gst_buffer_unref (tester->prev_buf);
+    tester->prev_buf = NULL;
+  }
   return TRUE;
 }
 
@@ -127,10 +134,14 @@
   gint size;
   GstMapInfo map;
   GstBuffer *output_buffer;
+  GstFlowReturn ret = GST_FLOW_OK;
+  gboolean do_plc = gst_audio_decoder_get_plc (dec) &&
+      gst_audio_decoder_get_plc_aware (dec);
 
-  if (buffer == NULL)
+  if (buffer == NULL || (!do_plc && gst_buffer_get_size (buffer) == 0))
     return GST_FLOW_OK;
 
+  gst_buffer_ref (buffer);
   if (tester->setoutputformat_on_decoding) {
     GstCaps *caps;
     GstAudioInfo info;
@@ -143,25 +154,46 @@
 
     gst_audio_decoder_set_output_format (dec, &info);
   }
+  if ((tester->delay_decoding && tester->prev_buf != NULL) ||
+      !tester->delay_decoding) {
+    gsize buf_num = tester->delay_decoding ? 2 : 1;
+    for (gint i = 0; i != buf_num; ++i) {
+      GstBuffer *cur_buf = buf_num == 1 || i != 0 ? buffer : tester->prev_buf;
+      gst_buffer_map (cur_buf, &map, GST_MAP_READ);
 
-  gst_buffer_map (buffer, &map, GST_MAP_READ);
+      /* the output is SE32LE stereo 44100 Hz */
+      size = 2 * 4;
+      g_assert (size == sizeof (guint64));
+      data = g_malloc0 (size);
 
-  /* the output is SE32LE stereo 44100 Hz */
-  size = 2 * 4;
-  g_assert (size == sizeof (guint64));
-  data = g_malloc0 (size);
+      if (map.size) {
+        g_assert_cmpint (map.size, >=, sizeof (guint64));
+        memcpy (data, map.data, sizeof (guint64));
+      }
 
-  memcpy (data, map.data, sizeof (guint64));
+      output_buffer = gst_buffer_new_wrapped (data, size);
 
-  output_buffer = gst_buffer_new_wrapped (data, size);
+      gst_buffer_unmap (cur_buf, &map);
 
-  gst_buffer_unmap (buffer, &map);
-
-  if (tester->output_too_many_frames) {
-    return gst_audio_decoder_finish_frame (dec, output_buffer, 2);
-  } else {
-    return gst_audio_decoder_finish_frame (dec, output_buffer, 1);
+      if (tester->output_too_many_frames) {
+        ret = gst_audio_decoder_finish_frame (dec, output_buffer, 2);
+      } else {
+        ret = gst_audio_decoder_finish_frame (dec, output_buffer, 1);
+      }
+      if (ret != GST_FLOW_OK)
+        break;
+    }
+    tester->delay_decoding = FALSE;
   }
+
+  if (tester->prev_buf)
+    gst_buffer_unref (tester->prev_buf);
+  tester->prev_buf = NULL;
+  if (tester->delay_decoding)
+    tester->prev_buf = buffer;
+  else
+    gst_buffer_unref (buffer);
+  return ret;
 }
 
 static void
@@ -178,10 +210,8 @@
       GST_PAD_SRC, GST_PAD_ALWAYS,
       GST_STATIC_CAPS ("audio/x-raw"));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
 
   gst_element_class_set_metadata (element_class,
       "AudioDecoderTester", "Decoder/Audio", "yep", "me");
@@ -1012,6 +1042,92 @@
 
 GST_END_TEST;
 
+GST_START_TEST (audiodecoder_plc_on_gap_event)
+{
+  /* GstAudioDecoder should not mark the stream DISCOUNT flag when
+  concealed audio eliminate discontinuity. More important it should not
+  mess with the timestamps */
+
+  GstClockTime pts;
+  GstClockTime dur = gst_util_uint64_scale_round (1, GST_SECOND, TEST_MSECS_PER_SAMPLE);
+  GstBuffer *buf;
+  GstHarness *h = setup_audiodecodertester (NULL, NULL);
+  gst_audio_decoder_set_plc_aware (GST_AUDIO_DECODER (h->element), TRUE);
+  gst_audio_decoder_set_plc (GST_AUDIO_DECODER (h->element), TRUE);
+
+  pts = gst_util_uint64_scale_round (0, GST_SECOND, TEST_MSECS_PER_SAMPLE);
+  gst_harness_push (h, create_test_buffer(0));
+  buf = gst_harness_pull (h);
+  fail_unless_equals_int (pts, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int (dur, GST_BUFFER_DURATION (buf));
+  fail_unless (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+
+  pts = gst_util_uint64_scale_round (1, GST_SECOND, TEST_MSECS_PER_SAMPLE);
+  gst_harness_push_event (h, gst_event_new_gap (pts, dur));
+  buf = gst_harness_pull (h);
+  fail_unless_equals_int (pts, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int (dur, GST_BUFFER_DURATION (buf));
+  fail_unless (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+
+  pts = gst_util_uint64_scale_round (2, GST_SECOND, TEST_MSECS_PER_SAMPLE);
+  buf = create_test_buffer(2);
+  GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
+  gst_harness_push (h, buf);
+  buf = gst_harness_pull (h);
+  fail_unless_equals_int (pts, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int (dur, GST_BUFFER_DURATION (buf));
+  fail_unless (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+  gst_harness_teardown (h);
+}
+GST_END_TEST;
+
+GST_START_TEST (audiodecoder_plc_on_gap_event_with_delay)
+{
+  /* The same thing as in audiodecoder_plc_on_gap_event, but GstAudioDecoder
+  subclass delays the decoding
+  */
+  GstClockTime pts0, pts1;
+  GstClockTime dur = gst_util_uint64_scale_round (1, GST_SECOND, TEST_MSECS_PER_SAMPLE);
+  GstBuffer *buf;
+  GstHarness *h = setup_audiodecodertester (NULL, NULL);
+  gst_audio_decoder_set_plc_aware (GST_AUDIO_DECODER (h->element), TRUE);
+  gst_audio_decoder_set_plc (GST_AUDIO_DECODER (h->element), TRUE);
+
+  pts0 = gst_util_uint64_scale_round (0, GST_SECOND, TEST_MSECS_PER_SAMPLE);;
+  gst_harness_push (h, create_test_buffer(0));
+  buf = gst_harness_pull (h);
+  fail_unless_equals_int (pts0, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int (dur, GST_BUFFER_DURATION (buf));
+  fail_unless (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+
+  ((GstAudioDecoderTester *)h->element)->delay_decoding = TRUE;
+  pts0 = gst_util_uint64_scale_round (1, GST_SECOND, TEST_MSECS_PER_SAMPLE);
+  gst_harness_push_event (h, gst_event_new_gap (pts0, dur));
+  fail_unless_equals_int (0, gst_harness_buffers_in_queue (h));
+
+  pts1 = gst_util_uint64_scale_round (2, GST_SECOND, TEST_MSECS_PER_SAMPLE);
+  buf = create_test_buffer(2);
+  GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
+  gst_harness_push (h, buf);
+  buf = gst_harness_pull (h);
+  fail_unless_equals_int (pts0, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int (dur, GST_BUFFER_DURATION (buf));
+  fail_unless (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+
+  buf = gst_harness_pull (h);
+  fail_unless_equals_int (pts1, GST_BUFFER_PTS (buf));
+  fail_unless_equals_int (dur, GST_BUFFER_DURATION (buf));
+  fail_unless (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT));
+  gst_buffer_unref (buf);
+  gst_harness_teardown (h);
+}
+GST_END_TEST;
+
 static Suite *
 gst_audiodecoder_suite (void)
 {
@@ -1039,6 +1155,9 @@
 
   tcase_add_test (tc, audiodecoder_tag_handling);
 
+  tcase_add_test (tc, audiodecoder_plc_on_gap_event);
+  tcase_add_test (tc, audiodecoder_plc_on_gap_event_with_delay);
+
   return s;
 }
 
diff --git a/tests/check/libs/audioencoder.c b/tests/check/libs/audioencoder.c
index 614440d..bcaf8d9 100644
--- a/tests/check/libs/audioencoder.c
+++ b/tests/check/libs/audioencoder.c
@@ -116,10 +116,8 @@
       GST_PAD_SRC, GST_PAD_ALWAYS,
       GST_STATIC_CAPS ("audio/x-test-custom"));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
 
   gst_element_class_set_metadata (element_class,
       "AudioEncoderTester", "Encoder/Audio", "yep", "me");
diff --git a/tests/check/libs/baseaudiovisualizer.c b/tests/check/libs/baseaudiovisualizer.c
index 70d7264..3e26de5 100644
--- a/tests/check/libs/baseaudiovisualizer.c
+++ b/tests/check/libs/baseaudiovisualizer.c
@@ -74,10 +74,10 @@
       "Visualization",
       "Dummy test scope", "Stefan Kost <ensonic@users.sf.net>");
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_test_scope_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_test_scope_sink_template));
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_test_scope_src_template);
+  gst_element_class_add_static_pad_template (element_class,
+      &gst_test_scope_sink_template);
 }
 
 static void
diff --git a/tests/check/libs/discoverer.c b/tests/check/libs/discoverer.c
index 8fe5ecf..bbee562 100644
--- a/tests/check/libs/discoverer.c
+++ b/tests/check/libs/discoverer.c
@@ -29,6 +29,7 @@
 #include <glib/gstdio.h>
 #include <glib/gprintf.h>
 
+static gboolean have_theora, have_ogg;
 
 GST_START_TEST (test_disco_init)
 {
@@ -66,6 +67,15 @@
 
   info = gst_discoverer_discover_uri (dc, uri, &err);
   fail_unless (info);
+  if (have_theora && have_ogg) {
+    fail_unless_equals_int (gst_discoverer_info_get_result (info),
+        GST_DISCOVERER_OK);
+  } else {
+    fail_unless_equals_int (gst_discoverer_info_get_result (info),
+        GST_DISCOVERER_MISSING_PLUGINS);
+    g_clear_error (&err);
+    goto missing_plugins;
+  }
   serialized =
       gst_discoverer_info_to_variant (info, GST_DISCOVERER_SERIALIZE_ALL);
 
@@ -83,13 +93,15 @@
 
   fail_unless (g_variant_equal (serialized, reserialized));
 
-  gst_discoverer_info_unref (info);
   gst_discoverer_info_unref (dinfo);
-  g_free (uri);
   g_variant_unref (serialized);
   g_variant_unref (reserialized);
 
+missing_plugins:
+
+  gst_discoverer_info_unref (info);
   g_object_unref (dc);
+  g_free (uri);
 }
 
 GST_END_TEST;
@@ -237,6 +249,11 @@
   Suite *s = suite_create ("discoverer");
   TCase *tc_chain = tcase_create ("general");
 
+  have_theora = gst_registry_check_feature_version (gst_registry_get (),
+      "theoradec", GST_VERSION_MAJOR, GST_VERSION_MINOR, 0);
+  have_ogg = gst_registry_check_feature_version (gst_registry_get (),
+      "oggdemux", GST_VERSION_MAJOR, GST_VERSION_MINOR, 0);
+
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_disco_init);
   tcase_add_test (tc_chain, test_disco_sync);
diff --git a/tests/check/libs/gstlibscpp.cc b/tests/check/libs/gstlibscpp.cc
index eaf7dbb..5a84ea3 100644
--- a/tests/check/libs/gstlibscpp.cc
+++ b/tests/check/libs/gstlibscpp.cc
@@ -102,6 +102,17 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_init_macros)
+{
+  GstRTCPBuffer rtcp = GST_RTCP_BUFFER_INIT;
+  GstRTPBuffer rtp = GST_RTP_BUFFER_INIT;
+
+  fail_unless_equals_int (rtp.size[0], 0)
+  fail_unless_equals_int (rtcp.map.size, 0);
+}
+
+GST_END_TEST;
+
 static Suite *
 libscpp_suite (void)
 {
@@ -110,6 +121,7 @@
 
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_nothing);
+  tcase_add_test (tc_chain, test_init_macros);
 
   return s;
 }
diff --git a/tests/check/libs/rtp.c b/tests/check/libs/rtp.c
index d69357a..20c01ab 100644
--- a/tests/check/libs/rtp.c
+++ b/tests/check/libs/rtp.c
@@ -991,6 +991,152 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_rtcp_buffer_profile_specific_extension)
+{
+  GstBuffer *buf;
+  GstRTCPBuffer rtcp = GST_RTCP_BUFFER_INIT;
+  GstRTCPPacket packet;
+  const guint8 pse[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 };
+  const guint8 pse2[] = { 0x01, 0x23, 0x45, 0x67 };
+
+  fail_unless ((buf = gst_rtcp_buffer_new (1400)) != NULL);
+  gst_rtcp_buffer_map (buf, GST_MAP_READWRITE, &rtcp);
+
+  fail_unless (gst_rtcp_buffer_validate (buf) == FALSE);
+  fail_unless (gst_rtcp_buffer_get_first_packet (&rtcp, &packet) == FALSE);
+  fail_unless (gst_rtcp_buffer_get_packet_count (&rtcp) == 0);
+
+  /* add an SR packet with sender info */
+  fail_unless (gst_rtcp_buffer_add_packet (&rtcp, GST_RTCP_TYPE_SR, &packet));
+  gst_rtcp_packet_sr_set_sender_info (&packet, 0x44556677,
+      G_GUINT64_CONSTANT (1), 0x11111111, 101, 123456);
+  fail_unless_equals_int (0,
+      gst_rtcp_packet_get_profile_specific_ext_length (&packet));
+  fail_unless_equals_int (6, gst_rtcp_packet_get_length (&packet));
+
+  /* add profile-specific extension */
+  fail_unless (gst_rtcp_packet_add_profile_specific_ext (&packet,
+          pse, sizeof (pse)));
+  {
+    guint8 *data = NULL;
+    guint len = 0;
+
+    fail_unless_equals_int (8, gst_rtcp_packet_get_length (&packet));
+    fail_unless_equals_int (sizeof (pse) / 4,
+        gst_rtcp_packet_get_profile_specific_ext_length (&packet));
+
+    /* gst_rtcp_packet_get_profile_specific_ext */
+    fail_unless (gst_rtcp_packet_get_profile_specific_ext (&packet, &data,
+            &len));
+    fail_unless_equals_int (sizeof (pse), len);
+    fail_unless (data != NULL);
+    fail_unless_equals_int (0, memcmp (pse, data, sizeof (pse)));
+
+    /* gst_rtcp_packet_copy_profile_specific_ext */
+    fail_unless (gst_rtcp_packet_copy_profile_specific_ext (&packet, &data,
+            &len));
+    fail_unless_equals_int (sizeof (pse), len);
+    fail_unless (data != NULL);
+    fail_unless_equals_int (0, memcmp (pse, data, sizeof (pse)));
+    g_free (data);
+  }
+
+  /* append more profile-specific extension */
+  fail_unless (gst_rtcp_packet_add_profile_specific_ext (&packet,
+          pse2, sizeof (pse2)));
+  {
+    guint8 *data = NULL;
+    guint len = 0;
+    guint concat_len;
+    guint8 *concat_pse;
+
+    /* Expect the second extension to be appended to the first */
+    concat_len = sizeof (pse) + sizeof (pse2);
+    concat_pse = g_malloc (concat_len);
+    memcpy (concat_pse, pse, sizeof (pse));
+    memcpy (concat_pse + sizeof (pse), pse2, sizeof (pse2));
+
+    fail_unless_equals_int (9, gst_rtcp_packet_get_length (&packet));
+    fail_unless_equals_int (concat_len / 4,
+        gst_rtcp_packet_get_profile_specific_ext_length (&packet));
+
+    /* gst_rtcp_packet_get_profile_specific_ext */
+    fail_unless (gst_rtcp_packet_get_profile_specific_ext (&packet, &data,
+            &len));
+    fail_unless_equals_int (concat_len, len);
+    fail_unless (data != NULL);
+    fail_unless_equals_int (0, memcmp (concat_pse, data, len));
+
+    /* gst_rtcp_packet_copy_profile_specific_ext */
+    fail_unless (gst_rtcp_packet_copy_profile_specific_ext (&packet, &data,
+            &len));
+    fail_unless_equals_int (concat_len, len);
+    fail_unless (data != NULL);
+    fail_unless_equals_int (0, memcmp (concat_pse, data, len));
+    g_free (data);
+    g_free (concat_pse);
+  }
+
+  /* close and validate */
+  gst_rtcp_buffer_unmap (&rtcp);
+  fail_unless (gst_rtcp_buffer_validate (buf) == TRUE);
+  gst_buffer_unref (buf);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_rtcp_buffer_app)
+{
+  GstBuffer *buf;
+  GstRTCPBuffer rtcp = GST_RTCP_BUFFER_INIT;
+  GstRTCPPacket packet;
+  guint mtu = 1000;
+  const guint8 data[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 };
+  guint max_data_length = (mtu - 12) / 4;
+  guint8 *data_ptr;
+
+  fail_unless ((buf = gst_rtcp_buffer_new (mtu)) != NULL);
+  gst_rtcp_buffer_map (buf, GST_MAP_READWRITE, &rtcp);
+
+  /* Not a valid packet yet */
+  fail_if (gst_rtcp_buffer_validate (buf));
+  fail_if (gst_rtcp_buffer_get_first_packet (&rtcp, &packet));
+  fail_unless_equals_int (gst_rtcp_buffer_get_packet_count (&rtcp), 0);
+
+  /* Add APP packet  */
+  fail_unless (gst_rtcp_buffer_add_packet (&rtcp, GST_RTCP_TYPE_APP, &packet));
+  gst_rtcp_packet_app_set_subtype (&packet, 0x15);
+  gst_rtcp_packet_app_set_ssrc (&packet, 0x01234567);
+  gst_rtcp_packet_app_set_name (&packet, "Test");
+
+  /* Check maximum allowed data */
+  fail_if (gst_rtcp_packet_app_set_data_length (&packet, max_data_length + 1));
+  fail_unless (gst_rtcp_packet_app_set_data_length (&packet, max_data_length));
+
+  /* Add data */
+  fail_unless (gst_rtcp_packet_app_set_data_length (&packet,
+          (sizeof (data) + 3) / 4));
+  fail_unless_equals_int (gst_rtcp_packet_app_get_data_length (&packet), 2);
+  fail_unless ((data_ptr = gst_rtcp_packet_app_get_data (&packet)));
+  memcpy (data_ptr, data, sizeof (data));
+
+  gst_rtcp_buffer_unmap (&rtcp);
+
+  /* Map again with only the READ flag and check fields */
+  gst_rtcp_buffer_map (buf, GST_MAP_READ, &rtcp);
+  fail_unless_equals_int (gst_rtcp_packet_app_get_subtype (&packet), 0x15);
+  fail_unless_equals_int (gst_rtcp_packet_app_get_ssrc (&packet), 0x01234567);
+  fail_unless (memcmp (gst_rtcp_packet_app_get_name (&packet), "Test", 4) == 0);
+  fail_unless_equals_int (gst_rtcp_packet_app_get_data_length (&packet), 2);
+  fail_unless ((data_ptr = gst_rtcp_packet_app_get_data (&packet)));
+  fail_unless (memcmp (data_ptr, data, sizeof (data)) == 0);
+  gst_rtcp_buffer_unmap (&rtcp);
+
+  gst_buffer_unref (buf);
+}
+
+GST_END_TEST;
+
 GST_START_TEST (test_rtp_ntp64_extension)
 {
   GstBuffer *buf;
@@ -1231,6 +1377,9 @@
       test_rtcp_validate_with_padding_set_in_first_packet);
   tcase_add_test (tc_chain, test_rtcp_validate_reduced_without_padding);
   tcase_add_test (tc_chain, test_rtcp_validate_reduced_with_padding);
+  tcase_add_test (tc_chain, test_rtcp_buffer_profile_specific_extension);
+  tcase_add_test (tc_chain, test_rtcp_buffer_app);
+
   tcase_add_test (tc_chain, test_rtp_ntp64_extension);
   tcase_add_test (tc_chain, test_rtp_ntp56_extension);
 
diff --git a/tests/check/libs/rtpbasedepayload.c b/tests/check/libs/rtpbasedepayload.c
index 003f2f0..63cbc87 100644
--- a/tests/check/libs/rtpbasedepayload.c
+++ b/tests/check/libs/rtpbasedepayload.c
@@ -83,10 +83,10 @@
   gstelement_class = GST_ELEMENT_CLASS (klass);
   gstrtpbasedepayload_class = GST_RTP_BASE_DEPAYLOAD_CLASS (klass);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtp_dummy_depay_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtp_dummy_depay_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_rtp_dummy_depay_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_rtp_dummy_depay_src_template);
 
   gstrtpbasedepayload_class->process = gst_rtp_dummy_depay_process;
   gstrtpbasedepayload_class->set_caps = gst_rtp_dummy_depay_set_caps;
@@ -730,6 +730,50 @@
 }
 
 GST_END_TEST
+/* The same scenario as in rtp_base_depayload_reversed_test
+ * except that SSRC is changed for the 2nd packet that is why
+ * it should not be discarded.
+ */
+GST_START_TEST (rtp_base_depayload_ssrc_changed_test)
+{
+  State *state;
+
+  state = create_depayloader ("application/x-rtp", NULL);
+
+  set_state (state, GST_STATE_PLAYING);
+
+  push_rtp_buffer (state,
+      "pts", 0 * GST_SECOND,
+      "rtptime", G_GUINT64_CONSTANT (0x43214321),
+      "seq", 0x4242, "ssrc", 0xabe2b0b, NULL);
+
+  push_rtp_buffer (state,
+      "pts", 1 * GST_SECOND,
+      "rtptime", G_GUINT64_CONSTANT (0x43214321) + 1 * DEFAULT_CLOCK_RATE,
+      "seq", 0x4242 - 1, "ssrc", 0xcafebabe, NULL);
+
+  set_state (state, GST_STATE_NULL);
+
+  validate_buffers_received (2);
+
+  validate_buffer (0, "pts", 0 * GST_SECOND, "discont", FALSE, NULL);
+
+  validate_buffer (1, "pts", 1 * GST_SECOND, "discont", TRUE, NULL);
+
+  validate_events_received (3);
+
+  validate_event (0, "stream-start", NULL);
+
+  validate_event (1, "caps", "media-type", "application/x-rtp", NULL);
+
+  validate_event (2, "segment",
+      "time", G_GUINT64_CONSTANT (0),
+      "start", G_GUINT64_CONSTANT (0), "stop", G_MAXUINT64, NULL);
+
+  destroy_depayloader (state);
+}
+
+GST_END_TEST
 /* the intent of this test is to push two RTP packets that have reverse sequence
  * numbers that differ significantly. the depayloader will consider RTP packets
  * where the sequence numbers differ by more than 1000 to indicate that the
@@ -1198,6 +1242,7 @@
   tcase_add_test (tc_chain, rtp_base_depayload_invalid_rtp_packet_test);
   tcase_add_test (tc_chain, rtp_base_depayload_with_gap_test);
   tcase_add_test (tc_chain, rtp_base_depayload_reversed_test);
+  tcase_add_test (tc_chain, rtp_base_depayload_ssrc_changed_test);
   tcase_add_test (tc_chain, rtp_base_depayload_old_reversed_test);
 
   tcase_add_test (tc_chain, rtp_base_depayload_without_negotiation_test);
diff --git a/tests/check/libs/rtpbasepayload.c b/tests/check/libs/rtpbasepayload.c
index 09f5ca0..3cc6e41 100644
--- a/tests/check/libs/rtpbasepayload.c
+++ b/tests/check/libs/rtpbasepayload.c
@@ -80,10 +80,10 @@
   gstelement_class = GST_ELEMENT_CLASS (klass);
   gstrtpbasepayload_class = GST_RTP_BASE_PAYLOAD_CLASS (klass);
 
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtp_dummy_pay_sink_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtp_dummy_pay_src_template));
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_rtp_dummy_pay_sink_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &gst_rtp_dummy_pay_src_template);
 
   gstrtpbasepayload_class->handle_buffer = gst_rtp_dummy_pay_handle_buffer;
 }
diff --git a/tests/check/libs/tag.c b/tests/check/libs/tag.c
index e8244bf..992b198 100644
--- a/tests/check/libs/tag.c
+++ b/tests/check/libs/tag.c
@@ -1676,10 +1676,11 @@
   g_value_unset (&value);
 
   g_value_init (&value, G_TYPE_DOUBLE);
-  g_value_set_double (&value, 30.5);
+  g_value_set_double (&value, 40.3456784);
   do_simple_exif_tag_serialization_deserialization
       (GST_TAG_GEO_LOCATION_LATITUDE, &value);
-  g_value_set_double (&value, -12.125);
+  g_value_set_double (&value, -12.1250865);
+
   do_simple_exif_tag_serialization_deserialization
       (GST_TAG_GEO_LOCATION_LATITUDE, &value);
   g_value_set_double (&value, 0);
@@ -1775,6 +1776,10 @@
   g_value_set_double (&value, -2.5);
   do_simple_exif_tag_serialization_deserialization
       (GST_TAG_CAPTURING_EXPOSURE_COMPENSATION, &value);
+
+  g_value_set_double (&value, 50.0);
+  do_simple_exif_tag_serialization_deserialization
+      (GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM, &value);
   g_value_unset (&value);
 
   g_value_init (&value, G_TYPE_INT);
diff --git a/tests/check/libs/video.c b/tests/check/libs/video.c
index 86c565f..1b0c7c4 100644
--- a/tests/check/libs/video.c
+++ b/tests/check/libs/video.c
@@ -343,6 +343,7 @@
     case GST_VIDEO_FORMAT_YVU9:
       return FALSE;
     case GST_VIDEO_FORMAT_IYU1:
+    case GST_VIDEO_FORMAT_IYU2:
     case GST_VIDEO_FORMAT_YUY2:
     case GST_VIDEO_FORMAT_YVYU:
     case GST_VIDEO_FORMAT_UYVY:
diff --git a/tests/check/libs/videodecoder.c b/tests/check/libs/videodecoder.c
index 1fc9f36..b780079 100644
--- a/tests/check/libs/videodecoder.c
+++ b/tests/check/libs/videodecoder.c
@@ -185,10 +185,8 @@
       GST_PAD_SRC, GST_PAD_ALWAYS,
       GST_STATIC_CAPS ("video/x-raw"));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
 
   gst_element_class_set_metadata (element_class,
       "VideoDecoderTester", "Decoder/Video", "yep", "me");
diff --git a/tests/check/libs/videoencoder.c b/tests/check/libs/videoencoder.c
index 1844ab6..e1c180d 100644
--- a/tests/check/libs/videoencoder.c
+++ b/tests/check/libs/videoencoder.c
@@ -128,10 +128,8 @@
       GST_PAD_SRC, GST_PAD_ALWAYS,
       GST_STATIC_CAPS ("video/x-test-custom"));
 
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&sink_templ));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&src_templ));
+  gst_element_class_add_static_pad_template (element_class, &sink_templ);
+  gst_element_class_add_static_pad_template (element_class, &src_templ);
 
   gst_element_class_set_metadata (element_class,
       "VideoEncoderTester", "Encoder/Video", "yep", "me");
diff --git a/tests/check/pipelines/vorbisenc.c b/tests/check/pipelines/vorbisenc.c
index 246c903..6eeefcc 100644
--- a/tests/check/pipelines/vorbisenc.c
+++ b/tests/check/pipelines/vorbisenc.c
@@ -96,7 +96,7 @@
 
   pipe_str = g_strdup_printf ("audiotestsrc timestamp-offset=%" G_GUINT64_FORMAT
       " ! audio/x-raw,rate=44100"
-      " ! audioconvert ! vorbisenc ! fakesink", TIMESTAMP_OFFSET);
+      " ! audioconvert ! vorbisenc ! fakesink name=sink", TIMESTAMP_OFFSET);
 
   bin = gst_parse_launch (pipe_str, &error);
   fail_unless (bin != NULL, "Error parsing pipeline: %s",
@@ -105,7 +105,7 @@
 
   /* get the pad */
   {
-    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fakesink0");
+    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "sink");
 
     fail_unless (sink != NULL, "Could not get fakesink out of bin");
     pad = gst_element_get_static_pad (sink, "sink");
@@ -187,7 +187,8 @@
   GError *error = NULL;
 
   pipe_str = g_strdup_printf ("audiotestsrc"
-      " ! audio/x-raw,rate=44100 ! audioconvert ! vorbisenc ! fakesink");
+      " ! audio/x-raw,rate=44100 ! audioconvert ! vorbisenc "
+      " ! fakesink name=sink");
 
   bin = gst_parse_launch (pipe_str, &error);
   fail_unless (bin != NULL, "Error parsing pipeline: %s",
@@ -196,7 +197,7 @@
 
   /* get the pad */
   {
-    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fakesink0");
+    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "sink");
 
     fail_unless (sink != NULL, "Could not get fakesink out of bin");
     pad = gst_element_get_static_pad (sink, "sink");
@@ -287,8 +288,8 @@
 
   /* make audioencoder act sufficiently pedantic */
   pipe_str = g_strdup_printf ("audiotestsrc samplesperbuffer=1024"
-      " ! audio/x-raw,rate=44100" " ! audioconvert "
-      " ! vorbisenc tolerance=10000000 ! fakesink");
+      " ! audio/x-raw,rate=44100 ! audioconvert "
+      " ! vorbisenc tolerance=10000000 name=enc ! fakesink name=sink");
 
   bin = gst_parse_launch (pipe_str, &error);
   fail_unless (bin != NULL, "Error parsing pipeline: %s",
@@ -300,7 +301,7 @@
 
   /* get the pad to use to drop buffers */
   {
-    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "vorbisenc0");
+    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "enc");
 
     fail_unless (sink != NULL, "Could not get vorbisenc out of bin");
     droppad = gst_element_get_static_pad (sink, "sink");
@@ -310,7 +311,7 @@
 
   /* get the pad */
   {
-    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fakesink0");
+    GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "sink");
 
     fail_unless (sink != NULL, "Could not get fakesink out of bin");
     pad = gst_element_get_static_pad (sink, "sink");
diff --git a/tests/examples/Makefile.am b/tests/examples/Makefile.am
index 90171e9..330ea8f 100644
--- a/tests/examples/Makefile.am
+++ b/tests/examples/Makefile.am
@@ -2,8 +2,8 @@
 GTK_SUBDIRS = playback seek snapshot
 endif
 
-SUBDIRS = app audio dynamic fft $(GTK_SUBDIRS) gio overlay playrec encoding
-DIST_SUBDIRS = app audio dynamic fft gio playback overlay seek snapshot playrec encoding
+SUBDIRS = app audio decodebin_next dynamic fft $(GTK_SUBDIRS) gio overlay playrec encoding
+DIST_SUBDIRS = app audio dynamic decodebin_next fft gio playback overlay seek snapshot playrec encoding
 
 include $(top_srcdir)/common/parallel-subdirs.mak
 
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index bd90000..22d04c1 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -511,8 +511,8 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 @HAVE_GTK_TRUE@GTK_SUBDIRS = playback seek snapshot
-SUBDIRS = app audio dynamic fft $(GTK_SUBDIRS) gio overlay playrec encoding
-DIST_SUBDIRS = app audio dynamic fft gio playback overlay seek snapshot playrec encoding
+SUBDIRS = app audio decodebin_next dynamic fft $(GTK_SUBDIRS) gio overlay playrec encoding
+DIST_SUBDIRS = app audio dynamic decodebin_next fft gio playback overlay seek snapshot playrec encoding
 all: all-recursive
 
 .SUFFIXES:
diff --git a/tests/examples/decodebin_next/Makefile.am b/tests/examples/decodebin_next/Makefile.am
new file mode 100644
index 0000000..5270bec
--- /dev/null
+++ b/tests/examples/decodebin_next/Makefile.am
@@ -0,0 +1,5 @@
+noinst_PROGRAMS = decodebin3 playbin-test
+
+LDADD = $(GST_LIBS)
+
+AM_CFLAGS = -I$(top_builddir)/gst-libs $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
diff --git a/tests/examples/decodebin_next/Makefile.in b/tests/examples/decodebin_next/Makefile.in
new file mode 100644
index 0000000..5f52ac8
--- /dev/null
+++ b/tests/examples/decodebin_next/Makefile.in
@@ -0,0 +1,804 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+noinst_PROGRAMS = decodebin3$(EXEEXT) playbin-test$(EXEEXT)
+subdir = tests/examples/decodebin_next
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
+	$(top_srcdir)/common/m4/as-auto-alt.m4 \
+	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
+	$(top_srcdir)/common/m4/as-libtool.m4 \
+	$(top_srcdir)/common/m4/as-version.m4 \
+	$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
+	$(top_srcdir)/common/m4/gst-arch.m4 \
+	$(top_srcdir)/common/m4/gst-args.m4 \
+	$(top_srcdir)/common/m4/gst-check.m4 \
+	$(top_srcdir)/common/m4/gst-default.m4 \
+	$(top_srcdir)/common/m4/gst-error.m4 \
+	$(top_srcdir)/common/m4/gst-feature.m4 \
+	$(top_srcdir)/common/m4/gst-function.m4 \
+	$(top_srcdir)/common/m4/gst-gettext.m4 \
+	$(top_srcdir)/common/m4/gst-glib2.m4 \
+	$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
+	$(top_srcdir)/common/m4/gst-platform.m4 \
+	$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
+	$(top_srcdir)/common/m4/gst-plugindir.m4 \
+	$(top_srcdir)/common/m4/gst.m4 \
+	$(top_srcdir)/common/m4/gtk-doc.m4 \
+	$(top_srcdir)/common/m4/introspection.m4 \
+	$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
+	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-alsa.m4 \
+	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/lrint.m4 $(top_srcdir)/m4/lrintf.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+decodebin3_SOURCES = decodebin3.c
+decodebin3_OBJECTS = decodebin3.$(OBJEXT)
+decodebin3_LDADD = $(LDADD)
+am__DEPENDENCIES_1 =
+decodebin3_DEPENDENCIES = $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+playbin_test_SOURCES = playbin-test.c
+playbin_test_OBJECTS = playbin-test.$(OBJEXT)
+playbin_test_LDADD = $(LDADD)
+playbin_test_DEPENDENCIES = $(am__DEPENDENCIES_1)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = decodebin3.c playbin-test.c
+DIST_SOURCES = decodebin3.c playbin-test.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
+ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_LIBS = @ALSA_LIBS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUDIORESAMPLE_FORMAT_AUTO = @AUDIORESAMPLE_FORMAT_AUTO@
+AUDIORESAMPLE_FORMAT_FLOAT = @AUDIORESAMPLE_FORMAT_FLOAT@
+AUDIORESAMPLE_FORMAT_INT = @AUDIORESAMPLE_FORMAT_INT@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CDPARANOIA_CFLAGS = @CDPARANOIA_CFLAGS@
+CDPARANOIA_LIBS = @CDPARANOIA_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
+DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
+DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
+DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
+DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+EXEEXT = @EXEEXT@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GCOV_CFLAGS = @GCOV_CFLAGS@
+GCOV_LIBS = @GCOV_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LDFLAGS = @GIO_LDFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GIO_UNIX_2_0_CFLAGS = @GIO_UNIX_2_0_CFLAGS@
+GIO_UNIX_2_0_LIBS = @GIO_UNIX_2_0_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GLIB_PREFIX = @GLIB_PREFIX@
+GLIB_REQ = @GLIB_REQ@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GST_AGE = @GST_AGE@
+GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
+GST_API_VERSION = @GST_API_VERSION@
+GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
+GST_BASE_LIBS = @GST_BASE_LIBS@
+GST_CFLAGS = @GST_CFLAGS@
+GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
+GST_CHECK_LIBS = @GST_CHECK_LIBS@
+GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
+GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
+GST_CURRENT = @GST_CURRENT@
+GST_CXXFLAGS = @GST_CXXFLAGS@
+GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
+GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
+GST_LIBS = @GST_LIBS@
+GST_LIBVERSION = @GST_LIBVERSION@
+GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
+GST_LICENSE = @GST_LICENSE@
+GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
+GST_NET_CFLAGS = @GST_NET_CFLAGS@
+GST_NET_LIBS = @GST_NET_LIBS@
+GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
+GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
+GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
+GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
+GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
+GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
+GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
+GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
+GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
+GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
+GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
+GST_PREFIX = @GST_PREFIX@
+GST_REVISION = @GST_REVISION@
+GST_TOOLS_DIR = @GST_TOOLS_DIR@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+GTK_QUARTZ_CFLAGS = @GTK_QUARTZ_CFLAGS@
+GTK_QUARTZ_LIBS = @GTK_QUARTZ_LIBS@
+GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
+GTK_X11_LIBS = @GTK_X11_LIBS@
+HAVE_CDPARANOIA = @HAVE_CDPARANOIA@
+HAVE_XSHM = @HAVE_XSHM@
+HAVE_ZLIB = @HAVE_ZLIB@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+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@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+IVORBIS_CFLAGS = @IVORBIS_CFLAGS@
+IVORBIS_LIBS = @IVORBIS_LIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
+LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALEDIR = @LOCALEDIR@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OPUS_CFLAGS = @OPUS_CFLAGS@
+OPUS_LIBS = @OPUS_LIBS@
+ORCC = @ORCC@
+ORCC_FLAGS = @ORCC_FLAGS@
+ORC_CFLAGS = @ORC_CFLAGS@
+ORC_LIBS = @ORC_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
+PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
+PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
+PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
+PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
+PANGO_CFLAGS = @PANGO_CFLAGS@
+PANGO_LIBS = @PANGO_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGINDIR = @PLUGINDIR@
+POSUB = @POSUB@
+PROFILE_CFLAGS = @PROFILE_CFLAGS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QTCHOOSER = @QTCHOOSER@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+QT_MOC = @QT_MOC@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+THEORA_CFLAGS = @THEORA_CFLAGS@
+THEORA_LIBS = @THEORA_LIBS@
+USE_NLS = @USE_NLS@
+VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+VALGRIND_LIBS = @VALGRIND_LIBS@
+VALGRIND_PATH = @VALGRIND_PATH@
+VERSION = @VERSION@
+VORBIS_CFLAGS = @VORBIS_CFLAGS@
+VORBIS_LIBS = @VORBIS_LIBS@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WIN32_LIBS = @WIN32_LIBS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XSHM_CFLAGS = @XSHM_CFLAGS@
+XSHM_LIBS = @XSHM_LIBS@
+XVIDEO_CFLAGS = @XVIDEO_CFLAGS@
+XVIDEO_LIBS = @XVIDEO_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_LIBS = @X_LIBS@
+ZLIB_CFLAGS = @ZLIB_CFLAGS@
+ZLIB_LIBS = @ZLIB_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+plugindir = @plugindir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+LDADD = $(GST_LIBS)
+AM_CFLAGS = -I$(top_builddir)/gst-libs $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/examples/decodebin_next/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu tests/examples/decodebin_next/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+
+decodebin3$(EXEEXT): $(decodebin3_OBJECTS) $(decodebin3_DEPENDENCIES) $(EXTRA_decodebin3_DEPENDENCIES) 
+	@rm -f decodebin3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(decodebin3_OBJECTS) $(decodebin3_LDADD) $(LIBS)
+
+playbin-test$(EXEEXT): $(playbin_test_OBJECTS) $(playbin_test_DEPENDENCIES) $(EXTRA_playbin_test_DEPENDENCIES) 
+	@rm -f playbin-test$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(playbin_test_OBJECTS) $(playbin_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decodebin3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playbin-test.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+	ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/examples/decodebin_next/decodebin3.c b/tests/examples/decodebin_next/decodebin3.c
new file mode 100644
index 0000000..2eb2a68
--- /dev/null
+++ b/tests/examples/decodebin_next/decodebin3.c
@@ -0,0 +1,353 @@
+/* sample application for testing decodebin3
+ *
+ * Copyright (C) 2015 Centricular Ltd
+ *  @author:  Edward Hervey <edward@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 <glib.h>
+#include <glib-object.h>
+#include <glib/gprintf.h>
+#include <gst/gst.h>
+
+/* Global structure */
+
+typedef struct _MyDataStruct
+{
+  GMainLoop *mainloop;
+  GstElement *pipeline;
+  GstBus *demux_bus;
+
+  GstElement *decodebin;
+
+  GstElement *src;
+  GList *other_src;
+  GstElement *playsink;
+
+  /* Current collection */
+  GstStreamCollection *collection;
+  guint notify_id;
+
+  guint current_audio;
+  guint current_video;
+  guint current_text;
+
+  glong timeout_id;
+} MyDataStruct;
+
+static void
+print_tag_foreach (const GstTagList * tags, const gchar * tag,
+    gpointer user_data)
+{
+  GValue val = { 0, };
+  gchar *str;
+  gint depth = GPOINTER_TO_INT (user_data);
+
+  if (!gst_tag_list_copy_value (&val, tags, tag))
+    return;
+
+  if (G_VALUE_HOLDS_STRING (&val))
+    str = g_value_dup_string (&val);
+  else
+    str = gst_value_serialize (&val);
+
+  g_print ("%*s%s: %s\n", 2 * depth, " ", gst_tag_get_nick (tag), str);
+  g_free (str);
+
+  g_value_unset (&val);
+}
+
+static void
+dump_collection (GstStreamCollection * collection)
+{
+  guint i;
+  const GstTagList *tags;
+  const GstCaps *caps;
+
+  for (i = 0; i < gst_stream_collection_get_size (collection); i++) {
+    GstStream *stream = gst_stream_collection_get_stream (collection, i);
+    g_print (" Stream %u type %s flags 0x%x\n", i,
+        gst_stream_type_get_name (gst_stream_get_stream_type (stream)),
+        gst_stream_get_stream_flags (stream));
+    g_print ("  ID: %s\n", gst_stream_get_stream_id (stream));
+
+    caps = gst_stream_get_caps (stream);
+    if (caps) {
+      gchar *caps_str = gst_caps_to_string (caps);
+      g_print ("  caps: %s\n", caps_str);
+      g_free (caps_str);
+    }
+
+    tags = gst_stream_get_tags (stream);
+    if (tags) {
+      g_print ("  tags:\n");
+      gst_tag_list_foreach (tags, print_tag_foreach, GUINT_TO_POINTER (3));
+    }
+  }
+}
+
+static gboolean
+switch_streams (MyDataStruct * data)
+{
+  guint i, nb_streams;
+  gint nb_video = 0, nb_audio = 0, nb_text = 0;
+  GstStream *videos[256], *audios[256], *texts[256];
+  GList *streams = NULL;
+  GstEvent *ev;
+
+  g_print ("Switching Streams...\n");
+
+  /* Calculate the number of streams of each type */
+  nb_streams = gst_stream_collection_get_size (data->collection);
+  for (i = 0; i < nb_streams; i++) {
+    GstStream *stream = gst_stream_collection_get_stream (data->collection, i);
+    GstStreamType stype = gst_stream_get_stream_type (stream);
+    if (stype == GST_STREAM_TYPE_VIDEO) {
+      videos[nb_video] = stream;
+      nb_video += 1;
+    } else if (stype == GST_STREAM_TYPE_AUDIO) {
+      audios[nb_audio] = stream;
+      nb_audio += 1;
+    } else if (stype == GST_STREAM_TYPE_TEXT) {
+      texts[nb_text] = stream;
+      nb_text += 1;
+    }
+  }
+
+  if (nb_video) {
+    data->current_video = (data->current_video + 1) % nb_video;
+    streams =
+        g_list_append (streams,
+        (gchar *) gst_stream_get_stream_id (videos[data->current_video]));
+    g_print ("  Selecting video channel #%d : %s\n", data->current_video,
+        gst_stream_get_stream_id (videos[data->current_video]));
+  }
+  if (nb_audio) {
+    data->current_audio = (data->current_audio + 1) % nb_audio;
+    streams =
+        g_list_append (streams,
+        (gchar *) gst_stream_get_stream_id (audios[data->current_audio]));
+    g_print ("  Selecting audio channel #%d : %s\n", data->current_audio,
+        gst_stream_get_stream_id (audios[data->current_audio]));
+  }
+  if (nb_text) {
+    data->current_text = (data->current_text + 1) % nb_text;
+    streams =
+        g_list_append (streams,
+        (gchar *) gst_stream_get_stream_id (texts[data->current_text]));
+    g_print ("  Selecting text channel #%d : %s\n", data->current_text,
+        gst_stream_get_stream_id (texts[data->current_text]));
+  }
+
+  ev = gst_event_new_select_streams (streams);
+  gst_element_send_event (data->pipeline, ev);
+
+  return G_SOURCE_CONTINUE;
+}
+
+static void
+stream_notify_cb (GstStreamCollection * collection, GstStream * stream,
+    GParamSpec * pspec, guint * val)
+{
+  g_print ("Got stream-notify from stream %s for %s (collection %p)\n",
+      stream->stream_id, pspec->name, collection);
+  if (g_str_equal (pspec->name, "caps")) {
+    GstCaps *caps = gst_stream_get_caps (stream);
+    gchar *caps_str = gst_caps_to_string (caps);
+    g_print (" New caps: %s\n", caps_str);
+    g_free (caps_str);
+    gst_caps_unref (caps);
+  }
+}
+
+static GstBusSyncReply
+_on_bus_message (GstBus * bus, GstMessage * message, MyDataStruct * data)
+{
+  GstObject *src = GST_MESSAGE_SRC (message);
+  switch (GST_MESSAGE_TYPE (message)) {
+    case GST_MESSAGE_ERROR:{
+      GError *err = NULL;
+      gchar *name = gst_object_get_path_string (GST_MESSAGE_SRC (message));
+      gst_message_parse_error (message, &err, NULL);
+
+      g_printerr ("ERROR: from element %s: %s\n", name, err->message);
+      g_error_free (err);
+      g_free (name);
+
+      g_printf ("Stopping\n");
+      g_main_loop_quit (data->mainloop);
+      break;
+    }
+    case GST_MESSAGE_EOS:
+      g_printf ("EOS ! Stopping \n");
+      g_main_loop_quit (data->mainloop);
+      break;
+    case GST_MESSAGE_STREAM_COLLECTION:
+    {
+      GstStreamCollection *collection = NULL;
+      gst_message_parse_stream_collection (message, &collection);
+      if (collection) {
+        g_printf ("Got a collection from %s:\n",
+            src ? GST_OBJECT_NAME (src) : "Unknown");
+        dump_collection (collection);
+        if (data->collection && data->notify_id) {
+          g_signal_handler_disconnect (data->collection, data->notify_id);
+          data->notify_id = 0;
+        }
+        gst_object_replace ((GstObject **) & data->collection,
+            (GstObject *) collection);
+        if (data->collection) {
+          data->notify_id =
+              g_signal_connect (data->collection, "stream-notify",
+              (GCallback) stream_notify_cb, data);
+        }
+        if (data->timeout_id == 0)
+          /* In 5s try to change streams */
+          data->timeout_id =
+              g_timeout_add_seconds (5, (GSourceFunc) switch_streams, data);
+      }
+      break;
+    }
+    default:
+      break;
+  }
+
+  return GST_BUS_PASS;
+}
+
+static void
+decodebin_pad_added_cb (GstElement * dbin, GstPad * pad, MyDataStruct * data)
+{
+  gchar *pad_name = gst_pad_get_name (pad);
+  const gchar *sink_pad = NULL;
+
+  GST_DEBUG_OBJECT (pad, "New pad ! Link to playsink !");
+  if (!g_ascii_strncasecmp (pad_name, "video_", 6))
+    sink_pad = "video_sink";
+  else if (!g_ascii_strncasecmp (pad_name, "audio_", 6))
+    sink_pad = "audio_sink";
+  else if (!g_ascii_strncasecmp (pad_name, "text_", 5))
+    sink_pad = "text_sink";
+  else
+    GST_WARNING_OBJECT (pad, "non audio/video/text pad");
+
+  g_free (pad_name);
+
+  if (sink_pad) {
+    GstPad *playsink_pad;
+
+    playsink_pad = gst_element_get_request_pad (data->playsink, sink_pad);
+    if (playsink_pad)
+      gst_pad_link (pad, playsink_pad);
+  }
+}
+
+int
+main (int argc, gchar ** argv)
+{
+  GError *error = NULL;
+  GstBus *bus;
+  MyDataStruct *data;
+  int i;
+
+  gst_init (&argc, &argv);
+
+  data = g_new0 (MyDataStruct, 1);
+
+  if (argc < 2) {
+    g_print ("Usage: decodebin3 URI\n");
+    return 1;
+  }
+
+  data->pipeline = gst_pipeline_new ("pipeline");
+  data->decodebin = gst_element_factory_make ("decodebin3", NULL);
+
+  data->src =
+      gst_element_make_from_uri (GST_URI_SRC, argv[1], "source", &error);
+  if (error) {
+    g_printf ("pipeline could not be constructed: %s\n", error->message);
+    g_error_free (error);
+    return 1;
+  }
+  data->playsink = gst_element_factory_make ("playsink", NULL);
+
+#if 0
+  {
+    GstElement *sink = gst_element_factory_make ("fakesink", NULL);
+    g_object_set (sink, "sync", FALSE, NULL);
+    g_object_set (data->playsink, "video-sink", sink, NULL);
+
+    sink = gst_element_factory_make ("fakesink", NULL);
+    g_object_set (sink, "sync", FALSE, NULL);
+    g_object_set (data->playsink, "audio-sink", sink, NULL);
+  }
+#endif
+
+  gst_bin_add_many ((GstBin *) data->pipeline, data->src, data->decodebin,
+      data->playsink, NULL);
+  if (!gst_element_link (data->src, (GstElement *) data->decodebin)) {
+    g_printf ("Could not link source to demuxer\n");
+    return 1;
+  }
+
+  /* Handle other inputs if specified */
+  if (argc > 2) {
+    for (i = 2; i < argc; i++) {
+      GstElement *new_src =
+          gst_element_make_from_uri (GST_URI_SRC, argv[i], NULL, &error);
+      GstPad *src_pad, *sink_pad;
+      if (error) {
+        g_printf ("pipeline could not be constructed: %s\n", error->message);
+        g_error_free (error);
+        return 1;
+      }
+      data->other_src = g_list_append (data->other_src, new_src);
+      gst_bin_add ((GstBin *) data->pipeline, new_src);
+      src_pad = gst_element_get_static_pad (new_src, "src");
+      sink_pad = gst_element_get_request_pad (data->decodebin, "sink_%u");
+      if (gst_pad_link (src_pad, sink_pad) != GST_PAD_LINK_OK) {
+        g_printf ("Could not link new source to decodebin : %s\n", argv[i]);
+        return 1;
+      }
+    }
+  }
+
+
+  g_signal_connect (data->decodebin, "pad-added",
+      (GCallback) decodebin_pad_added_cb, data);
+  data->mainloop = g_main_loop_new (NULL, FALSE);
+
+  /* Put a bus handler */
+  bus = gst_pipeline_get_bus (GST_PIPELINE (data->pipeline));
+  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) _on_bus_message, data,
+      NULL);
+
+  /* Start pipeline */
+  gst_element_set_state (data->pipeline, GST_STATE_PLAYING);
+  g_main_loop_run (data->mainloop);
+
+  gst_element_set_state (data->pipeline, GST_STATE_NULL);
+
+  gst_object_unref (data->pipeline);
+  gst_object_unref (bus);
+
+  return 0;
+}
diff --git a/tests/examples/decodebin_next/playbin-test.c b/tests/examples/decodebin_next/playbin-test.c
new file mode 100644
index 0000000..d8e9a88
--- /dev/null
+++ b/tests/examples/decodebin_next/playbin-test.c
@@ -0,0 +1,326 @@
+/* sample application for testing decodebin3 w/ playbin
+ *
+ * Copyright (C) 2015 Centricular Ltd
+ *  @author:  Edward Hervey <edward@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 <glib.h>
+#include <glib-object.h>
+#include <glib/gprintf.h>
+#include <gst/gst.h>
+
+/* Global structure */
+
+typedef struct _MyDataStruct
+{
+  GMainLoop *mainloop;
+  GstElement *pipeline;
+  GstBus *bus;
+
+  /* Current collection */
+  GstStreamCollection *collection;
+  guint notify_id;
+
+  guint current_audio;
+  guint current_video;
+  guint current_text;
+
+  glong timeout_id;
+} MyDataStruct;
+
+static void
+print_tag_foreach (const GstTagList * tags, const gchar * tag,
+    gpointer user_data)
+{
+  GValue val = { 0, };
+  gchar *str;
+  gint depth = GPOINTER_TO_INT (user_data);
+
+  if (!gst_tag_list_copy_value (&val, tags, tag))
+    return;
+
+  if (G_VALUE_HOLDS_STRING (&val))
+    str = g_value_dup_string (&val);
+  else
+    str = gst_value_serialize (&val);
+
+  g_print ("%*s%s: %s\n", 2 * depth, " ", gst_tag_get_nick (tag), str);
+  g_free (str);
+
+  g_value_unset (&val);
+}
+
+static void
+dump_collection (GstStreamCollection * collection)
+{
+  guint i;
+  const GstTagList *tags;
+  const GstCaps *caps;
+
+  for (i = 0; i < gst_stream_collection_get_size (collection); i++) {
+    GstStream *stream = gst_stream_collection_get_stream (collection, i);
+    g_print (" Stream %u type %s flags 0x%x\n", i,
+        gst_stream_type_get_name (gst_stream_get_stream_type (stream)),
+        gst_stream_get_stream_flags (stream));
+    g_print ("  ID: %s\n", gst_stream_get_stream_id (stream));
+
+    caps = gst_stream_get_caps (stream);
+    if (caps) {
+      gchar *caps_str = gst_caps_to_string (caps);
+      g_print ("  caps: %s\n", caps_str);
+      g_free (caps_str);
+    }
+
+    tags = gst_stream_get_tags (stream);
+    if (tags) {
+      g_print ("  tags:\n");
+      gst_tag_list_foreach (tags, print_tag_foreach, GUINT_TO_POINTER (3));
+    }
+  }
+}
+
+static gboolean
+switch_streams (MyDataStruct * data)
+{
+  guint i, nb_streams;
+  gint nb_video = 0, nb_audio = 0, nb_text = 0;
+  GstStream *videos[256], *audios[256], *texts[256];
+  GList *streams = NULL;
+  GstEvent *ev;
+
+  g_print ("Switching Streams...\n");
+
+  /* Calculate the number of streams of each type */
+  nb_streams = gst_stream_collection_get_size (data->collection);
+  for (i = 0; i < nb_streams; i++) {
+    GstStream *stream = gst_stream_collection_get_stream (data->collection, i);
+    GstStreamType stype = gst_stream_get_stream_type (stream);
+    if (stype == GST_STREAM_TYPE_VIDEO) {
+      videos[nb_video] = stream;
+      nb_video += 1;
+    } else if (stype == GST_STREAM_TYPE_AUDIO) {
+      audios[nb_audio] = stream;
+      nb_audio += 1;
+    } else if (stype == GST_STREAM_TYPE_TEXT) {
+      texts[nb_text] = stream;
+      nb_text += 1;
+    }
+  }
+
+  if (nb_video) {
+    data->current_video = (data->current_video + 1) % nb_video;
+    streams =
+        g_list_append (streams,
+        (gchar *) gst_stream_get_stream_id (videos[data->current_video]));
+    g_print ("  Selecting video channel #%d : %s\n", data->current_video,
+        gst_stream_get_stream_id (videos[data->current_video]));
+  }
+  if (nb_audio) {
+    data->current_audio = (data->current_audio + 1) % nb_audio;
+    streams =
+        g_list_append (streams,
+        (gchar *) gst_stream_get_stream_id (audios[data->current_audio]));
+    g_print ("  Selecting audio channel #%d : %s\n", data->current_audio,
+        gst_stream_get_stream_id (audios[data->current_audio]));
+  }
+  if (nb_text) {
+    data->current_text = (data->current_text + 1) % nb_text;
+    streams =
+        g_list_append (streams,
+        (gchar *) gst_stream_get_stream_id (texts[data->current_text]));
+    g_print ("  Selecting text channel #%d : %s\n", data->current_text,
+        gst_stream_get_stream_id (texts[data->current_text]));
+  }
+
+  ev = gst_event_new_select_streams (streams);
+  gst_element_send_event (data->pipeline, ev);
+
+  return G_SOURCE_CONTINUE;
+}
+
+static void
+stream_notify_cb (GstStreamCollection * collection, GstStream * stream,
+    GParamSpec * pspec, guint * val)
+{
+  g_print ("Got stream-notify from stream %s for %s (collection %p)\n",
+      stream->stream_id, pspec->name, collection);
+  if (g_str_equal (pspec->name, "caps")) {
+    GstCaps *caps = gst_stream_get_caps (stream);
+    gchar *caps_str = gst_caps_to_string (caps);
+    g_print (" New caps: %s\n", caps_str);
+    g_free (caps_str);
+    gst_caps_unref (caps);
+  }
+}
+
+static GstBusSyncReply
+_on_bus_message (GstBus * bus, GstMessage * message, MyDataStruct * data)
+{
+  GstObject *src = GST_MESSAGE_SRC (message);
+  switch (GST_MESSAGE_TYPE (message)) {
+    case GST_MESSAGE_ERROR:{
+      GError *err = NULL;
+      gchar *name = gst_object_get_path_string (GST_MESSAGE_SRC (message));
+      gst_message_parse_error (message, &err, NULL);
+
+      g_printerr ("ERROR: from element %s: %s\n", name, err->message);
+      g_error_free (err);
+      g_free (name);
+
+      g_printf ("Stopping\n");
+      g_main_loop_quit (data->mainloop);
+      break;
+    }
+    case GST_MESSAGE_EOS:
+      g_printf ("EOS ! Stopping \n");
+      g_main_loop_quit (data->mainloop);
+      break;
+    case GST_MESSAGE_STREAM_COLLECTION:
+    {
+      GstStreamCollection *collection = NULL;
+      gst_message_parse_stream_collection (message, &collection);
+      if (collection) {
+        g_printf ("Got a collection from %s:\n",
+            src ? GST_OBJECT_NAME (src) : "Unknown");
+        dump_collection (collection);
+        if (data->collection && data->notify_id) {
+          g_signal_handler_disconnect (data->collection, data->notify_id);
+          data->notify_id = 0;
+        }
+        gst_object_replace ((GstObject **) & data->collection,
+            (GstObject *) collection);
+        if (data->collection) {
+          data->notify_id =
+              g_signal_connect (data->collection, "stream-notify",
+              (GCallback) stream_notify_cb, data);
+        }
+        if (data->timeout_id == 0)
+          /* In 5s try to change streams */
+          data->timeout_id =
+              g_timeout_add_seconds (5, (GSourceFunc) switch_streams, data);
+      }
+      break;
+    }
+    case GST_MESSAGE_STREAMS_SELECTED:
+    {
+      GstStreamCollection *collection = NULL;
+      gst_message_parse_streams_selected (message, &collection);
+      if (collection) {
+        guint i, len;
+        g_printf ("Got a STREAMS_SELECTED message from %s (seqnum:%"
+            G_GUINT32_FORMAT "):\n", src ? GST_OBJECT_NAME (src) : "unknown",
+            GST_MESSAGE_SEQNUM (message));
+        len = gst_message_streams_selected_get_size (message);
+        for (i = 0; i < len; i++) {
+          GstStream *stream =
+              gst_message_streams_selected_get_stream (message, i);
+          g_printf ("  Stream #%d : %s\n", i,
+              gst_stream_get_stream_id (stream));
+          gst_object_unref (stream);
+        }
+        gst_object_unref (collection);
+      }
+    }
+    default:
+      break;
+  }
+
+  return GST_BUS_PASS;
+}
+
+static gchar *
+cmdline_to_uri (const gchar * arg)
+{
+  if (gst_uri_is_valid (arg))
+    return g_strdup (arg);
+
+  return gst_filename_to_uri (arg, NULL);
+}
+
+int
+main (int argc, gchar ** argv)
+{
+  GstBus *bus;
+  MyDataStruct *data;
+  gchar *uri;
+
+  gst_init (&argc, &argv);
+
+  data = g_new0 (MyDataStruct, 1);
+
+  uri = cmdline_to_uri (argv[1]);
+
+  if (argc < 2 || uri == NULL) {
+    g_print ("Usage: %s URI\n", argv[0]);
+    return 1;
+  }
+
+  data->pipeline = gst_element_factory_make ("playbin3", NULL);
+  if (data->pipeline == NULL) {
+    g_printerr ("Failed to create playbin element. Aborting");
+    return 1;
+  }
+
+  g_object_set (data->pipeline, "uri", uri, "auto-select-streams", FALSE, NULL);
+  g_free (uri);
+
+#if 0
+  {
+    GstElement *sink = gst_element_factory_make ("fakesink", NULL);
+    g_object_set (sink, "sync", FALSE, NULL);
+    g_object_set (data->pipeline, "video-sink", sink, NULL);
+
+    sink = gst_element_factory_make ("fakesink", NULL);
+    g_object_set (sink, "sync", FALSE, NULL);
+    g_object_set (data->pipeline, "audio-sink", sink, NULL);
+  }
+#endif
+
+  /* Handle other input if specified */
+  if (argc > 2) {
+    uri = cmdline_to_uri (argv[2]);
+    if (uri != NULL) {
+      g_object_set (data->pipeline, "suburi", uri, NULL);
+      g_free (uri);
+    } else {
+      g_warning ("Could not parse auxilliary file argument. Ignoring");
+    }
+  }
+
+  data->mainloop = g_main_loop_new (NULL, FALSE);
+
+  /* Put a bus handler */
+  bus = gst_pipeline_get_bus (GST_PIPELINE (data->pipeline));
+  gst_bus_set_sync_handler (bus, (GstBusSyncHandler) _on_bus_message, data,
+      NULL);
+
+  /* Start pipeline */
+  gst_element_set_state (data->pipeline, GST_STATE_PLAYING);
+  g_main_loop_run (data->mainloop);
+
+  gst_element_set_state (data->pipeline, GST_STATE_NULL);
+
+  gst_object_unref (data->pipeline);
+  gst_object_unref (bus);
+
+  return 0;
+}
diff --git a/tests/icles/Makefile.am b/tests/icles/Makefile.am
index f479bb7..f489cd4 100644
--- a/tests/icles/Makefile.am
+++ b/tests/icles/Makefile.am
@@ -88,6 +88,10 @@
 test_scale_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
 test_scale_LDADD = $(GST_LIBS) $(LIBM)
 
+test_resample_SOURCES = test-resample.c
+test_resample_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
+test_resample_LDADD = $(GST_LIBS) $(LIBM)
+
 test_box_SOURCES = test-box.c
 test_box_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
 test_box_LDADD = $(GST_LIBS) $(LIBM)
@@ -98,4 +102,5 @@
 
 noinst_PROGRAMS = $(X_TESTS) $(PANGO_TESTS) \
 	audio-trickplay playbin-text position-formats stress-playbin \
-	test-scale test-box test-effect-switch test-overlay-blending test-reverseplay
+	test-scale test-box test-effect-switch test-overlay-blending test-reverseplay \
+	test-resample
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index 6aef428..80a1dac 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -95,7 +95,7 @@
 	position-formats$(EXEEXT) stress-playbin$(EXEEXT) \
 	test-scale$(EXEEXT) test-box$(EXEEXT) \
 	test-effect-switch$(EXEEXT) test-overlay-blending$(EXEEXT) \
-	test-reverseplay$(EXEEXT)
+	test-reverseplay$(EXEEXT) test-resample$(EXEEXT)
 subdir = tests/icles
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -245,6 +245,13 @@
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(test_overlay_blending_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
+am_test_resample_OBJECTS = test_resample-test-resample.$(OBJEXT)
+test_resample_OBJECTS = $(am_test_resample_OBJECTS)
+test_resample_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
+test_resample_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_resample_CFLAGS) \
+	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am_test_reverseplay_OBJECTS =  \
 	test_reverseplay-test-reverseplay.$(OBJEXT)
 test_reverseplay_OBJECTS = $(am_test_reverseplay_OBJECTS)
@@ -321,9 +328,9 @@
 	$(position_formats_SOURCES) $(stress_playbin_SOURCES) \
 	$(stress_videooverlay_SOURCES) $(test_box_SOURCES) \
 	$(test_colorkey_SOURCES) $(test_effect_switch_SOURCES) \
-	$(test_overlay_blending_SOURCES) $(test_reverseplay_SOURCES) \
-	$(test_scale_SOURCES) $(test_textoverlay_SOURCES) \
-	$(test_videooverlay_SOURCES)
+	$(test_overlay_blending_SOURCES) $(test_resample_SOURCES) \
+	$(test_reverseplay_SOURCES) $(test_scale_SOURCES) \
+	$(test_textoverlay_SOURCES) $(test_videooverlay_SOURCES)
 DIST_SOURCES = $(audio_trickplay_SOURCES) \
 	$(am__input_selector_test_SOURCES_DIST) \
 	$(am__output_selector_test_SOURCES_DIST) \
@@ -332,8 +339,8 @@
 	$(am__stress_videooverlay_SOURCES_DIST) $(test_box_SOURCES) \
 	$(am__test_colorkey_SOURCES_DIST) \
 	$(test_effect_switch_SOURCES) $(test_overlay_blending_SOURCES) \
-	$(test_reverseplay_SOURCES) $(test_scale_SOURCES) \
-	$(am__test_textoverlay_SOURCES_DIST) \
+	$(test_resample_SOURCES) $(test_reverseplay_SOURCES) \
+	$(test_scale_SOURCES) $(am__test_textoverlay_SOURCES_DIST) \
 	$(am__test_videooverlay_SOURCES_DIST)
 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
 	ctags-recursive dvi-recursive html-recursive info-recursive \
@@ -765,6 +772,9 @@
 test_scale_SOURCES = test-scale.c
 test_scale_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
 test_scale_LDADD = $(GST_LIBS) $(LIBM)
+test_resample_SOURCES = test-resample.c
+test_resample_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
+test_resample_LDADD = $(GST_LIBS) $(LIBM)
 test_box_SOURCES = test-box.c
 test_box_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
 test_box_LDADD = $(GST_LIBS) $(LIBM)
@@ -858,6 +868,10 @@
 	@rm -f test-overlay-blending$(EXEEXT)
 	$(AM_V_CCLD)$(test_overlay_blending_LINK) $(test_overlay_blending_OBJECTS) $(test_overlay_blending_LDADD) $(LIBS)
 
+test-resample$(EXEEXT): $(test_resample_OBJECTS) $(test_resample_DEPENDENCIES) $(EXTRA_test_resample_DEPENDENCIES) 
+	@rm -f test-resample$(EXEEXT)
+	$(AM_V_CCLD)$(test_resample_LINK) $(test_resample_OBJECTS) $(test_resample_LDADD) $(LIBS)
+
 test-reverseplay$(EXEEXT): $(test_reverseplay_OBJECTS) $(test_reverseplay_DEPENDENCIES) $(EXTRA_test_reverseplay_DEPENDENCIES) 
 	@rm -f test-reverseplay$(EXEEXT)
 	$(AM_V_CCLD)$(test_reverseplay_LINK) $(test_reverseplay_OBJECTS) $(test_reverseplay_LDADD) $(LIBS)
@@ -891,6 +905,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_colorkey-test-colorkey.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_effect_switch-test-effect-switch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_overlay_blending-test-overlay-blending.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_resample-test-resample.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_reverseplay-test-reverseplay.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_scale-test-scale.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_textoverlay-test-textoverlay.Po@am__quote@
@@ -1074,6 +1089,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_overlay_blending_CFLAGS) $(CFLAGS) -c -o test_overlay_blending-test-overlay-blending.obj `if test -f 'test-overlay-blending.c'; then $(CYGPATH_W) 'test-overlay-blending.c'; else $(CYGPATH_W) '$(srcdir)/test-overlay-blending.c'; fi`
 
+test_resample-test-resample.o: test-resample.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_resample_CFLAGS) $(CFLAGS) -MT test_resample-test-resample.o -MD -MP -MF $(DEPDIR)/test_resample-test-resample.Tpo -c -o test_resample-test-resample.o `test -f 'test-resample.c' || echo '$(srcdir)/'`test-resample.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_resample-test-resample.Tpo $(DEPDIR)/test_resample-test-resample.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test-resample.c' object='test_resample-test-resample.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_resample_CFLAGS) $(CFLAGS) -c -o test_resample-test-resample.o `test -f 'test-resample.c' || echo '$(srcdir)/'`test-resample.c
+
+test_resample-test-resample.obj: test-resample.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_resample_CFLAGS) $(CFLAGS) -MT test_resample-test-resample.obj -MD -MP -MF $(DEPDIR)/test_resample-test-resample.Tpo -c -o test_resample-test-resample.obj `if test -f 'test-resample.c'; then $(CYGPATH_W) 'test-resample.c'; else $(CYGPATH_W) '$(srcdir)/test-resample.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_resample-test-resample.Tpo $(DEPDIR)/test_resample-test-resample.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test-resample.c' object='test_resample-test-resample.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_resample_CFLAGS) $(CFLAGS) -c -o test_resample-test-resample.obj `if test -f 'test-resample.c'; then $(CYGPATH_W) 'test-resample.c'; else $(CYGPATH_W) '$(srcdir)/test-resample.c'; fi`
+
 test_reverseplay-test-reverseplay.o: test-reverseplay.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_reverseplay_CFLAGS) $(CFLAGS) -MT test_reverseplay-test-reverseplay.o -MD -MP -MF $(DEPDIR)/test_reverseplay-test-reverseplay.Tpo -c -o test_reverseplay-test-reverseplay.o `test -f 'test-reverseplay.c' || echo '$(srcdir)/'`test-reverseplay.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/test_reverseplay-test-reverseplay.Tpo $(DEPDIR)/test_reverseplay-test-reverseplay.Po
diff --git a/tests/icles/test-resample.c b/tests/icles/test-resample.c
new file mode 100644
index 0000000..a956125
--- /dev/null
+++ b/tests/icles/test-resample.c
@@ -0,0 +1,123 @@
+/* GStreamer interactive audioresample test
+ * Copyright (C) 2016 Wim Taymans <wim.taymans@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdlib.h>
+
+#include <gst/gst.h>
+
+static GstElement *
+make_pipeline (gint type)
+{
+  GstElement *result;
+  gchar *pstr;
+
+  switch (type) {
+    case 0:
+      pstr = g_strdup_printf ("audiotestsrc ! audio/x-raw,rate=44100 ! "
+          " audioresample ! capsfilter name=filter ! capssetter caps="
+          "audio/x-raw,rate=44100 ! wavenc ! filesink location=test.wav");
+      break;
+    default:
+      return NULL;
+  }
+
+  result = gst_parse_launch_full (pstr, NULL, GST_PARSE_FLAG_NONE, NULL);
+  g_print ("created test %d: \"%s\"\n", type, pstr);
+  g_free (pstr);
+
+  return result;
+}
+
+typedef struct
+{
+  gint rate;
+  GstElement *filter;
+} Data;
+
+static GstPadProbeReturn
+have_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  Data *data = user_data;
+  gchar *capsstr;
+  GstCaps *caps;
+
+  g_print ("resample to %d   \r", data->rate);
+
+  capsstr = g_strdup_printf ("audio/x-raw, rate=(int)%d", data->rate);
+  caps = gst_caps_from_string (capsstr);
+  g_free (capsstr);
+  g_object_set (data->filter, "caps", caps, NULL);
+  gst_caps_unref (caps);
+
+  data->rate += 100;
+
+  if (data->rate > 128000)
+    gst_element_post_message (data->filter,
+        gst_message_new_application (GST_OBJECT (data->filter),
+            gst_structure_new_empty ("my-message")));
+
+  return GST_PAD_PROBE_OK;
+}
+
+int
+main (int argc, char **argv)
+{
+  GstElement *pipe;
+  GstMessage *message;
+  GstPad *srcpad;
+  Data data;
+
+  gst_init (&argc, &argv);
+
+  pipe = make_pipeline (0);
+  if (pipe == NULL)
+    return -1;
+
+  data.rate = 1000;
+  data.filter = gst_bin_get_by_name (GST_BIN (pipe), "filter");
+  g_assert (data.filter);
+
+  srcpad = gst_element_get_static_pad (data.filter, "src");
+  gst_pad_add_probe (srcpad, GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM, have_probe,
+      &data, NULL);
+  gst_object_unref (srcpad);
+
+  gst_element_set_state (pipe, GST_STATE_PLAYING);
+
+  while (TRUE) {
+    message =
+        gst_bus_poll (GST_ELEMENT_BUS (pipe),
+        GST_MESSAGE_ERROR | GST_MESSAGE_APPLICATION, 50 * GST_MSECOND);
+    if (message) {
+      g_print ("got error           \n");
+
+      gst_message_unref (message);
+      break;
+    }
+  }
+  gst_object_unref (data.filter);
+  gst_element_set_state (pipe, GST_STATE_NULL);
+  gst_object_unref (pipe);
+
+  return 0;
+}
diff --git a/tools/gst-play.c b/tools/gst-play.c
index 6a70f0e..4204d55 100644
--- a/tools/gst-play.c
+++ b/tools/gst-play.c
@@ -1289,5 +1289,6 @@
   g_free (video_sink);
 
   g_print ("\n");
+  gst_deinit ();
   return 0;
 }
diff --git a/win32/common/_stdint.h b/win32/common/_stdint.h
index f13ce94..818955d 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.8.2"
-/* generated using gnu compiler gcc (Debian 5.4.0-3) 5.4.0 20160603 */
+#define _GENERATED_STDINT_H "gst-plugins-base 1.9.1"
+/* generated using gnu compiler gcc-6 (Debian 6.1.1-8) 6.1.1 20160630 */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
diff --git a/win32/common/audio-enumtypes.c b/win32/common/audio-enumtypes.c
index 853929c..5c95483 100644
--- a/win32/common/audio-enumtypes.c
+++ b/win32/common/audio-enumtypes.c
@@ -10,6 +10,7 @@
 #include "audio-converter.h"
 #include "audio-info.h"
 #include "audio-quantize.h"
+#include "audio-resampler.h"
 #include "gstaudioringbuffer.h"
 
 /* enumerations from "audio-format.h" */
@@ -343,6 +344,98 @@
   return g_define_type_id__volatile;
 }
 
+/* enumerations from "audio-resampler.h" */
+GType
+gst_audio_resampler_filter_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_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED,
+          "GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED", "interpolated"},
+      {GST_AUDIO_RESAMPLER_FILTER_MODE_FULL,
+          "GST_AUDIO_RESAMPLER_FILTER_MODE_FULL", "full"},
+      {GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO,
+          "GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO", "auto"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstAudioResamplerFilterMode", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_audio_resampler_filter_interpolation_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_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE,
+          "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE", "none"},
+      {GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR,
+          "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR", "linear"},
+      {GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC,
+          "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC", "cubic"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstAudioResamplerFilterInterpolation", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_audio_resampler_method_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_AUDIO_RESAMPLER_METHOD_NEAREST, "GST_AUDIO_RESAMPLER_METHOD_NEAREST",
+          "nearest"},
+      {GST_AUDIO_RESAMPLER_METHOD_LINEAR, "GST_AUDIO_RESAMPLER_METHOD_LINEAR",
+          "linear"},
+      {GST_AUDIO_RESAMPLER_METHOD_CUBIC, "GST_AUDIO_RESAMPLER_METHOD_CUBIC",
+          "cubic"},
+      {GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL,
+          "GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL", "blackman-nuttall"},
+      {GST_AUDIO_RESAMPLER_METHOD_KAISER, "GST_AUDIO_RESAMPLER_METHOD_KAISER",
+          "kaiser"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_enum_register_static ("GstAudioResamplerMethod", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
+GType
+gst_audio_resampler_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_AUDIO_RESAMPLER_FLAG_NONE, "GST_AUDIO_RESAMPLER_FLAG_NONE", "none"},
+      {GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN,
+            "GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN",
+          "non-interleaved-in"},
+      {GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT,
+            "GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT",
+          "non-interleaved-out"},
+      {GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE,
+          "GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE", "variable-rate"},
+      {0, NULL, NULL}
+    };
+    GType g_define_type_id =
+        g_flags_register_static ("GstAudioResamplerFlags", values);
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+  return g_define_type_id__volatile;
+}
+
 /* enumerations from "gstaudioringbuffer.h" */
 GType
 gst_audio_ring_buffer_state_get_type (void)
diff --git a/win32/common/audio-enumtypes.h b/win32/common/audio-enumtypes.h
index 7d03861..f529f49 100644
--- a/win32/common/audio-enumtypes.h
+++ b/win32/common/audio-enumtypes.h
@@ -42,6 +42,16 @@
 GType gst_audio_quantize_flags_get_type (void);
 #define GST_TYPE_AUDIO_QUANTIZE_FLAGS (gst_audio_quantize_flags_get_type())
 
+/* enumerations from "audio-resampler.h" */
+GType gst_audio_resampler_filter_mode_get_type (void);
+#define GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE (gst_audio_resampler_filter_mode_get_type())
+GType gst_audio_resampler_filter_interpolation_get_type (void);
+#define GST_TYPE_AUDIO_RESAMPLER_FILTER_INTERPOLATION (gst_audio_resampler_filter_interpolation_get_type())
+GType gst_audio_resampler_method_get_type (void);
+#define GST_TYPE_AUDIO_RESAMPLER_METHOD (gst_audio_resampler_method_get_type())
+GType gst_audio_resampler_flags_get_type (void);
+#define GST_TYPE_AUDIO_RESAMPLER_FLAGS (gst_audio_resampler_flags_get_type())
+
 /* enumerations from "gstaudioringbuffer.h" */
 GType gst_audio_ring_buffer_state_get_type (void);
 #define GST_TYPE_AUDIO_RING_BUFFER_STATE (gst_audio_ring_buffer_state_get_type())
diff --git a/win32/common/config.h b/win32/common/config.h
index ff16824..9f6b6aa 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -90,7 +90,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2016-06-09"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-06-06"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -251,6 +251,9 @@
 /* Define if RDTSC is available */
 #undef HAVE_RDTSC
 
+/* Define to 1 if you have the <smmintrin.h> header file. */
+#undef HAVE_SMMINTRIN_H
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
@@ -339,7 +342,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.8.2"
+#define PACKAGE_STRING "GStreamer Base Plug-ins 1.9.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-base"
@@ -348,7 +351,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.8.2"
+#define PACKAGE_VERSION "1.9.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -382,7 +385,7 @@
 #undef USE_TREMOLO
 
 /* Version number of package */
-#define VERSION "1.8.2"
+#define VERSION "1.9.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/libgstapp.def b/win32/common/libgstapp.def
index de8fdb4..de99f19 100644
--- a/win32/common/libgstapp.def
+++ b/win32/common/libgstapp.def
@@ -17,6 +17,7 @@
 	gst_app_src_end_of_stream
 	gst_app_src_get_caps
 	gst_app_src_get_current_level_bytes
+	gst_app_src_get_duration
 	gst_app_src_get_emit_signals
 	gst_app_src_get_latency
 	gst_app_src_get_max_bytes
@@ -27,6 +28,7 @@
 	gst_app_src_push_sample
 	gst_app_src_set_callbacks
 	gst_app_src_set_caps
+	gst_app_src_set_duration
 	gst_app_src_set_emit_signals
 	gst_app_src_set_latency
 	gst_app_src_set_max_bytes
diff --git a/win32/common/libgstaudio.def b/win32/common/libgstaudio.def
index d0b7f44..fa39be3 100644
--- a/win32/common/libgstaudio.def
+++ b/win32/common/libgstaudio.def
@@ -36,6 +36,7 @@
 	gst_audio_channel_position_get_type
 	gst_audio_channel_positions_from_mask
 	gst_audio_channel_positions_to_mask
+	gst_audio_channel_positions_to_string
 	gst_audio_channel_positions_to_valid_order
 	gst_audio_check_valid_channel_positions
 	gst_audio_clipping_meta_api_get_type
@@ -75,6 +76,7 @@
 	gst_audio_decoder_merge_tags
 	gst_audio_decoder_negotiate
 	gst_audio_decoder_proxy_getcaps
+	gst_audio_decoder_set_allocation_caps
 	gst_audio_decoder_set_drainable
 	gst_audio_decoder_set_estimate_rate
 	gst_audio_decoder_set_latency
@@ -108,6 +110,7 @@
 	gst_audio_encoder_merge_tags
 	gst_audio_encoder_negotiate
 	gst_audio_encoder_proxy_getcaps
+	gst_audio_encoder_set_allocation_caps
 	gst_audio_encoder_set_drainable
 	gst_audio_encoder_set_frame_max
 	gst_audio_encoder_set_frame_samples_max
@@ -154,6 +157,19 @@
 	gst_audio_quantize_reset
 	gst_audio_quantize_samples
 	gst_audio_reorder_channels
+	gst_audio_resampler_filter_interpolation_get_type
+	gst_audio_resampler_filter_mode_get_type
+	gst_audio_resampler_flags_get_type
+	gst_audio_resampler_free
+	gst_audio_resampler_get_in_frames
+	gst_audio_resampler_get_max_latency
+	gst_audio_resampler_get_out_frames
+	gst_audio_resampler_method_get_type
+	gst_audio_resampler_new
+	gst_audio_resampler_options_set_quality
+	gst_audio_resampler_resample
+	gst_audio_resampler_reset
+	gst_audio_resampler_update
 	gst_audio_ring_buffer_acquire
 	gst_audio_ring_buffer_activate
 	gst_audio_ring_buffer_advance
diff --git a/win32/common/libgstpbutils.def b/win32/common/libgstpbutils.def
index 785bfb4..302b6cb 100644
--- a/win32/common/libgstpbutils.def
+++ b/win32/common/libgstpbutils.def
@@ -2,9 +2,11 @@
 	gst_audio_visualizer_get_type
 	gst_audio_visualizer_shader_get_type
 	gst_codec_utils_aac_caps_set_level_and_profile
+	gst_codec_utils_aac_get_channels
 	gst_codec_utils_aac_get_index_from_sample_rate
 	gst_codec_utils_aac_get_level
 	gst_codec_utils_aac_get_profile
+	gst_codec_utils_aac_get_sample_rate
 	gst_codec_utils_aac_get_sample_rate_from_index
 	gst_codec_utils_h264_caps_set_level_and_profile
 	gst_codec_utils_h264_get_level
diff --git a/win32/common/libgstrtp.def b/win32/common/libgstrtp.def
index 52f654f..137ccf5 100644
--- a/win32/common/libgstrtp.def
+++ b/win32/common/libgstrtp.def
@@ -12,7 +12,17 @@
 	gst_rtcp_buffer_validate_data_reduced
 	gst_rtcp_buffer_validate_reduced
 	gst_rtcp_ntp_to_unix
+	gst_rtcp_packet_add_profile_specific_ext
 	gst_rtcp_packet_add_rb
+	gst_rtcp_packet_app_get_data
+	gst_rtcp_packet_app_get_data_length
+	gst_rtcp_packet_app_get_name
+	gst_rtcp_packet_app_get_ssrc
+	gst_rtcp_packet_app_get_subtype
+	gst_rtcp_packet_app_set_data_length
+	gst_rtcp_packet_app_set_name
+	gst_rtcp_packet_app_set_ssrc
+	gst_rtcp_packet_app_set_subtype
 	gst_rtcp_packet_bye_add_ssrc
 	gst_rtcp_packet_bye_add_ssrcs
 	gst_rtcp_packet_bye_get_nth_ssrc
@@ -20,6 +30,7 @@
 	gst_rtcp_packet_bye_get_reason_len
 	gst_rtcp_packet_bye_get_ssrc_count
 	gst_rtcp_packet_bye_set_reason
+	gst_rtcp_packet_copy_profile_specific_ext
 	gst_rtcp_packet_fb_get_fci
 	gst_rtcp_packet_fb_get_fci_length
 	gst_rtcp_packet_fb_get_media_ssrc
@@ -32,6 +43,8 @@
 	gst_rtcp_packet_get_count
 	gst_rtcp_packet_get_length
 	gst_rtcp_packet_get_padding
+	gst_rtcp_packet_get_profile_specific_ext
+	gst_rtcp_packet_get_profile_specific_ext_length
 	gst_rtcp_packet_get_rb
 	gst_rtcp_packet_get_rb_count
 	gst_rtcp_packet_get_type
diff --git a/win32/common/video-enumtypes.c b/win32/common/video-enumtypes.c
index bade190..d7bb6fe 100644
--- a/win32/common/video-enumtypes.c
+++ b/win32/common/video-enumtypes.c
@@ -86,6 +86,9 @@
       {GST_VIDEO_FORMAT_A444_10BE, "GST_VIDEO_FORMAT_A444_10BE", "a444-10be"},
       {GST_VIDEO_FORMAT_A444_10LE, "GST_VIDEO_FORMAT_A444_10LE", "a444-10le"},
       {GST_VIDEO_FORMAT_NV61, "GST_VIDEO_FORMAT_NV61", "nv61"},
+      {GST_VIDEO_FORMAT_P010_10BE, "GST_VIDEO_FORMAT_P010_10BE", "p010-10be"},
+      {GST_VIDEO_FORMAT_P010_10LE, "GST_VIDEO_FORMAT_P010_10LE", "p010-10le"},
+      {GST_VIDEO_FORMAT_IYU2, "GST_VIDEO_FORMAT_IYU2", "iyu2"},
       {0, NULL, NULL}
     };
     GType g_define_type_id = g_enum_register_static ("GstVideoFormat", values);
@@ -798,12 +801,14 @@
 {
   static volatile gsize g_define_type_id__volatile = 0;
   if (g_once_init_enter (&g_define_type_id__volatile)) {
-    static const GEnumValue values[] = {
+    static const GFlagsValue values[] = {
       {GST_VIDEO_RESAMPLER_FLAG_NONE, "GST_VIDEO_RESAMPLER_FLAG_NONE", "none"},
+      {GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS, "GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS",
+          "half-taps"},
       {0, NULL, NULL}
     };
     GType g_define_type_id =
-        g_enum_register_static ("GstVideoResamplerFlags", values);
+        g_flags_register_static ("GstVideoResamplerFlags", values);
     g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
   }
   return g_define_type_id__volatile;
